Sometime around Christmas my parents bought an Apple IIe Enhanced with ColorMonitor IIe, DuoDrive double 5.25” floppy drive, and a Brother daisy-wheel printer. My mother used it with AppleWorks to write for school (she was attending UMSL for a Masters in English). Of course it also meant I could play with it.
I brought home from my uncle’s place some magazines with source code to type in, and at some point got the Beagle Brothers book which really changed my life. It was joyful and silly and included whimsical code samples that were just fun to understand, not only games or real software. Many of them involved POKE and PEEK commands that made me curious about the layer below BASIC and so I got a copy of Paul Irwin’s Apple Programmer’s Handbook which taught me machine code, assembly, and the secrets of the ROM firmware.
Some fun I/O hacks led my curiousity to hardware, and after playing with the open DIP socket, I started putting LEDs on the motherboard simply to confirm my understanding. Sometimes this required some simple soldering, my parents would have been mortified if they’d ever caught me.
Mom worked at Flo Valley in the writing lab, and the guys who ran the computer lab would sometimes babysit me while she worked. Their version of babysitting was to introduce me to software cracking; one of them was the author of a very popular low-level disk duplication program. At first I just used the tools they introduced me to to make copies of games and utilities I couldn’t afford. Raised in a Southern-oriented family, I used an ASCII art Confederate flag and “The Rebel” as my signature. As the arms race between pirates and copy protection methods advanced, I progressed in techniques and found myself “debugging” the Disk II firmware.
That machine code is the lowest level of software. Today is generated automatically, usually more than one layer removed from a human programmer. But these primitive systems were hand-crafted, and following an execution thread through such code feels intimate. You appreciate cleverness and get a sense of personality from the author.
The Disk II was created by Steve Wozniak himself and after a few years teaching myself by hacking his system I felt like I knew him.