Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Platformer demo
(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.
See thread for hbl (horizontal interrupt) with C code.
(06-19-2020, 01:55 AM)sodthor Wrote: See thread for hbl (horizontal interrupt) with C code.

Thanks!  I have some hblank effects up and running in my game now.
I'm still learning what's possible.

Does segmenting and overlapping the plane using hblank not transfer transparency? I was hoping it did, but it seems to be taking the background color with it for me and overwriting what's behind it, which will limit what can be done in the layering. Is it necessary to stick to more solid colors and have each segment have a BG color that matches the layer behind it?

Thinking on it more, I guess it's not about overlapping, but just segmenting for horizontal scrolling?

Forum Jump:

Users browsing this thread: 1 Guest(s)