CMOS RAM

The bit definitions for the CMOS RAM configuration bytes are:

Diagnostic Status Byte (Hex 00E)
Shutdown Status Byte (Hex 00F)
Diskette Drive Type Byte (Hex 010)
First Fixed Disk Drive Type Byte (Hex 011)
Second Fixed Disk Drive Type Byte (Hex 011)
Reserved Bytes (Hex 012, 013) 
Equipment Byte (Hex 014)
Low and High Base Memory Bytes (Hex 015 and 016)
Low and High Expansion Memory Bytes (Hex 017 and 018)
Reserved Bytes (Hex 019 through 031)
Configuration CRC Bytes (Hex 032 and 033)
Reserved Byte (Hex 034)
Low and High Usable Memory Bytes (Hex 035 and 036)
Date-Century Byte (Hex 037)
Reserved Bytes (Hex 038-04F)


Diagnostic Status Byte (Hex 00E)

+-----------------------------------------------+
|  7  |  6  |  5  |  4  |  3  |  2  |  1  |  0  |
|-----+-----+-----+-----+-----+-----+-----+-----|
| PWR | SUM | CFG | SIZ | FDC | TS  |  R  |  R  |
+-----------------------------------------------+

 PWR:     Clock power
 SUM:     Checksum status
 CFG:     Configuration error
 SIZ:     Memory-size miscompare
 FDC:     Fixed disk C status
 TS:      Time status
 R:       Reserved

PWR When the clock-power bit is 1, the real-time clock has lost power.

SUM When the checksum-error bit is 1, the checksum is incorrect.

CFG When the configuration-error bit is 1, the power-on check of the Equipment byte (hex 014) failed.

SIZ When the memory-size-miscompare bit is 1, the memory size does not match the configuration information in CMOS RAM.

FDC When the fixed-disk-C bit is 1, the controller or hard disk drive failed to initialize.

TS When the time-status bit is 1, the time is not valid.


Shutdown Status Byte (Hex 00F)

This byte is defined by the power-on diagnostic programs.


Diskette Drive Type Byte (Hex 010)

This byte indicates the type of diskette drive that is installed.

+-----------------------------------------------+
|  7  |  6  |  5  |  4  |  3  |  2  |  1  |  0  |
|-----------------------+-----------------------|
|         Disk A        |          Disk B       |
+-----------------------------------------------+

These two 4-bits fields indicate the drive type of the first and second diskette drives.

Diskette Drive Type

 BITS
7 6 5 4   DESCRIPTION
0 0 0 0   No drive present
0 0 0 1   5.25-inch, 360KB diskette drive
0 0 1 0   5.25-inch, 1.2MB diskette drive
0 1 0 0   3.5-inch, 1.44MB diskette drive
0 1 1 0   3.5-inch, 2.88MB diskette drive

Note: Combinations that are not shown are reserved.


First Fixed Disk Drive Type Byte (Hex 011)

This byte defines the type of the fixed disk drive that is installed. A value of hex 00 indicates that no fixed disk drive is installed.


Second Fixed Disk Drive Type Byte (Hex 011)

This byte defines the type of the fixed disk drive that is installed. A value of hex 00 indicates that no fixed disk drive is installed.


Reserved Bytes (Hex 012, 013)

These bytes are reserved.


Equipment Byte (Hex 014)

This byte defines the basic equipment in the system for the power-on diagnostic tests.

+-----------------------------------------------+
|  7  |  6  |  5  |  4  |  3  |  2  |  1  |  0  |
|-----------+-----------+-----+-----+-----+-----|
|    # DD   |  Display  |  R  |  R  | CP  | DDA |
+-----------------------------------------------+

# DD:    Number of diskette drives
DISPLAY: Display operating mode
CP:      Math coprocessor present
DDA:     Diskette drive A present

# DD These bits represent the number of diskette drives installed other than the drive A.

Installed Diskette Drives

 BITS
 7 6    NUMBER OF DISKETTE DRIVES
 0 0    No additional diskette drives
 0 1    One additional diskette drive
 1 0    Two additional diskette drives
 1 1    Reserved

Display These bits indicate the operating mode of the display that is attached to the video connector.

Display Operating Mode Bits

 BITS   DISPLAY OPERATING MODE
 5 4
 0 0    Reserved
 0 1    40-Column mode
 1 0    80-Column mode
 1 1    Monochrome mode

CP When this bit is 1, the math coprocessor function is present.
DDA When this bit is 1, diskette drive A is present.


Low and High Base Memory Bytes (Hex 015 and 016)

These bytes define the amount of memory below the 640KB address space.
   The value of these bytes indicates the number of 1KB blocks of base memory. For example, hex 0280 indicates 640KB of base memory. The low byte is hex 015; the high byte is hex 016.


Low and High Expansion Memory Bytes (Hex 017 and 018)

These bytes define the amount of memory above the 1MB address space.
   The value of these bytes indicates the number of 1KB blocks of expansion memory. For example, hex 0800 indicates 2048KB of expansion memory. The low byte is hex 017; the high byte is hex 018.


Reserved Bytes (Hex 019 through 031)

These bytes are reserved.


Configuration CRC Bytes (Hex 032 and 033)

These bytes contain the cyclic-redundancy-check (CRC) data for bytes hex 010 through 031 of the 64-byte CMOS RAM. The low byte is hex 033; the high byte is hex 032.


Reserved Byte (Hex 034)

These bytes are reserved.


Low and High Usable Memory Bytes (Hex 035 and 036)

These bytes define the total amount of contiguous usable memory from 1MB to 16MB. The value of these bytes indicates the number of 1KB blocks of usable memory. For example, hex 0800 indicates 2048KB of contiguous usable memory. The low byte is hex 035; the high byte is hex 036.


Date-Century Byte (Hex 037)

Bits 7 through 0 of this byte contain the BCD value for the century.


Reserved Bytes (Hex 038-04F)

These bytes are reserved.

Content created and/or collected by:
Louis Ohland, Peter Wendt, William Walsh, Kevin Bowling, Jim Shorney, Tim Clarke, David Beem, Tatsuo Sunagawa, Tomáš Slavotínek, and many others.

Ardent Tool of Capitalism - MAD Edition! is maintained by Tomáš Slavotínek.
Last update: 24 Jul 2021 - Changes & Credits | Legal Info & Contact