RMaker: Mac Resource Builder

Resource Manager Stabilization and Adoption

The resource manager became stable enough for other parts of the Toolbox to use in the fall of 1982. Initially, only the dialog manager (written by Bruce Horn) used resources, but they soon spread throughout the system. By early 1983, resources were being used to define windows, menus, and controls, but developers lacked a proper method to specify them.

Introduction of RMaker

Bruce Horn wrote a "dialog compiler" that created dialog resources from a text-based description. In February 1983, this was expanded into a general resource building tool called "RMaker," which ran on a Lisa and built resource files from text descriptions. RMaker allowed arbitrary resources in hexadecimal and had specialized formats for windows and menus.

Code Size Limitations and Solutions

The Macintosh used the Motorola 68000 microprocessor, which had a 32K byte limit for code segments due to missing long relative branches and absolute branch restrictions. Initially, the Macintosh supported only a single code segment per application, but this quickly proved insufficient.

Development of Multi-Segment Loader

In March 1983, Jerome Coonen highlighted that developers were hitting the 32K code size limit. A multi-segment loader seemed necessary but challenging due to the tight schedule. It was decided to store code segments in resources, and a resource-based multi-segment loader was developed in less than a week.

Challenges with the Lisa Linker

The hardest part was extracting code from the Lisa linker to create code resources. RMaker was enhanced to build these resources and jump tables. The Lisa linker's 6-byte and 10-byte jump table entries were considered, but the 8-byte variant was preferred for efficiency. The Lisa team initially resisted modifying the linker to support this.

Overcoming Linker Limitations

A workaround was implemented to adjust jump table references, despite potential risks. This hack was used until a proper solution was implemented by Barry Haynes in early 1984, after the original engineer transferred to another project.

Transition to Mac-Based Development

In March 1984, an independent development system for Macintosh was pursued, as the Lisa was still required for development. Bill Duvall's Consulair company had a linker for Macintosh code resources, but no equivalent to RMaker for other resources.

RMaker for Macintosh

RMaker was rewritten for the Macintosh in assembly language, integrating with Consulair tools to allow complete application development on Macintosh.

Integration and Recognition

In summer 1984, Dan Cochran from Apple sought to bundle the new RMaker with the Consulair package. After negotiations, it was sold to Apple for a LaserWriter prototype, delivered before its official announcement.


Created on .

Last edited on .

Comments

Join the conversation

Sign in to share your thoughts and engage with the community.

Sign In to Comment

Loading comments...