C64 Demo: Success!
A while back I bought an Arduino and got the uno2iec thing working for some titles, I loaded a handful of games, played it until my hands got sore from the terrible 1980s joysticks, and left it.
But having recently discovered loads of 6502-nerds on Mastodon, one particular post caught my attention: someone uploaded a .PRG of a demo they made to celebrate 200 followers, and said that it “should run on PAL C64s”, and I realized that I could quite likely test this… as long as it doesn’t try and do anything fancy with the 1541 that is.
It took a bit, as
uno2iec’s Qt driver application doesn’t read PRGs, so I had to install VICE to get the necessary utility to convert it to a D64 image, and naturally because Arch Linux that meant a full package upgrade of everything including the kitchen sink (which trickle in at about 1Mbps for some reason). But I got there in the end, and using the
c1541 program I was able to write the image out, successfully load it into
uno2iec, and run it on my C64. Sweet!
But this got me thinking, mine weren’t nearly as neat as some of the shit folks are doing (no sound to start with), but I have some ancient demos I wrote a very long time ago. Indeed, per git it was 8 years ago… still relatively recent in the C64 timeline. Surely I can load one of these up? An additional problem: I only have the 6502 ASM sources, no binaries.
Installed TMPx, and:
[fwaggle@MacBookPro2011 c64-toys]$ ../TMPx_v1.1.0-STYLE/linux-x86_64/tmpx -i spritebounce.asm -o ../build-rpi2iec-Desktop-Debug/debug/fwaggle.prg TMPx v1.1.0 [r1141; 2015-08-13 08:11:32]; (c) Style 2008-2015 Assembled: $0801 - $20bf / Writing 6337/$18c1 bytes incl load address Ranges: $0801 - $080d $1000 - $1225 $2000 - $20bf
Now write it into a D64 image:
[fwaggle@MacBookPro2011 debug]$ c1541 -format fwaggle,aa d64 fwaggle.d64 -attach fwaggle.d64 -write fwaggle.prg fwaggledemo formatting in unit 8 ... writing file `FWAGGLE.PRG' as `FWAGGLEDEMO' to unit 8
uno2iec program, mount the image…
LOAD"*",8 and a
RUN later and wahey! There’s my code, running for the first time ever on a real Commodore 64! (I had previously only run this code in VICE).
This is a bit of a pain, so it’d be nice if I could find or build a ROM cart that let me dump PRGs into cartridge memory and trigger a reset of the machine for rapid development… but that’s probably going to be a project if it’s even possible.