Copilot: Design and Development

Greg Hewgill · 1998

Discovering the Pilot My first encounter with a Pilot was when I saw one on a coworker’s desk sometime in June 1996. He described it to me as “just like a Newton, only smaller.” He showed me the basics of the Graffiti writing style and handed me the Pilot and the Graffiti reference card. I was hooked. A few days later I purchased a Pilot 5000 from a local retailer and, being a software developer, I started looking for information on how to write my own programs for this little gem. I was encouraged by the amount of developer information on the Pilot web site, but I couldn’t find the Windows tools. All I found was the Metrowerks CodeWarrior for Pilot package, which only ran on the Macintosh. I didn’t have a Macintosh. So I bought the only thing that worked with Windows: The Conduit Software Development Kit for Windows. (I still haven’t tried to actually write a conduit.) Fortunately, there was at least one other developer out there who had a Pilot but no Macintosh. Darrin Massena ([email protected]) had a Web site (www.massena.com/darrin/pilot/) and wrote a piece of software best described as a “discovery tool.” PilotHack is its name; it’s a monitor for computers where operating systems are optional. PilotHack shows you every single byte of the RAM and ROM in hex and ASCII. It still resides on my Pilot today. Darrin managed to put together some small Pilot applications using Microsoft’s Visual C++ 4.0 Cross-Development Edition for Macintosh. With a serious amount of tweaking, the compiler generated application images that the Pilot loaded. He also put together PILA, the PILot Assembler. PILA ran on Windows and created Pilot application images from 68000 assembly code. Finally, Darrin wrote the article “Writing Pilot Applications Under Windows,” which described what a state-of-the-art Windows SDK for Pilot would look like. This SDK included an editor, a compiler, an assembler, a resource editor, a linker, project management, a debugger, an emulator, samples, OS header files, documentation, on-line help, and a Windows-based IDE to integrate all the pieces together. Realizing that it was not possible for a single developer to do all this, he put out a call to other developers for support. When I read Darrin’s list, I couldn’t help but be drawn toward the emulator project. After all, I had some experience with emulators (I had written an Apple ][+ emulator in the past), I knew some 68000 assembly language, and the potential hack value if the project was successful was just too great to pass up.

Read the paper · More papers on PaperTik