http://mcosre.sourceforge.net/docs/PRAM.html
3/16/2007

D o c u m e n t a t i o n 


Parameter RAM
 
[Home] | [About McOS Re] | [FAQ] | [Changes] | [Progress] | [Documentation] | [Links]



Ever wonder just what information is stored in those 20 bytes of parameter RAM (you know, the RAM that needs the battery)?

Parameter RAM

The parameter RAM is located in the computer's real-time clock chip, together with the date and time setting. No matter what system disk is used at system startup, parameter RAM ensures that certain settings remain the same on a given computer from one session to another.

valid
The validity status of parameter RAM: OK if $A8

The validity status of the clock chip: whenever you successfully write to the clock chip, $A8 is stored in this byte. The status is examined when the clock chip is read at system startup.

aTalkA
The AppleTalk node ID hint for modem port

aTalkB
The AppleTalk node ID hint for printer port

config
The use types for serial ports (bits 0-3 for A, 4-7 for B)

Which device or devices may use each of the serial ports.

portA
The modem port configuration

The portA field contains the baud rate, data bits, stop bits and parity for the modem port. Bits 0-9 set the baud rate, 10-11 the number of data bits, 12-13 the parity, and 14-15 the number of stop bits.

portB
The printer port configuration

The portB field contains the baud rate, data bits, stop bits, and parity for the printer port. Bits 0-9 set the baud rate, 10-11 the number of data bits, 12-13 the parity, and 14-15 the number of stop bits.

alarm
The alarm time setting

The time at which the alarm clock should sound. The time is defined in terms of seconds since midnight, January 1, 1904. The maximum value, $FFFFFFFF, corresponds to 6:28:15 AM, February 6, 2040.

font
The default application font number minus 1

Macintosh system software recognizes two special fonts that should always be present: the system font and the application font. The system font is the font used for menus, dialog boxes, and other messages to the user from the Finder or Operating System.

The application font is the suggested default font for use by monostyled TextEdit and by applications that do not support user selection of fonts. In all unmodified Roman versions of Macintosh system software, the application font is 12-point Geneva.

This bytes of the Parameter RAM contains one less than the actual default application font number.

kbdPrint
The auto-key threshold (in 4/60ths) and rate (in 2/60ths), the printer connection

Bit 0 of the kbdPrint field designates whether the printer (if any) is connected to the printer port (0) or the modem port (1).

Bits 8-11 of this field contain the auto-key rate, the rate of the repeat when a character key is held down; this value is stored in two-tick units.

Bits 12 through 15 contain the auto-key threshold, the length of time a key must be held down before it begins to repeat; it's stored in four-tick units.

Other bits are reserved for future use.

volClik
The speaker volume, the double click and caret-blink times in 4/60ths

Bits 0-3 of the volClik field contain the caret-blink time (in four-tick units.) The caret-blink time is the interval between blinks of a caret that marks the insertion point in text.

Bits 4-7 contain the double-click time (in four-tick units.) The double-click time is the greatest interval between a mouse-up and mouse-down event that would qualify two mouse clicks as a double click.

Bits 8-10 contain the speaker volume setting, which ranges from silent (0) to loud (7).

All other bits in this field are reserved for future use.

misc
Miscellaneous user settings (the setting for mouse scaling, the system startup disk, and menu-blink time)

Bits 2 and 3 of the misc field contain a value from 0 to 3 designating how many times a menu item will blink when the user chooses it.
Note: system software automatically calls both standard and nonstandard menu definition procedures the appropriate number of times.

Bit 4 of this field indicates whether the preferred disk to use to start up the system is in the internal (0) or the external (1) drive; if there's any problem using the disk in the specified drive, the other drive will be used.

Finally, bit 6 of the misc field designates whether mouse scaling is on (1) or off (0). If mouse scaling is on, cursor movement doubles if the user moves the mouse more than a certain number of pixels between vertical retrace interrupts.

Other bits are reserved for future use.


Low-Memory Copy Of Parameter RAM

The 20 bytes of parameter RAM that are commonly accessible by applications are copied into low memory at system startup. Any modifications to this low-memory copy of parameter RAM can be written back to the clock chip (using _WriteParam).

location/length name
$1E4 20 bytes GetParam/Scratch20, "system parameter scratch"
$1F8 20 bytes SysParam, "the low-memory copy of parameter RAM"

 

location/length name
$1F8 byte SPValid
$1F9 byte SPATalkA
$1FA byte SPATalkB
$1FB byte SPConfig
$1FC 2 bytes SPPortA
$1FE 2 bytes SPPortB
$200 4 bytes SPAlarm
$204 2 bytes SPFont
$206 2 bytes SPKbdPrint
$206 2x4 bits SPKbd
$207 byte SPPrint
$208 2 bytes SPVolClik
$208 byte SPVolCtl
$209 2x4 bits SPClikCaret
$20A 2 bytes SPMisc
$20A byte SPMisc1
$20B byte SPMisc2