Project Dasher for the Commodore 64

I've been having soooo much fun with my Floppy Fridays that I couldn't resist trying my hand at developing some code for the Commodore 64. It meant dusting off my BASIC skills – and even dipping into some Assembler for some of the more advanced effects – but I think the results are worth it.

After some months of behind-the-scenes effort, I can proudly unveil my (and Autodesk Research's) first project for the C64. Although I found out last week that John Walker – Autodesk's founder and former CEO – also developed a number of programs for the C64 back when he was exploring its capabilities in the late 1980s. Ah well, we were only about 30 years late to the party. 😛

Anyway, without further ado, here it is. I give you… Project Dasher for the Commodore 64!

This preview video probably raises a bunch of questions about the project. The current Project Dasher is clearly highly dependent on connectivity to allow it to access 3D models and sensor data. While it's possible to connect a C64 to the interwebs – you can do so via a 64NIC+ Ethernet card – it's not very common, seeing as the commercialisation of the C64 happened a decade or so before the Internet became much of a thing. So we decided to support network access of data but also a mode where you can store sensor data on a series of floppy disks.

Once a project has been configured properly you can load the model from a single floppy (or at least a small number of pre-defined views, as loading a full BIM in memory on the C64 wasn't practical) and then as the user hovers over an area of interest (such as a sensor dot) the program will ask the user to insert a particular floppy disk that's been indexed as containing the relevant time-series data.

Storage capacity is clearly an issue: with only 170kB per floppy, we really didn't want to force someone to use 10s or 100s of floppies per sensor. So along with adopting some highly innovative encoding schemes, we've defaulted to highly coarse data out of necessity. So expect the data to get a little pixelated, as you zoom in, but then anyone still using a C64 is used to seeing pixels. 😉

We're also aware of the fact that many C64 users don't use a mouse: that's why we've made sure you can move the cursor around and perform the most important functions using your favourite joystick.

If you're interested in giving this a try, please post a comment or send me an email and I'll send you a .d64 file that you can write to a physical floppy or load directly into an emulator such as VICE. Some work is still needed, but it's enough to get a sense of the program's direction.

If this proves popular, I'm hopeful it will inspire some of our product teams to invest in similar porting efforts. With roughly 12.5 million C64s sold, that seems a pretty significant market with what I expect to be a highly loyal user-base. Who's interested?

6 responses to “Project Dasher for the Commodore 64”

  1. Stephen Preston Avatar
    Stephen Preston

    Excellent work Kean. Perhaps for your next project you could port to the BBC Micro. That way you can reduce the pressure on graphics memory by using 'Mode 7' Teletext graphics. (And Teletext might be a good way to transmit live sensor data).

    1. Please include the brand new C64 Starlink SDK featuring blast V.90 Modem at 42,000 Bits/Sec. communication API integrated with Starlink satellite orbit network. Dasher C64 will be able to generate extremely high-res heat maps in 8x8 pixels chunks at stunning 16 colors. Future is right at the corner.

    2. Kean Walmsley Avatar

      Oooh, Teletext!!!

  2. You fool! You know that only a TRS-80 would support TCP/IP. C64 only supported xmodem.

    1. Kean Walmsley Avatar

      There's a lot I don't know, for sure. But you can browse the web with a C64, these days (if you put your mind to it)!

      A TRS-80 might give me better networking, but the graphics? (I grew up coding on a Model III and then a Model IV... I never did get a Color Computer, mind.)

      1. You go me there, the graphics on the c64 are indeed much superior to the TRS-80. I grew up on the Model III, then moved to a PC soon after.

        I sure don't miss renumbering my code to put something in the middle I forgot! :). Humm I wonder if python would work on the old TRS-80s. Off to google something.

Leave a Reply to Stephen Preston Cancel reply

Your email address will not be published. Required fields are marked *