Morgan Davis

Loading

The Object Module Manager

OMM reminds one of a meditation chant. And in a way, the Object Module Manager (OMM) was a kind of nirvana for me. At the time, object oriented programming (OOP) was the big deal. After wedging a few chunks of machine code into the 48K space along with the operating system, your BASIC code, and its variables, memory management became a nightmare. The OMM created harmony among the growing number of machine language programs needed for fast, efficient 8-bit Apple II applications.

The OMM was the first mechanism to dynamically relocate active code blocks and associated data inside of memory. It allowed you to shuffle code modules on the fly to make the most efficient use of memory. The interface to BASIC applications, which typically would make a CALL to a fixed memory address, was arbitrated by the OMM. So BASIC programs didn’t need to worry about at which address a needed function resided.

At this point, I created most of my Apple II software on a Mac IIx using cross-platform development tools. It cost $5,000 new, but saved tons of time.

At this point, I created most of my Apple II software on a Mac IIx using cross-platform development tools. It cost $5,000 new, but saved tons of time.

Taking a cue from the OOP hysteria, the OMM supported the concept of message passing. This was required for the OMM to perform dynamic relocation, as modules may want to know when they moved around, especially those employing interrupt handlers. And so a set of messages was developed for such housekeeping chores, including user-defined messages so that developers could create intercommunicating modules.

OMM sold for $39.95. It included an extremely handy module called AmperWorks that added scores of fast and helpful functions to BASIC. Easily the least glamorous of all the “back end” tools that ProLine relied on, the OMM marked a critical evolutionary step. Without it, none of it could have worked.

OMM-1.4.img 800K ProDOS disk

OMM-1.4.pdf 317K Acrobat file, 68 pages

Add a Comment