Apple II
File Type Notes
_____________________________________________________________________________
                                                  Developer Technical Support

File Type:         $B7 (183)
Auxiliary Type:    All

Full Name:     ProDOS 16 or GS/OS Temporary Initialization File
Short Name:    Temporary initialization file

Written by:    Matt Deatherage                                 September 1990

Files of this type contain initialization code that is unloaded immediately 
after executing.
_____________________________________________________________________________

Files of type $B7 contain temporary initialization code.  Such files are often 
referred to as "inits".  They are loaded by GS/OS at boot time and are 
unloaded immediately after execution.  The auxiliary type is reserved except 
for bit 15--if bit 15 is set, the initialization file is not loaded.

The structure of an init is similar to that of an application.  The first byte 
of the loaded code image (inits are load files) is the entry point, and the 
init must end with an RTL instruction.  When GS/OS transfers control to a 
temporary initialization file, the processor is in 16-bit native mode.  The A 
register contains the init's user ID, D points to the bottom of a 4K stack and 
direct-page area and S points to near the top of that area.  (If the init has 
an OMF stack and direct page segment linked in, the D and S registers point to 
it instead.)  The data bank register is not defined; you should save it, set 
it and restore it if you use absolute addressing.

Temporary initialization files are shut down by GS/OS after they perform their 
RTL, so they are a good choice for transient purposes.  Temporary inits are 
good for playing sounds during the boot process, loading pictures, and other 
instances where data is passed to other system routines.  For example, a 
temporary init might read files from a disk and save them to a RAM disk.  The 
init gets to set up the RAM disk, but after that's done it doesn't need to 
stick around and take up memory--and since it's a temporary init, GS/OS unloads 
it after its work is done.


Further Reference
_____________________________________________________________________________
  o  GS/OS Reference
  o  File Type Note for File Type $B6, Permanent Initialization Files

