[Back to HARDWARE SWAG index]  [Back to Main SWAG index]  [Original]

{
> Could someone please post what each of the 64 bytes of the CMOS are. I
> know how to read/write to the CMOS but do not know whitch byte is what.

I don't think this one is complete, but here you go:

Offset Hex   Size (bytes)   Description
==========   ============   ===========
00h          1              Current second in BCD
01h          1              Alarm second (BCD)
02h          1              Current minute (BCD)
03h          1              Alarm minute (BCD)
04h          1              Current hour (BCD)
05h          1              Alarm hour (BCD)
06h          1              Current day of week (BCD)
07h          1              Current day (BCD)
08h          1              Current month (BCD)
09h          1              Current year (BCD)
0Ah          1              Status register A
             Bit 7   = Update in progress
                            0   = date & time can be read
                            1   = time update busy
             Bit 6-4 = Time frequency divider
                            010 = 32.768 KHz
             Bit 3-0 = Rate selection frequency
                            0110 = 1.024 KHz sq. wve. freq.
0Bh          1              Status register B
             Bit 7   = Clock update cycle
                            0 = Update normally
                            1 = Abort update in progress
             Bit 6   = Periodic interrupt
                            0 = disable (default), 1 = enable
             Bit 5   = Alarm interrupt
                            0 = disable (default), 1 = enable
             Bit 4   = Update-ended interrupt
                            0 = disable (default), 1 = enable
             Bit 3   = Status register A sq. wve. freq.
                            0 = disable (default), 1 = enable
             Bit 2   = Date format
                            0 = Calender in BCD format (default)
                            1 = Calender in binary format
             Bit 1   = 24-hour clock 
                            0 = 24-hour, 1 = 12-hour
             Bit 0   = Daylight Savings Time
                            0 = disable (default), 1 = enable
0Ch          1              Status register C
             Bit 7   = IRQF flag
             Bit 6   = PF Flag
             Bit 5   = AF Flag
             Bit 4   = UF Flag
             Other bits reserved
0Dh          1              Status register D
             Bit 7   = Valid CMOS RAM bit
                            0 = battery dead, 1 = battery OK
             Other bits reserved
0Eh          1              Diagnostic status
             Bit 7   = Real-time clock power status
                            0 = OK, 1 = not OK
             Bit 6   = CMOS checksum status
                            0 = good, 1 = bad
             Bit 5   = POST config. status
                            0 = valid, 1 = not valid
             Bit 4   = POST Memory size check
                            0 = OK, 1 = !OK
             Bit 3   = Fixd disk/adapter init.
                            0 = init OK, 1 = init bad
             Bit 2   = CMOS time status
                            0 = OK, 1 = !OK
             Other bits reserved
0Fh          1              Shutdown code
             00h     = Power on or soft reset
             04h     = POST end; boot system
             05h     = JMP dword ptr with EOI
             06h     = Prot. mode tests OK
             07h     = Prot. mode tests FAILED
             08h     = Memory size FAILED
             09h     = int 15h block move
             0Ah     = JMP dword ptr with EOI
             0Bh     = Used by 80386
10h          1              Floppy drive types
             Bits 7-4= Drive 0 type              
             Bits 3-0= Drive 1 type
             (0000 = none, 0001 = 360K, 0010 = 1.2M, 0011 = 720K,
              0100 = 1.44M, 0101 = 2.88K?)
11h          1              Reserved
12h          1              HD types
             Bits 7-4= Drive 0 type (0-15)
             Bits 3-0= Drive 1 type (0-15)
13h          1              Reserved
14h          1              Installed equipment
             Bits 7-6= Number of floppy drives
             Bits 5-4= Primary display
                            00= Adapter BIOS
                            01= CGA 40 cols
                            10= CGA 80 cols
                            11= MDA
             Bits 3-2= Reserved
             Bit 1   = Math copro. present
             Bit 0   = Floppy drive present
15h          1              Base memory low-order byte
16h          1              Base memory high-order byte
17h          1              Ext. mem. low-order byte
18h          1              Ext. mem. high-order byte
19h          1              Hard disk 0 extended type (0-255)
1Ah          1              Hard disk 1 ext. type (0-255)
1Bh          9              Reserved
2Eh          1              CMOS checksum high order byte
2Fh          1              CMOS checksum low order byte
30h          1              Actual extended memory low-order byte
31h          1              Actual extended memory high-order byte
32h          1              Date century in BCD
33h          1              POST information flag
             Bit 7 = Top 128K base memory status
                            0 = not installed
                            1 = installed
             Bit 6 = Setup program flag
                            0 = Normal (default)
                            1 = Output user message
             Other bits reserved
34h          2              Reserved

[Back to HARDWARE SWAG index]  [Back to Main SWAG index]  [Original]