[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Organization of CMOS Memory - non-Clock
The last two bytes in the first hexadecimal decade (hexade ?) were not
specified in the PC/AT but may have the following use on some systems:
0Eh (PS/2) Diagnostic Status Byte
Bit 7 - When set (1) indicates clock has lost power
Bit 6 - (1) indicates incorrect checksum
Bit 5 - (1) indicates that equipment configuration is incorrect
power-on check requires that atleast one floppy be installed
Bit 4 - (1) indicates error in memory size
Bit 3 - (1) indicates that controller or disk drive failed initialization
Bit 2 - (1) indicates that time is invalid
Bit 1 - (1) indicates installed adaptors do not match configuration
Bit 0 - (1) indicates a time-out while reading adaptor ID
0Eh (AMSTRAD) 6 BYTEs time and date machine last used
0Fh Reset Code
(IBM PS/2 "Shutdown Status Byte")
The second group of values extends from address 10h to 2Dh. The word at
2Eh-2Fh is a byte-wise summation of the values in these bytes. Most BIOSes
will generate a CMOS Checksum error if this value is invalid however many
programs ignore the checksum and report the apparent value. The current
version of MSD reports my XT as having 20+ MB of extended memory.
Where a definiton appears universal, no identification is made. Where
the definition is thought to be specific to a manufacturer/model (AMI,
AMSTRAD, IBM AT, IBM PS/2) the identification is enclosed in parens. The
AMSTAD definitions appear to relate to 8088/8086 (PC and PC/XT class)
mchines only. AT class machines appear to adhere to IBM PC/AT fornat.
10h - Floppy Drive Type
Bits 7-4 - First Floppy Disk Drive Type
0h No Drive
1h 360 KB 5 1/4 Drive
2h 1.2 MB 5 1/4 Drive - note: not listed in PS/2 technical manual
3h 720 KB 3 1/2 Drive
4h 1.44 MB 3 1/2 Drive
5h-Fh unused (??? 5h: 2.88 Mb 3 1/2 Drive ???)
Bits 3-0 Second Floppy Disk Drive Type (bit settings same as A)
Hence a PC having a 5 1/4 1.2 Mb A: drive and a 1.44 Mb B: drive will
have a value of 24h in byte 10h. With a single 1.44 drive: 40h.
11h - (IBM-PS/2) First Fixed Disk Drive Type Byte (00-FFh) Note: if IBM
ESDI or SCSI drive controller is used, CMOS drive type will be zero (00 -
no drive) and Int 13h will be directed to controller ROM.
11h - (AMI) Keyboard Typematic Data
Bit 7 Enable Typematic (1 = On)
Bits 6-5 Typematic Delay (wait before begin repeating)
00b 250 ms
01b 500 ms
10b 750 ms
11b 100 ms
Bits 4-0 Typematic Rate char/sec e.g. 01010b = 12.0 cps
00000b - 300 01000b - 159 10000b - 75 11000b - 37
00001b - 267 01001b - 133 10001b - 67 11001b - 33
00010b - 240 01010b - 120 10010b - 60 11010b - 30
00011b - 218 01011b - 109 10011b - 55 11011b - 27
00100b - 200 01100b - 100 10100b - 50 11100b - 25
00101b - 185 01101b - 92 10101b - 46 11101b - 23
00110b - 171 01110b - 86 10110b - 43 11110b - 21
00111b - 160 01111b - 80 10111b - 40 11111b - 20
12h - (IBM PS/2) Second Fixed Disk Drive Type (00-FFh) - see 11h
12h - Hard Disk Data
Bits 7-4 First Hard Disk Drive
00 No drive
01-0Eh Hard drive Type 1-14
0Fh Hard Disk Type 16-255 (actual Hard Drive Type is in CMOS RAM 1Ah)
Bits 3-0 Second Hard Disk Drive Type (same as above except extrnded type
will be found in 1Bh).
A PC with a single type 2 (20 Mb ST-225) hard disk will have 20h in byte 12h
Note: some PCs utilizing external disk controller ROMs will use type 0 to
disable ROM BIOS (e.g. Zenith 248 with Plus HardCard).
13h (AMI) Advanced Setup Options
Bit 7 Mouse Enabled (1 = On)
Bit 6 Test Memory above 1 MB (1 = On)
Bit 5 Memory Test Tick Sound (1 = On)
Bit 4 Memory Parity Error Check (1 = On)
Bit 3 Press <Esc> to Disable Memory Test (1 = On)
Bit 2 User-Defined Hard Disk (1 = Type 47 data area at address 0:300h)
Bit 1 Wait for <F1> Message if Error (1 = On)
Bit 0 Turn Num Lock On at boot (1 = On)
14h - Equipment Byte
Bits 7-6 Number of Floppy Drives (system must have at least one)
00b 1 Drive
01b 2 Drives
10b ??? 3 Drives
11b ??? 4 Drives
Bits 5-4 Monitor Type
00b Not CGA or MDA (observed for EGA & VGA)
01b 40x25 CGA
10b 80x25 CGA
11b MDA (Monochrome)
Bit 3 Display Enabled (1 = On) (turned off to enable boot of rackmount)
Bit 2 Keyboard Enabled (1 = On) (turned off to enable boot of rackmount)
Bit 1 Math coprocessor Installed (1 = On)
Bit 0 Floppy Drive Installed (1 = On) (turned off for rackmount boot)
14h - (AMSTRAD) BYTE user RAM checksum
LSB of sum of all user bytes should be AAh
15h - Base Memory in K, Low Byte
15h - (AMSTRAD) WORD Enter key scancode/ASCII code
default: 1C0Dh - emulates Return key
16h Base Memory in K, High Byte
The value in 15h-16h should be the same as in 0:413h and that returned by
Int 12h. A PC having 640k (280h) of conventional memory will return 80h in
byte 15h and 02h in byte 16h.
17h - Extended Memory in K, Low Byte
17h - (AMSTRAD) WORD Forward delete key scancode/ASCII code
default: 2207h - emulates G (bell/beep)
18h - Extended Memory in K, High Byte (some systems will only accommodate
15 Mb extended or 16 Mb total) Format is the same as in 15h-16h
19h - First Extended Hard Disk Drive Type (not in original AT
specification but now nearly universally used except for PS/2).
0-Fh unused (would not require extension. Note: this has the effect
making type 0Fh (15d) unavailable.
10h-FFh First Extended Hard Drive Type 16d-255d
For most manufacturers the last drive type (typically either 47d or 49d)
is "user defined" and parameters are stored elsewhere in the CMOS.
19h - (AMSTRAD) WORD Joystick fire button 1 scancode/ASCII code
default: FFFFh - (no translation)
1Ah - Second Extended Hard Disk Drive Type (see 19h above)
1Bh - (AMI) First Hard Disk (type 47) user defined: # of Cylinders, LSB
1Bh - (AMSTRAD) WORD Joystick fire button 2 scancode/ASCII code
default: FFFFh - (no translation)
1Bh - (PHOENIX) LSB of Word to 82335 RC1 roll compare register
1Ch - (AMI) First Hard Disk user defined: # of Cylinders, High Byte
1Ch - (PHOENIX) MSB of Word to 82335 RC1 roll compare register
1Dh - (AMI) First Hard Disk user defined: Number of Heads
1Dh - (AMSTRAD) WORD mouse button 1 scancode/ASCII code
default: FFFFh - (no translation)
1Dh - (Zenith Z-200 monitor) Boot Drive Selection
Bits 6-5 (0xx0 0000)
00 - MFM Monitor
01 - First floppy drive (A:)
10 - First fixed disk (C:)
11 - First floppy drive (A:). If not there then First fixed disk (C:)
(this is the default).
1Dh - (PHOENIX) LSB of Word to 82335 RC2 roll compare register
1Eh - (AMI) First Hard Disk user defined: Write Precompensation Cylinder,
Low Byte
1Eh - (PHOENIX) MSB of Word to 82335 RC2 roll compare register
1Fh - (AMI) First Hard Disk user defined: Write Precompensation Cylinder,
High Byte
1Fh - (AMSTRAD) WORD mouse button 2 scancode/ASCII code
default: FFFFh - (no translation)
20h - (AMI) First Hard Disk user defined: Control Byte (80h if # of heads
is equal or greater than 8)
20h - (PHOENIX) First user defined hard disk (type 48) Cylinders LSB
21h - (AMI) First Hard Disk user defined: Landing Zone, Low Byte
21h - (AMSTRAD) BYTE mouse X scaling factor, default: 0Ah
21h - (PHOENIX) First user defined hard disk (type 48) Cylinders MSB
22h - (AMI) First Hard Disk user defined: Landing Zone, High Byte
22h - (AMSTRAD) BYTE mouse Y scaling factor default: 0Ah
22h - (PHOENIX) First user defined hard disk (type 48) of Heads
23h - (AMI) First Hard Disk user defined: # of Sectors per track
23h - (AMSTRAD) BYTE initial VDU mode and drive count default: 20h
bit 7: enables extended serial flow control
(NB this is buggy)
bit 6: set if two floppy drives installed
bits 5 & 4: (from Amstrad 1640 tech ref)
0 0 Internal video adapter
0 1 CGA card added; 40 x 25 mode
1 0 CGA card added; 80 x 25 mode
1 1 mono card added; 80 x 25 mode
23h - (PHOENIX) First user defined hard disk (type 48) Write Precomp. LSB
24h - (AMI) Second Hard Disk user defined: # of Cylinders, Low Byte
24h - (AMSTRAD) BYTE initial VDU character attribute, default: 7h
24h - (PHOENIX) First user defined hard disk (type 48) Write Precomp. MSB
25h - (AMI) Second Hard Disk user defined: # of Cylinders, High Byte
25h - (AMSTRAD) BYTE size of RAM disk in 2K blocks
default: 0 - only used by the RAMDISK software supplied.
25h - (PHOENIX) First user defined hard disk (type 48) Parking zone LSB
26h - (AMI) Second Hard Disk user defined: Number of Heads
26h - (AMSTRAD) BYTE initial system UART setup byte
default: E3h - format as for Int 14h fn 0
26h - (PHOENIX) First user defined hard disk (type 48) Parking zone MSB
27h - (AMI) Second Hard Disk user defined: Write Precompensation Cylinder,
Low Byte
27h - (AMSTRAD) BYTE initial external UART setup byte
default: E3h - format as for Int 14h fn 0
27h - (PHOENIX) First user defined hard disk (type 48) Sectors per track
28h - (AMI) Second Hard Disk user defined: Write Precompensation Cylinder,
High Byte
28h - (HP Vectra) checksum over words 29h-2Dh
28h-3Fh (AMSTRAD) 24 BYTEs user applications default: zeroes
29h - (AMI) Second Hard Disk user defined: Control Byte (80h if # of heads
is equal or greater than 8)
29h - (PHOENIX) LSB word to Intel 82335 CC0 compare register
2Ah - (AMI) Second Hard Disk user defined: Landing Zone, Low Byte
2Ah - (PHOENIX) MSB word to Intel 82335 CC0 compare register
2Bh - (AMI) Second Hard Disk user defined: Landing Zone, High Byte
2Bh - (PHOENIX) LSB word to Intel 82335 CC1 compare register
2Ch - (AMI) Second Hard Disk user defined: # of Sectors per track
2Ch - (COMPAQ) bit 6: 0 - numlock OFF on boot, 1 - numlock ON at boot
29h - (PHOENIX) MSB word to Intel 82335 CC1 compare register
2Dh - (AMI) Configuration Options
Bit 7 Weitek Installed(1 = On)
Bit 6 Floppy Drive Seek - turn off for fast boot
Bit 5 Boot Order 0 - Drive C:, then A:
1 - Drive A:, then C:
Bit 4 Boot Speed (0 - Low; 1 - High)
Bit 3 External Cache Enable (1 = On)
Bit 2 Internal Cache Enable (1 = On)
Bit 1 Use Fast Gate A20 after boot (1 = On)
Bit 0 Turbo Switch (1 = On)
2Dh - (PHOENIX) Checks for values AAh or CCh
2Eh - Standard CMOS Checksum, High Byte
2Fh - Standard CMOS Checksum, Low Byte
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson