VERA interrupts? (hblank, vblank)

remz

New Member
Sep 16, 2019
2
0
1
Hello 8-bit guy,

One thing I remember that made the 8-bit and 16-bit machines "fun" was doing video tricks. This however imposes a very tightly coupled game code in relation with the screen refresh rate. The Amiga was the probably the culminant example with its dedicated Copper chip. But most of Commodore 64 and console games also had to do it.

Does the X16 have some sort of horizontal blank interrupt that would allow changing things like:
- the X screen offset (for screen waving effect)
- the Y screen offset (for doing fixed score panel, or split-screen, "water mirror effect", etc.)
- changing the palette (for color rainbow or to get more color on the screen)
- sprite attributes (for allowing infinite number of sprites, or doing tricks like vertical stretching and more)
- on-the-fly resolution/screen mode changing (allowing multiple screens on the same frame, like on the Amiga)

Similarly, is the video memory accessible during the actual screen rendering? This, combined with a vertical blank interrupt, would allow changing video parameters without flicker, double-buffering, etc.

Rem
 

Panda

New Member
Yes, there are interrupts.

What systems allowed an infinite number of sprites?

Some of those tricks are unnecessary.
You have a 256 colour customizable palette. Why do you need more colour?
You have 2 layers so can do split screen, one moving layer and one fixed, one graphics and one text.
 

remz

New Member
Sep 16, 2019
2
0
1
Hi Panda,
What systems allowed an infinite number of sprites?
I may have exaggerated slightly; I meant like on the Atari, C64, Amiga, the sprites definition could be altered per scanline to make very tall sprites (i.e.: up to the full height of the screen if needed) or reuse a sprite to make it appear multiple times, etc. For interesting examples, see here: https://codetapper.com/amiga/sprite-tricks/)

Some of those tricks are unnecessary.
You have a 256 colour customizable palette. Why do you need more colour?
You have 2 layers so can do split screen, one moving layer and one fixed, one graphics and one text.
I don't completely agree: While more hardware features is nice, doing things with tricks is always much more fun and challenging.
256 colours is a very expensive screen depth, and even then you may want to have a background rainbow using a single palette. Or make shiny texts with a metallic gradient, etc. The palette on X16 is 4096 colors, a lot more that 256. Having access to tricks might not be necessary, but it would make the platform even more compelling.

I feel that it is a bit like comparing a PC with a EGA display card versus a Commodore 64. The PC is much more powerful and can display more colors. But the C64 with clever interrupt tricks can actually make games that looks more impressive and is why there is such an active demo scene. The PC was almighty but generic and boring.
(Note: the VGA adapter however might seem rigid and not spectacular when used with a single 320x200x8-bit display, like 95% of the software that used it. But when programmers started to discover the true power behind "VGA mode X" with double-buffering, pixel perfect scrolling, square pixel ratio, fast pixel fill and copy, copper-like palette, etc., demos such as Second Reality became a ..reality. http://www.pouet.net/prod.php?which=63).

Where I agree with this project is the decision to make the hardware understandable by the widest audience by being easy to use.