Week One: Assembling the Development Environment

I've been away from Apple IIGS development since about 1992, I'd say. And even then, I was at a severe disadvantage as these things go. I had a single un-accelerated computer with 1.25 megabytes of RAM and a copy of Merlin 16+ on an 800k floppy disk, and no financial means to attain either mass storage or complete documentation. Under these circumstances then, it is not unforgiveable that my efforts tended towards lame little FTA-wannabe Toolbox-free demonstrations, showing my ability to write about 200 lines of absolute-position Merlin code that did something vaguely interesting by applying techniques more suitable for the IIe.

About two weeks ago, I began reading nearly all of the documentation for the IIGS (and most of that is freely available in PDF format, particularly at the French site in my links list, don't worry, there's a ton of English-language stuff there). It quickly became apparent to me (after a decade of professional software development) that most things could be done in C, and with the help of the Toolbox (and should be), and only the blazinfast speed-sensitive things need be done in assembly, and even those should be position-independent OMF libraries.

There are a fair number of choices of development environments for the IIGS, even today. You can develop on GS hardware, emulated GS hardware, Mac OS 9, or even UNIX. You can use ORCA, APW, MPW, Merlin, LISA816, or even more esoteric 65816 cross-assemblers. After weighing all of these on their merits (and surveying the resources I have available here), I decided to run MPW with the IIgs targetting tools on a PowerMac 6500 running Mac OS 9, for my development computer. Testing would be done on emulated GS hardware as well as actual GS hardware.

Putting this development environment together is somewhat challenging. Fortunately, I've amassed most of the documentation, as well as the PowerMac 6500 running MPW under Mac OS 9. I also have an extensive hard drive image (courtesy of old pals online) that runs great in KEGS. What I don't have, is an Apple IIGS.


Le Machine

I've ordered parts from eBay, and this is what my IIGS system is shaping up to be:

- ROM 03 logic board with "prototype" (341-0728/341-0749) buggy ROMs (I couldn't resist the rarity and I knew I could count on people to burn a set of "proper" ROMs if the bugs ever bit me)

- Woz Limited Edition case (not like that's hard to come by, but it adds flair, no?)

- CV Technologies RAM card with 4MB RAM, and a fully-populated Apple IIGS Memory Expansion Card piggybacked, for a total of 6MB, including the 1 meg on the logic board

- IIgs Turbo IDE Controller and 256M GS/OS formatted CF card from GSE-Reactive

- One 3.5" floppy drive

- NO AppleColor RGB monitor; CRTs are strictly forbidden in my office. Will start with composite signal to Dell 2405FPW composite input; Will eventually upgrade to horizontal scan doubler to get more accurate signal into the 2405FPW's SVGA port

- NO ADB keyboard and mouse; Using Belkin F1D080 ADB to PS/2 adapter, with roll-up plastic USB/PS2 keyboard and Microsoft optical Intellimouse

I'll photograph this setup as parts arrive. As it is, it will already run circles around my original IIGS, and if I can find an accelerator, I'll probably get that as well.

(Fun fact: if you're a digg.com reader, you may recall the recent story about the Apple IIGS That Sold For $668.18. Well guess what, I'm the guy who bid $658.16 and got outbid, thus producing that price. It had a ZipGS, a Video Overlay Card, and even a Second Sight, for cryin out loud)


Things I Don't Have, But Need

I don't have these books, because they're not readily available in PDF:

- IIGS Toolbox Reference Volumes 1-3

- GS/OS Reference

... every other IIGS reference of note, I have in book or PDF form, and probably have mostly read in the past couple of weeks.

My development toolchain is also incomplete, I need licenses and manuals for:


- ORCA/M for MPW

- APDA IIgs assembler/compilers for MPW

(fortunately Syndicomm sells all of this stuff pretty cheap, considering)

So the remainder is only a modest expense, and then we can get on with the actual development. I have a couple strong concept ideas that might actually serve a need within the year-2007 IIGS community, but we'll talk more about them later. First, I'm going to keep reading, playing with the emulators, and waiting for pieces to arrive. Every day I continue to be amazed at what I did not know about this machine. Bystanders are encouraged to contribute source code, game ideas (particularly for games that could run well under the Generic Tile Engine), or anything else for me to study in the next one or two weeks till I come up to full speed on this. I'm already able to write simple GS/OS applications with a toolbar and such, and I'm getting better every day, but every single thing I can read at this point, helps a ton.