Emulating this pin, which on the face of it appears trivial, is somewhat of a problem. Although you can emulate the pin going high at the end of the display and going low during display (as ADFFS does currently), game code won't see the low event as its not executing during the frame blit.
The blitter currently blits the full frame in one go, triggering a virtualized T0/T1 IRQ if either pass zero at the end of a raster. This is sufficient for all (that I've seen at any rate) games that palette swap and is very CPU efficient. This isn't remotely close to what happens on a physical Arc through, as VIDC works in parallel to ARM.
A solution would be to blit one raster, then allow code to continue executing until it's time to plot the next raster, more closely emulating the hardware. As there's no Timer API, I can't currently implement the required IRQ code.
Something to revisit if/when a suitable API is added to RISCOS.
Discuss VIDC, translation to VIDC20 and emulation of VIDC
1 post • Page 1 of 1
Who is online
Users browsing this forum: No registered users and 1 guest