All that stuff (including source code!) is on my homepage (tempect.de/senil), just click on Games, there's more, like a powerpoint presentation on retrogaming running on a Nintendo Entertainment System or my first serious homebrew game, porting "Die Gemäuer von Kalawaum" (a Rogue-like) from Atari ST to Commodore PET because I was bored (that was back when I had time).
There's also another game for NES which if I mention which it is, I probably get sued by Nintendo. It's not a ROM hack even though it looks and plays like an official release (except for the title screen which sucks).
Videos are on my Youtube channel (SenilyDeluxe). There's more retrogaming/retrocomputing goodness (as well as tons of sillyness) on there, like the Wrectrex (if you like the Vectrex, you're gonna love that - before you cringe, both the Vectrex as well as the IBM 5151 monitor were unsalvagable otherwise)
The system's "power"... it makes the Atari 2600 look like a Sound and Graphics Workstation. The limitations the 2600 has per scan line, the VC4000 has for the entire screen, plus the CPU is too slow to copy data into sprite RAM (yes) to outrun the beam, so you have to unroll loops (which I did for the fake C64 intro screen in my Demo and the easter egg in Canabalt which is sort of the same). The 6502 has about twice the mips at the same clock speed and it doesn't help that the VC4000 is clocked at 0.88MHz.
Untapped potential: (the Demo uses pretty much all tricks the system has to offer, except multi color sprites which Flappy and Kaboom already use)
The video controller spec sheet says it can output the analog color outs at different brightness levels, allowing for more than 8 colors (or 15 if the foreground signal is used to intensify the colors which Interton did). It did not say how to set these levels. Me and a few others tried poking all the registers with no success, even though I had it happen twice that a game suddenly reduced the red color output until there was no more red and then ramp it back up after a while. From the number of steps observed, there must be three 3-bit levels for R,G,B and they affect the chip's output, so if you set red to zero, it also affects white, yellow and magenta. It happened on Car Races and I couldn't reproduce it, it happened out of the blue and quite slowly (about 2 steps per second). If anyone succeeds (and the register allows quick updates), there will be copper bars up the posterior.
If you set a yellow, magenta, cyan and white sprite on top of each other, you will be able to create a single 8 color sprite because sprites are ANDed on the color plane. Downside: This is now your only sprite. If you set a white background, you can omit the white sprite and use it for something else.
Also you can potentially have insane amounts of sprites on the screen as long as you don't care if they move consistently as the console doesn't have enough memory for that (Kaboom has a list of all the x-positions of all the bombs as well as a list of all the delta velocities of almost all the bombs - almost because I ran out of RAM and you don't care that a bomb stops moving horizontally after you clearly missed it) (uh oh... I just thought... I could put a check in, if a bomb flies out of the screen, flip the delta nybble to make it bounce off the border of the screen - luckily the raster time will almost certainly be insufficient - did I mention the CPU is SLOW?)
And while I'm busy to produce a Wall Of Text no one's gonna read, here's what to look out for with my Demo:
There's at least 3 versions of the VC4000 and the demo looks and sounds different on every variant.
- Earliest version cannot display Cyan, will display Turquoise (or Teal) instead, as well as only 8 colors. Makes the fake C64 loading screen look weird, makes the techtech scroller look slightly less remarkable. (also makes Flappy Bird a lot harder)
- The Grundig version can only display 8 colors. Makes the fake C64 loading screen look a bit weird, not much. Makes Canabalt unplayable (that's why the > button changes background color)
- The latest version has a different sound hardware. The bridge part right after the fake C64 load screen will not have the bass drum and the hi-hats on this, also the final part of the music will have weird clicks where the drums should have total silence. Also the envelope is WORSE (you wouldn't notice it has any if I didn't tell you - the earlier version's envelope is already pretty much useless already)
- I came upon a VC4000 which was absolutely identical to my development machine, but the sawtooth line on the scrolltext actually moved slowly, but not every time the demo is played. Looked cool though.
- I have no clue how the demo will run on non-VC4000 systems
By the way, the music's supposed to be Resistance D - Inexhaustability, a Techno track from 1994.