06-18-2020, 11:30 PM
(06-18-2020, 12:25 PM)shicky256 Wrote: The TLCS-900/H has multiple timer peripherals, one with an external clock input. On the NGPC, this is clocked by the horizontal sync counter. If you tell it to fire an interrupt when the timer is at a certain value, you can manipulate the scroll position register to artificially induce screen tearing. None of the "multiple scrolling background planes" actually overlap each other on the y axis so this produces the illusion of more layers than there are. See my code for more information.
It sounds very intriguing. I'm working exclusively in C in my NGPC platformer development, and have very little knowledge of asm. I'll have to see if I can make sense of your code. I would be interested in getting a method like this to work in the C framework.
If I'm understanding the method correctly, you've actually got a full scroll plane drawn, divided into a few horizontal sections that are then torn at the seam and overlapped on top of each other. Normally the entire scroll plane would move as a single unit, but you can make use of interrupts to move segments of it separately.