viznut's amazing discoveries

[2007-04-04]

Robotic Emulation

Maybe I'm just trying to compensate the regrettable fact that I'm not going to attend Breakpoint, but I finally took the time to create an emulator-compatible version of my greatest VIC-20 achievement, Robotic Liberation.

[Robotic Liberation logo] [Robotic Liberation cubes]

While the original demo is a trackmo for the unexpanded machine, this version is a single-load executable for a 16K/24K-expanded machine. Therefore, it may also come handy for those who have a real PAL VIC-20 without a disk drive but with memory expansion.

Execution in VICE 1.19 has relatively little flaws on the visual side (only some extra stripes in the cubes), however the speech synthesis comes out too loud. This is because VICE still assumes a too high base voltage for the audio output. Maybe I should aid them in fixing the code some day.

Download the PRG file here. And don't even try to run this in emulators other than VICE, they suck.

Of course, you can also watch the good old poor-quality YouTube video with desynced sound:

(There's also a higher-quality video in Google Video, and this file can also be downloaded.)

So, why didn't the demo work in emulators in the first place? The reason was, surprisingly, a piece of code called "emulator detection", that killed the show even before it had started.

Originally, the detector was only supposed to deliver a warning message regarding the poor sound emulation in VICE, but due to a bug, the functionality changed into a total breakup. I don't use emulators in development, so I didn't know about this bug until it was too late. When I heard about the problem, I thought it was still OK, because it wouldn't take long until the emulators catch up. I was wrong, however. There were no new demos using data bus transparency tricks for effects, and therefore no need to improve the emulation on that part.