Getting back to work with a new RetroChallenge

It’s been pretty quiet around here for a few months, but the time has come for the RetroChallenge Winter Warmup – and that seems like as good a time as any to clear out the cobwebs and get back to work.

I went 8-bit for the last RetroChallenge, but this time I’m going to go a little more modern and do some Commodore Amiga programming. I’d like to do some simple vector graphics, and maybe make a little game if I get far enough & can make it run fast enough. Lots of Amiga demos, and even a few games like Armour-Geddon, do 3D graphics on the original Amiga, so it should be at least remotely possible.

I haven’t done any Amiga programming in nearly 20 years, so I’m going to be pretty much starting from scratch. I’m also going to write this in C instead of assembly. I did a tiny bit of 68000 assembly language in college around 1992, but I’m going to save that as a last resort.

I have quite a bit of 3d graphics experience, but usually using high-level scene graph libraries, and lower-level libraries like OpenGL that handle most of the work. None of that here! I’ll have to do all the math for 3D transformations myself. I can do a lot of that from memory, but there are definitely challenges involved.

For convenience, I’m going to be splitting my time between real hardware (a vintage Amiga 500) and the WinUAE emulator. I’ve got a real physical copy of Aztec C 5.2 from back in the day, along with a couple of the RKRMs (ROM Kernel Reference Manuals) to get me up to speed on Amiga programming. For 3D graphics reference, I’ve got a couple game programming books along with my college textbooks – if I can find them. I’m sure they’re around here somewhere.

The real machine is an A500P with Workbench 2.04 and a GVP-HD8+ with a 50 MB disk. 3 MB of RAM total. But it’s still running at the original 7.14 MHz, which will make this challenging. For the WinUAE VM, I cloned that disk with Cloanto’s Amiga Explorer software. I’m tempted to up the CPU speed in WinUAE so it’ll compile faster, but that feels like cheating.