Resources
Volume Number: 1
Issue Number: 7
Column Tag: Assembly required
Using the Common Resources
By Frank Alviani
Resources are the most mystifying of all the Mac technology, mainly because they
are undocumented, and not usually found on other computers. The purpose of resources
are to seperate text, icons, fonts, menu items and dialogs from the executable source
code of a program where they can be easily changed without re-compilation. With the
resource editor and other tools, this opens up a world of “user customized” programs.
The user literally changes the program resources to his own tastes. This makes for an
exciting possibility in software adaptation that has yet to be fully explored. In the
meantime, programmers still must struggle to make use of resources effectively.
A big problem is not having adequate documentation of the format of each resource
in terms of a binary file specification; exactly how many bytes and in what format each
resource item is specified. While the RMaker provides an easy way to assembly
resources, it does little to explain their internal format. The Apple Assembler has the
ability to compile resources directly, offering an alternative to the RMaker utility. All
that is lacking is the correct assembler source code format of each resource. Now
Frank Alviani has filled this omission gap by providing us with the assembler format
of all the major resources. This information should go a long way toward improving the
resource void. We encourage others to help in this area by sending in articles or
information on resources to help improve our understanding of this vital Mac concept.
[David E. Smith, Editor]
Linker or RMaker
The big advantage to using the linker rather than the RMaker is flexability. You
can control every detail - type style, etc. To balance this, linking is significantly
longer and certain RMaker capabilities simply don’t exist - “linking” in picture
resources, for example. With RMover, those disadvantages are pretty small, however.
Only the reasonably common resources are documented here (mostly those in
volume 1 of IM). I didn’t include the Font resource defs, since nobody in their right