Specifications

Apple II Technical Notes
Apple IIGS
2 of 2 #66: ExpressLoad Philosophy
Since ExpressLoad focuses on the common things performed by the majority of applications, it
may not support those applications which rely upon certain features of OMF or the System Loader.
In these cases, the System Loader loads the file as is expected.
ExpressLoad always gets first crack at loading a file, and if it is an Expressed file that ExpressLoad
can handle, it loads it. If the file is not an Expressed file, the regular System Loader loads it instead.
ExpressLoad also gets first shot at other loader calls.
Because an Expressed file is a standard OMF file with an additional segment, Expressed files are
almost fully compatible with the System Loader (although it cannot load them any faster than
before). Refer the following section for potential problems.
Working With ExpressLoad
As ExpressLoad is intimate in its relationship with the System Loader, most applications work
seamlessly with it; however, there are some potential problems about which you should be aware.
Don’t mix Expressed files and normal OMF files with the same user ID. For
example, if your application uses InitialLoad with a separate file, make sure
that if it and your main application share the same user ID that they are both either
Expressed files or normal OMF files.
Don’t use a user ID of zero. In the past, use of zero told the System Loader to use
the current user ID; however, now both the System Loader and ExpressLoad have a
current user ID. Be specific about user IDs when loading. This is fixed in 6.0, but
is still a good thing to avoid for compatibility with System Software 5.0 through
5.0.4.
Avoid loading and unloading segments by number. Since Expressed files may have
their segments rearranged, if an Expressed file is loaded by the System Loader,
references to segments by number may be incorrect.
Avoid using GetLoadSegInfo before System Software 6.0. This call returns
System Loader data structures which are not supported by ExpressLoad previous to
6.0. In System Software 6.0 and later, the combined Loaders return correct
information for GetLoadSegInfo regardless of whether the load file is expressed
or not.
Don’t try to load segments in files which have not been loaded with the call
InitialLoad. This process was never a very good idea, and it is now apt to
cause problems.
Don’t have segments that link to other files. ExpressLoad does not support this
type of link.
Further Reference
GS/OS Reference