Quote from: guest on 04/11/2012, 12:26 PMSo, is there a scanline timer interrupt or a relatively accessible method of duplicating the function of one within the PCE hardware? Specifically, it would be nice to have a fixed tile area at the top or bottom of the screen that doesn't use sprites that can accommodate a playfield that can scroll in any direction, despite the playfield and the status area being comprised of tiles.You've already got your answer, but contribute some more specifics.
See Super Mario Bros 3 on the NES for a perfect example of this.
Is this something the PCE can replicate without too much trouble?
Quote from: TurboXray on 04/11/2012, 10:36 PMI wrote a bunch of stuff for HuC (even some code for the executable too). Zeo took most of it, but it never got published afaik; SGX duplicates for all main video functions (sprite,tilemap,etc), arcade card access, some additional CD functions not on the list, some new hsync routines, long pointer access, etc. I had some of it up on my old site, but nothings posted anymore.Why didn't Zeo publish it?
QuoteWhy didn't Zeo publish it?'Dunno.
Quote from: cabbage on 04/12/2012, 02:20 AMHuC can do horizontal split-screen so easily, but I wish the screen could split into more than 4 segments... ie control individual scanlines--for making wavy raster effectsEven if you have such control, the array support for such effect will slow you down almost to a crawl. I ran into this problem many years ago with HuC and one of the solutions was to build in support for wavy effects directly into the hsync routine. But then the problem creeps in that more flexibility makes the routine more complicated and requires more space. Doing any sort of custom hsync routine to control all scanlines is fairly easy, but you got to get around the slow array access in HuC first. Later I just made backend ASM functions for array read/write, but it never looked as clean/nice as native C code. Arkhan has a work around for this, but I don't know if it's public.
Quote from: touko on 04/13/2012, 05:16 AMTom i'am interested by your lib (XAV is also interested) ,because my next project should be on SGX .wayback://pcedev.net/HuC/sgx_ac_lib_ver_1_2.zip (https://web.archive.org/web/20141028193809id_/http://www.pcedev.net/HuC/sgx_ac_lib_ver_1_2.zip) :)
And of course,manual is welcome ;-) .
Quote from: cabbage on 04/12/2012, 02:20 AMI'd love to dig through your old HuC stuff, Bonknuts. It sounds like you wrote some really useful stuff.Like this? pcedev.net/HuC/Chsync_ver_1_1/chsync_ver1_1.zip
HuC can do horizontal split-screen so easily, but I wish the screen could split into more than 4 segments... ie control individual scanlines--for making wavy raster effects
sin1_idx=old_idx1++;
sin2_idx=old_idx2++;
for(j=1;j<224;j++)
{ hs_x_l[j]=sin1[sin1_idx++]; hs_y_l[j]=sin1[sin2_idx++]+j; }
J is a char, although that won't matter much here if it was an int. It takes the above C code 217,729 cpu cycles to complete that loop! 11,200cycles VS 217,729cycles. Hell, a single 1/60 frame is only ~119,436cycles.