Game Programming Adventure on the Macintosh 512k: Part 1

At Farm Credit Services of America where I contract, someone, I believe it was our Chief Applications Officer/SVP, brought in a good ol' Macintosh 512k (produced 1984-1986). For the first week, every time I'd walk by it, it made me smile, with that nastalgia of programming the 1980s computers I started out on -- Laser 128EX and Amiga 1000. A couple of times someone booted it up, and a few of us huddled around it in geeky admiration. I knew I just had to resurrect my BASIC game programming skills; it was [80s movie echo effect] DESTINY destiny (destiny).

It took some research to get started: find the model number on the machine, understand all of the Apple computer models from the 80s, find the version of the OS (System 5), finding an emulator, the ROM, OS disk image, etc. Did you know that Microsoft's bootstrapping product was Microsoft BASIC? It was released for several OSs. My very first programming was with Applesoft BASIC, a dialect of MS BASIC, and then used a version of MS BASIC on the Amiga 1000 (a much more advanced version). After Microsoft BASIC 3.0 came QuickBasic 1.0, which combined the interpreter environment and the compiler into a single product. QuickBASIC is what I ended up using for this most bodacious endeavor.

Probably the biggest overall challenge that I could find no reference for Microsoft BASIC for Mac, none. I only found reference for versions for PC, and of course my own original copy of documentation for Amiga BASIC. Both of those varied widely in their available commands from the version for Mac (as I could quickly tell from Syntax Errors). Nevertheless, especially from my combined experience with Amiga BASIC and QBASIC, and just knowing the capabilities of the different computers, I was able to find my way around, and as a result I finished the game last Saturday, with some finishing touches Sunday evening, like score keeping and sound effects. I'll include the (emulated) finished product on this very page soon!

In the next part, I'll detail the process enough that you could do the same if you're so fortunate to have access to a Macintosh 512k.