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
Run the 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.