Robotic Liberation, released at Assembly 2003, is still my finest show-off regarding what can be made with an unexpanded VIC-20 (and a standard disk drive). The demo is designed around an apocalyptic concept similar to that in Robotic Warrior and contains refined versions of many of the ideas introduced in my earlier work.
Unlike its prequel, however, Robotic Liberation is not an illustrated story but rather like a music video inviting robots into a battle against humanity. You are free to interpret it as having an anti-fascist and/or techno-sceptical message. Also the graphics and effects are much more abundant than in the prequel.
The voice synthesizer in Robotic Liberation is used to sing out the soundtrack song, just like in Robotic Warrior. The sound player, however, has been somewhat improved, showing off some newly discovered capabilities of the audio hardware (called "viznut waveforms" by Aleksi Eeben of CNCD). The discovery of a totally unknown and undocumented hardware feature in a vintage machine was somewhat surprising, but it clearly demonstrates how a very simple device can keep some of its secrets for decades.
Earlier in the summer, I had written a dedicated VIC-20 graphics editor, Brickshop, with which all of the still pictures in the demo have been drawn. Two of the pictures were made by CCR and the rest by me. Brickshop is something between a character editor and a bitmap editor, making it possible to reuse the 8x8-bit character blocks quite easily. The three "global" video colors can be defined separately for each scanline.
Robotic Liberation was my first trackmo, using a custom trackloader to continuously stream new material from the disk while running. It proved to be quite an enormous effort to get all the required code and data in the RAM so that they were usable by the points of time when they were needed. I spent a considerable amount of time searching and rearranging unused and soon-to-be-freed portions of memory.
Despite continuous loading, Robotic Liberation is no larger than about 17 kilobytes. It could fit in the memory of a 16K-expanded VIC-20 all at once, and it has actually even been run in such a way. However, there is currently no RAM-based version available in public.
Links: