“Toggle-plexing” Sprites on the Commodore 64 (2019)
kodiak64.com
kodiak64.com
I never saw C64 games do that much, but Atari games did. Adventure being a good example - it effectively only has 2 "sprites" but flickers when more than 2 are in the frame. An infamous example would be the Pac-man ghosts, flickering 1 ghost across 4 frames and looking overall terrible (this is on top of all the other problems Atari Pac-man had).
At least a few NES games made extensive use of this. The bullets in Contra flicker for this reason I believe. I think 1990 Batman and Return of the Joker also did this for the full screen to provide an illusion of two mixing backgrounds.
A modern flat LCD panel has a much faster response time for the individual pixels, making the effect seem harsher even when the software works correctly. Complicating matters, many emulators of older game systems struggle to push out exactly 60 Hz (sometimes on purpose, to correctly simulate the original hardware's non-60 Hz timings) which can introduce additional artifacts and make the result look messy.
Wikipedia[0] confirms that the response time for a CRT was 0.01ms on the top end and could be less than 1 µs; typical LCD panels have response times between 1-8ms.
I could definitely perceive a 30-Hz flicker as such on an ordinary CRT television. You may be confusing that with the fact that thin 1-pixel lines of alternating colors tended to smear into blended colors on a CRT in games like Sonic the Hedgehog because the chroma channel of a composite signal was of lower resolution than the video hardware's output.
[0] https://en.wikipedia.org/wiki/Comparison_of_CRT,_LCD,_Plasma...
Interestingly it was the best selling Atari 2600 game of all time. https://www.youtube.com/watch?v=HL2p2ANFlQ4
No.. it speaks of setting sprite 0 to a new position on the screen midway-through a field. So you can use sprite 0 for a plane at the top and scenery in the middle and for text at the bottom.
> which will flicker.
No flickering involved, except for the "afterburner" variant of this.
> > is setting one sprite to two different positions on alternating frames to provide the illusion of two separate objects, which will flicker.
Which is not something described here.
Two things are described:
* Multiplexing sprites by changing their position mid-screen (no flicker).
* Animating sprites by toggling between sprite variants on alternate frames (and -not- changing their position). (Flicker only to the extent -desired-).
And I said:
> No flickering involved, except for the "afterburner" variant of this.
The 3 bytes of bitmap data are loaded into a small buffer that is used up as the sprite is displayed and the buffer isn’t reloaded until the next scanline.
Even though it’s difficult to control, the cpu can manipulate the VIC during the scanline which is how you can turn off the side borders. But you can’t horizontally multiplex the sprites, that’s a limitation of the VIC chip.
You can actually get 9 sprites on a raster line, but only in a very specific configuration.
This absolutely blew my nerd mind when I saw it.
The famous English saying.... "Death, Taxes and 8 sprites per raster" no longer holds true.
Fair point, but also quite bold for a ZX Spectrum fan to say something about graphics ;)
Of the three main 8-bit machines, the Amstrad CPC wins that round hands down : https://imgur.com/a/D7Ocd
brings back memories.