Early Mac Dev: Lisa to Mac Plus

OVERVIEW

This commentary contains my recollections about developing third-party software for the Apple Macintosh computer from 1984 to 1986. It was written for the Macintosh's 20th anniversary celebrations in February 2004.

During this time, I worked for a small company in Wichita, Kansas called PPP Inc. (PPP or P³ = Programs for Professional People), which developed a new Macintosh stock market application named The Investor. The application, written in Lisa Pascal, contained around 50,000 lines of code. Another individual and I designed the program, and I implemented it.

The original Macintosh (called the "Macintosh 128" due to its 128K bytes of memory) provided a fascinating development and application environment that I enjoyed immensely. The Macintosh's rich ROM-based software toolbox (in a 64K-byte ROM), small footprint, and superbly clear screen display made it a wonderful platform.


SOFTWARE DEVELOPMENT USING THE LISA WORKSHOP ENVIRONMENT

Macintosh development in the early days (circa 1983–1985) was done using the Apple Lisa computer and its Lisa Workshop development environment.

  • I originally used a Lisa 2/5 model with:
    • 1MB RAM
    • Internal 400K 3.5" Sony floppy drive
    • External 5MB ProFile hard drive (yes, 5MB was considered large then)
  • Later, I used a Lisa 2/10 model with an additional 10MB internal Widget hard drive (total 15MB storage).

Key Tools in Lisa Workshop:

  • Command-line interface
  • Mouse-based editor
  • Pascal compiler
  • 68000 macro assembler
  • Object file linker
  • RMaker resource compiler
  • MacCom (Lisa-to-Macintosh communication utility)

Lisa Pascal compiled source files directly to Motorola 68000 object code. I never needed the 68000 assembler, as everything could be written in Lisa Pascal.

  • Macintosh resource files were created as text and compiled to binary using RMaker.
  • MacCom transferred programs by:
    1. Copying Lisa files to a Mac-formatted disk
    2. Combining data/resource forks into single documents on Mac floppies

Macintosh programming used "units" (Pascal libraries) implementing the Toolbox and OS APIs. These libraries came on Lisa Macintosh Supplement disks (3–4 supplements, each with ~6 disks). The disks included:

  • Utilities
  • Sample apps (e.g., Uriah Heap by Andy Hertzfeld, Edit, File by Cary Clark)

Note: Macintosh development was also possible on the Lisa 1, though I never used it. Without an internal floppy drive, programs were transmitted via serial connection using special utilities.

Some used the Lisa Monitor environment (Workshop's predecessor), but I preferred Workshop. The Monitor was command-line based with UCSD p-system structure. Some Apple developers (Bill Atkinson, Bruce Horn, Steve Capps) preferred it for faster compilation. I’ve seen Workshop references to "porkshop" in Apple source code—unfair, I think.

Around late 1984/1985, Apple released the Macintosh Development System (MDS) for the Macintosh 512K (the 128K couldn’t run MDS). It enabled 68000 assembly development on Mac, but I didn’t use it—I preferred Pascal and Lisa Workshop.

The Macintosh Plus (1986) was the last Mac whose system software was developed using Lisa Workshop and its 68000 assembler. Future Macs used Apple’s MPW environment.

The Lisa Workshop also supported a C compiler by 1985, but few used it for Mac development.


SOFTWARE DEVELOPMENT USING THE MACINTOSH MPW ENVIRONMENT

In late 1985/early 1986, I used a beta version of MPW (Macintosh Programmer’s Workshop), Apple’s successor to Lisa Workshop (discontinued after Lisa hardware ended in 1985).