80 lines
2.8 KiB
Plaintext
80 lines
2.8 KiB
Plaintext
From: James Vahn
|
|
Subj: Cmos
|
|
____________________________________________________________________________
|
|
|
|
The standard AT CMOS addresses from 00h to 3Fh are easy,
|
|
|
|
; Read CMOS
|
|
mov al,addr ; 'addr' ranges from 00h to 3Fh.
|
|
out 70h,al ; wakes up the port.
|
|
jmp $+2 ; a delay loop..
|
|
in al,71h ; reads CMOS.
|
|
|
|
; Write CMOS
|
|
mov al,addr ; 'addr' ranges from 00h to 3Fh.
|
|
out 70h,al ; wakes up the port.
|
|
jmp $+2 ; a delay loop..
|
|
out 71h, value ; Writes 'value' from 00h to FFh.
|
|
; note that 'addr' 10h to 20h are checksummed.
|
|
|
|
|
|
Some CMOS info...
|
|
|
|
addr contents
|
|
|
|
00h Seconds
|
|
01h Second Alarm
|
|
02h Minutes
|
|
03h Minute Alarm
|
|
04h Hours
|
|
05h Hour Alarm
|
|
06h Day of the Week
|
|
07h Day of the Month
|
|
08h Month
|
|
09h Year
|
|
0Ah Status Register A
|
|
0Bh Status Register B
|
|
0Ch Status Register C
|
|
0Dh Status Register D
|
|
0Eh Diagnostic Status Byte
|
|
0Fh Shutdown Status Byte
|
|
10h Disk Drive Type for Drives A: and B:
|
|
The drive-type bytes use bits 0:3 for the first
|
|
drive and 4:7 for the other disk drive types.
|
|
00h no drive present
|
|
01h double sided 360k
|
|
02h high capacity (1.2 meg)
|
|
03h-0Fh reserved
|
|
11h (AT):Reserved (PS/2):drive type for hard disk C:
|
|
12h (PS/2):drive type for hard disk D:
|
|
(AT, XT/286):hard disk type for drives C: and D:
|
|
Format of drive-type entry for AT, XT/286:
|
|
0 number of cyls in drive (0-1023 allowed)
|
|
2 number of heads per drive (0-15 allowed)
|
|
3 starting reduced write compensation (not used on AT)
|
|
5 starting cylinder for write compensation
|
|
7 max. ECC data burst length, XT only
|
|
8 control byte
|
|
Bit
|
|
7 disable disk-access retries
|
|
6 disable ECC retries
|
|
5-4 reserved, set to zero
|
|
3 more than 8 heads
|
|
2-0 drive option on XT (not used by AT)
|
|
9 timeout value for XT (not used by AT)
|
|
12 landing zone cylinder number
|
|
14 number of sectors per track (default 17, 0-17 allowed)
|
|
13h Reserved
|
|
14h Equipment Byte (corresponds to sw. 1 on PC and XT)
|
|
15h-16h Base Memory Size (low,high)
|
|
17h-18h Expansion Memory Size (low,high)
|
|
19h-20h Reserved
|
|
(PS/2) POS information Model 50 (60 and 80 use a 2k
|
|
CMOS RAM that is not accessible through software)
|
|
21h-2Dh Reserved (not checksumed)
|
|
2Eh-2Fh Checksum of Bytes 10 Through 20 (low,high)
|
|
30h-31h Exp. Memory Size as Det. by POST (low,high)
|
|
32h Date Century Byte
|
|
33h Information Flags (set during power-on)
|
|
34h-3Fh Reserved - Put Your Name Here.
|