When the Apple II was first introduced in April 1977, it couldn’t do very much because there were few applications written for it. It was important to include some kind of programming language, so users—mostly hobbyists—could write their own programs. BASIC, designed for teaching introductory programming by two Dartmouth professors in the 1960s, became the language of choice for early microcomputers due to its interactivity, simplicity, and ease of use.
The Role of BASIC in Early Apple Computers
The Apple II included Integer BASIC, a custom interpreter written from scratch by Steve Wozniak. Stored in 5K bytes of ROM on the motherboard, it reflected Wozniak’s idiosyncratic brilliance—nearly as innovative as his hardware design. Additionally, Microsoft’s Applesoft BASIC was provided on cassette tape. Applesoft eventually replaced Integer BASIC in ROM with the Apple II Plus, primarily because it included floating-point math routines that Woz never completed.
Porting BASIC to the Apple III
Donn Denman joined Apple in summer 1979 and, alongside Randy Wiggington, began porting Applesoft BASIC to the Apple III. Their work involved rewriting sections to accommodate the Apple III’s segmented memory addressing and adapting it to SOS, Apple’s new operating system. Progress was visible daily—Denman sat just across from the author after their team moved to Bandley III in spring 1980.
Building a Macintosh-Ready BASIC
By summer 1981, the Macintosh project was gaining momentum. The team planned launch applications to highlight its unique interface: a word processor, a drawing program, and a BASIC interpreter to empower users to create their own programs. To ensure deep integration with the Macintosh UI, the team decided to build the interpreter in-house—third-party developers wouldn’t fully grasp the vision.
Over lunch with Apple II group colleagues, the author persuaded Donn Denman to join the Macintosh team to lead the BASIC effort. Initially hesitant due to the project’s risk, Denman agreed in September 1981, shortly after finishing Apple III BASIC, eager to refine and improve the language.
Technical Foundations of the Interpreter
A BASIC interpreter requires three core components:
- A text editor for inputting programs
- A parser to translate code into bytecodes
- An interpreter to execute those bytecodes
Denman began by building the interpreter, testing it with hand-coded bytecodes and early graphics primitives. Within months, he demonstrated a recursive tree-drawing program running across multiple windows, showcasing the Mac’s threading capabilities.
Team Expansion and Challenges
By spring 1982, with the January 1983 launch approaching, additional help was needed. Bryan Stearns, an 18-year-old from the Apple II team, was hired—chosen because Denman trusted his skills. However, the interpreter struggled to keep pace with the rapidly changing Macintosh system. After six months, Bryan left to join Chuck Mauro’s startup (known for an 80-column Apple II card the author had helped develop). The author failed to convince him to stay.
Transition to System Software
By spring 1983, it was clear the BASIC interpreter would not be ready for launch. Software manager Jerome Coonen reassigned Denman to ROM and system-level development. He contributed to key components such as desk accessories (alarm clock, notepad), and the calculator’s math engine—work later recognized in the Desk Ornaments collection.
Comments
Join the conversation
Sign in to share your thoughts and engage with the community.
Loading comments...