C64 Demo, No C64

Never underestimate the ingenuity of the demoscene. The self-imposed limitations lead to incredible creativity, and, the range of devices they manage to get their demos running on never ceases to amaze us. But we never thought we’d see a C64 demo without one central component: the C64.

Full disclosure: [Matthias Kramm]’s demo, called “Freespin”, does need a C64 to get started. The venerable 6502-based computer runs a loader program on a 1541 disk drive.  But from then on, it’s all floppy drive. And [Matthias] has laid bare all his tricks.

The video below shows the demo in full, including a heart-stopping on-camera cable mod. By adding a single 100 Ω resistor, [Matthias] turned the serial clock and data lines into a two-bit digital-to-analog converter, good enough to generate signals for both black and white pixels and the sync pulses needed for the display.

No demo would be complete without sound, and Freespin’s tunes come from controlling the drive’s stepper motor, like a one-voice Floppotron.

Watching nothing but a floppy drive run a cool demo is pretty amazing. Yes, we know there’s a full-fledged computer inside the floppy, but the bit-banging needed to make this work was still mighty impressive. It might be cool to see what you could do with multiple drives, but we understand the minimalistic aesthetic as well. And speaking of tiny little demos:  the 256 bytes of [HellMood]’s “Memories” or [Linus Åkesson]’s “A Mind is Born” still leave us speechless.

[Richy Freeway] wrote in with this one. Thanks!

24 thoughts on “C64 Demo, No C64

    1. Interesting that the cutting of the cable didn’t reset the drive… (big chance that the reset line briefly connected to ground) but who cares if that part was correct or not.
      The fact that the demo works is much more interesting and the concept of using the serial lines for video output is rather fun. A perfect way to demonstrate the functionality of the drive. I really like it, thanks for posting!

      1. The 1541 also only has 2kb of RAM (not all that usable) and has to do the screen updates in realtime (racing the beam – just like an Atari 2600). Oh, and do music with the motor while/between loading new demo parts.

        1. Weren’t there RAM upgrades around at the time ?
          To make room for some of the more sophisticated third party floppy firmwares ?

          Anyway, I always were joking that the 1541 is more capable than the C64 itself.
          How ironic that this was (in some ways) true. :)

          1. Yes, many RAM upgrades (some commercial like the RAMBoard, some custom hacks – most for the original 1541). You could actually bring the drive up to a full 64k, though you couldn’t use all the RAM. I think the maximum USABLE in the drive was either 32k or 48k if I remember correctly.

  1. Makes you think how wasteful we are with modern hardware when complaining our modern computers with their GBs of ram and multicore 2+GHz CPUs are running ‘a bit slow’

    1. A somewhat ironic statement considering that Commodore used the equivalent of the main computer (6502 CPU, memory, and even a dedicated operating system) just to run the disk drive. You could say that a C64 with a disk drive was a dual processor system except an entire processor was “wasted” on the disk drive.

    2. Agreed. E. g. Windows 10: 30 GB on disk, 2.7 GB of RAM on startup (!!). Frameworks upon frameworks wasting CPU cycles even on the simplest operations. That is what insanity looks like.

  2. Breathtaking work! This is akin to a demo game (“Barnstormer”) Bill Mensch did at MOS to prove to Chuck Peddled that the VIA chip was capable of being used as as video graphics generator. Read about it in Brian Bagnal’s books about Commodore, or the Computer History Museum oral history video with Bill.

  3. The next level would be hooking up three 1541 drives in a way they can synchronize then using each one to drive a single input to an RGB monitor for full color and 3 voice sound.

  4. Not only he butchers the cable for show (completely unnecessary), but in the docs also suggests harvesting resistor from within C64. Blasphemy!

    I was aware of ATmegas pushing composite video data through port pins, it just never occured to me to consider if this is feasible on 1MHz CPU. Making this work with 2KB of RAM in 1541 makes it very impressive.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.