Scali
Veteran Member
On EGA and the Paradise PVGA1A, and maybe others, display start is latched at the falling edge, and PEL panning is NOT LATCHED AT ALL. PEL panning can be updated while visible scanlines are put out and the change is seen immediately (or at scanline start).
Yes, this is EXACTLY what you want. Most other systems work like that as well, such as C64 and Amiga.
This allows you to do clever Tech Tech effects and if combined with display start updates, you can also use it for bitmap zooming/planar texturemapping etc.
The trick is to have multiple pre-scaled bitmaps, eg at 16 pixel intervals. The 'inbetween' scaling is done by adjusting the scroll register a few times per scanline, so you skip some pixels.
Basically the latching is in the way of all kinds of cool effects. But with the trick that reenigne developed for 8088 MPH, we may be able to get around it. He figured out that you can create frames of 2 scanlines high, with no vblank at all, so you can 'stack' them... 100 of these frames construct an image of 200 scanlines high. This allows you to set a new display start every 2 scanlines.
On EGA/VGA it should even be possible at every scanline, because the 2-scanline thing is a 6845 limitation with the even and odd bitplanes (it only supports 127 rows, because it was never meant for graphics, only text).