This section describes the various subsystems of the resident OS in general terms.
The Input/Output (I/O) subsystem provides a high-level interface between the programs and the hardware. Most functions are device-independents such as the reading and writing of character data; yet provisions have been made for device-dependent functions as well. All peripheral devices capable of dealing with character data have individual symbolic names (such as K, D, P, etc). and can be accessed using a Central I/O (CIO) routine.
A RAM data base provides access to controllers (joysticks and paddle controllers), which do not deal with character data. This RAM data base is periodically updated to show the states of these devices.
The interrupt system handles all hardware interrupts in a common and consistent manner. By default, all interrupts are fielded by the OS. At your discretion, individual interrupts (or groups of interrupts) can be fielded by the application program.
The system provides two levels of initialization: power up and system reset. The OS performs power-up initialization each time the system power is switched to ON, and system reset initialization is performed each time the [SYSTEM.RESET] key is pressed.
The OS examines and notes the configuration of the unit whenever the system power is switched to ON. The system performs the following tasks at power up:
Pressing the [SYSTEM.RESET] key causes the OS to perform these following tasks:
Note that [SYSTEM.RESET] does not perform all the power-up tasks listed in the power-up section.
The OS ROM contains a Floating Point (FP) package that is available to nonresident programs such as ATARI BASIC.
The package is not used by the other parts of the OS itself. The floating point numbers are stored as 10 BCD digits of mantissa, plus a 1-byte exponent. The package contains these routines: