A2286 CMOS
Below is the CMOS RAM memory map for an A2286.
16 bytes (00h-0fh) is the real time clock, 32 bytes (10h-2Fh) is the ISA configuration data
30h until 3Fh is still unused
Offset Hex | Feldgrösse | Funktion |
---|---|---|
00h | 1 byte | RTC seconds |
01h | 1 byte | RTC seconds alarm |
02h | 1 byte | RTC minutes |
03h | 1 byte | RTC minutes alarm |
04h | 1 byte | RTC hours |
05h | 1 byte | RTC hours alarm |
06h | 1 byte | RTC day of week |
07h | 1 byte | RTC date day |
08h | 1 byte | RTC date month |
09h | 1 byte | RTC date year |
0Ah | 1 byte | Status Register A (Read/ Write Register except UIP) |
0Ah | Bits 0-3 | Rate selection frequency (0110 = 1.024KHz) The fore selection bits select one of 15 tapes on the 22-stage Divider,or disable the divider output. The tap selected may be used to generate an output square wave (SQW pin) and/or a interrupt. The program may do one of following: 1) enable the interrupt with. the PIE bit, 2)enable the SQW output pin with the SQWE bit, 3) enable both at the same time at the same rate,or 4) enable neather, These four bits are read/write bits which are not effected by RESET. |
0Ah | Bits 4-6 | Time frequency Divider (010 = 32.768KHz) DV2, DVI, DVO – Three bits are used to permit the Program to select various conditions of the 22-stage divider chain. The divider selection bits identify which of the three time-base frequencies is in use. The divider selection bits are also used to reset the divider chain. When the time/calendar is first initialized the program may start the divider at the precise Time stored in the RAM, When the divider reset is removed, the first update cycle begins one-half second later. These three read/write bits are not affected by RESET. |
0Ah | Bits 7 | UIP Update in Progress (0 = Date/Time can be read, 1 = Time update in Progress) The update in progress (UIP) bit is a status flag that may be monitored by the program. When UIP is a "l", the update cycle is in progress or will soon begin. When UIP is a "0", the update cycle is not in progress and will not be for at least 244 ps (for all time bases). The time, calendar, and alarm information in RAM is fully available to the program when the UIP bit is zero – it is not in transition. The UIP bit is a read-only bit, and is not affected by Reset. Writing the SET bit in Register B to a "1" inhibits any update cycle and then clears the UIP status bit. |
0Bh | 1 byte | Status Register B(read/write) |
0Bh | Bit 0 | DSE – The daylight savings enable (DSE) bit is a read/write bit which allows the program to enable two special updates (when DSE is a “1”). On the last Sunday in April the time increments from 1:59:59 AM to 3:00:00 AM. On the last Sunday in October when the time first reaches 1:59:59 AM it changes to 1:00:00 AM. These special updates do not occur when the DSE bit is a ‘JO’. DSE is not changed by any internal operations or reset. |
0Bh | Bit 1 | 24/12 – The 24/12 control bit establishes the format of the hours bytes as either the 24hour mode a “l” or the 12-hour mode a "0", This is a read/write bit, which is affected only by software. |
0Bh | Bit 2 | DM – The data mode (DM ) bit indicates whether time and calendar updates are to use binary or BCD formats. The DM bit is written by the processor program and maybe read by the program, but is not modified by any internal functions or RESET. A "1" in DM signifies binary data, while a "0" in DM specifies binary-coded-decimal (BCD) data. |
0Bh | Bit 3 | Bit 3 SQWE - When the square-wave enable (SQWE) bit is set to a "1" by the program, a square-wave signal at the frequeny spefified in the rate selection bits (RS3 to RSO) appears on the SQW pin. When the SQWE bit is set to a zero,the pin is held low. The state of SQWE is cleared by RESET pin. SQWE is a read/write bit. |
0Bh | Bit 4 | UIE – The UIE (update ended interrupt enable) bit is a read/write bit which enabled the update end flag (UF) bit in Register C to assert IRQ. The RESET pin going low or the SET bit going high clears the UIE bit. |
0Bh | Bit 5 | AIE – The alarm interrupt enable (AIE) is a read/write bit which when set to a "1" permits the alarm Flag (AF) bit in Register C to assert IRQ. An alarm interrupt occurs for each second that the three time bytes equal to the three alarm bytes (including a "don’t care" alarm code by binary 11XXXXX). When the AIE bit is a "0", the AF Bit does not initiate an IRQ signal. The RESET pin clears AIE to "0". The internal functions do not affect the AIE Bit. |
0Bh | Bit 6 | PIE – The periodic interrupt enable (PIE) bit is a read/write bit which allows the periodic-interrupt flag (PF) bit in Register C to cause the IRQ pin to be driven low. A program writes a "1" to the PIE bit in order to receive periodic interrupts at the rate specified by the RS3, RS2, RS1, and,RS0 bits in Register A. A zero in PIE blocks IRQ from being initiated by a periodic interrupt, but the periodic flag (PF) bit is still set at the periodic rate. PIE is not modified by any internal functions, but is cleared to "0" by a RESET |
0Bh | Bit 7 | SET – When the SET bit is a "0", the update cycle functions normally by advancing the counts once-per-second. When the SET bit is written to a "1", any update cycle in progress is aborted and the program may initialize the time and calendar bytes without an update occurring in the midst of initializing. SET is a read/write bit which is not modified by RESET or internal functions of the MC146818A. |
0Ch | 1 byte | Status Register C (read only) |
0Ch | Bit 0-3 | The unused bits of Status Register C are read as "0". They can not be written |
0Ch | Bit 4 | UF – The update-ended interrupt flag (UF) bit is set after each update cycle. when the UIE bit is a "1", the "1" in UF causes the IRQF bit to be a "1", asserting IRQ. UF is cleared by a Register C read or a RESET. |
0Ch | Bit 5 | AF – A "1" in the AF (alarm interrupt flag) bit indicates that the current time has matched the alarm time. A "1" in the AF causes the IRQ pin to go low, and a "1" to appear in the IRQF bit, when the AIE bit also is a "1". A RESET or a read of Register C clears AF. |
0Ch | Bit 6 | PF – The periodic interrupt flag (PF) is a read-only bit which is set to a "1" when a particular edge is detected on the selected tap of the divider chain. The RS3 to RSO bits establish the periodic rate. PF is set to a "1" independent ofthe state of the PIE bit. PF being a "1" initiates an IRQ signal and sets the IRQF bit when PIE is also a "1". The PF bit is cleared by a RESET or a software read of Register C |
0Ch | Bit 7 | IRQF – The interrupt request flag (IRQF) is set to a "1" when one or more of the following are true: PF=PIE="1" AF=AIE="1" UF=UIE="1" i.e. IRQF= PF*PIE+ AF*AIE+UF*UIE Any time the IRQF bit is a "1", the IRQ pin is driven low. All flag bits are cleared after Register C is read by the program or when the RESET pin is low. |
0Dh | 1 byte | Status Register D (read only) |
0Dh | Bit 0-6 | the remaining bits of Register D are unused. They cannot be written, but are always read as "0". |
0Dh | Bit 7 | VRT – The valid RAM and time (VRT) bit indicates the condition of the contents of the RAM, provided the power sense (PS) pin is satisfactorily connected. A "0" appears in the VRT bit when the power-sense pin is low. The processor program can set the VRT bit when the time and calendar are initialized to indicate that the RAM and time are valid. The VRT is a read only bit which is not modified by the RESET pin. The VRT bit can only be set by reading Register D. |
0Eh | 1 byte | Diagnostic Status |
0Eh | Bit 0/1 | Unused |
0Eh | Bit 2 | CMOS time status (0 = Time is valid, 1 = Time is invalid) |
0Eh | Bit 3 | Fixed disk failure (0 = good, 1 = bad) |
0Eh | Bit 4 | Memory size compare during POST (0 = POST memory equals configuration, 1 = POST memory not equal to configuration) |
0Eh | Bit 5 | Unused |
0Eh | Bit 6 | test for cmos valid. (Bit 6 has to store an "1". if not, store new memory size |
0Eh | Bit 7 | Real time clock power status (0 = CMOS has not lost power, 1 = CMOS has lost power) |
0Fh | 1 byte | CMOS Shutdown Status |
0Fh | Value 0 | manufacturing test loop |
0Fh | Value 1 | |
0Fh | Value 2 | over 1 mbyte test |
0Fh | Value 3 | Not in virtual mode. Error, do a shutdown and halt |
0Fh | Value 4 | issue boot request |
0Fh | Value 5 | Write "End of interrupt" to Int Controller 1 |
0Fh | Value 6 | unexpected |
0Fh | Value 7 | unexpected |
0Fh | Value 8 | unexpected |
0Fh | Value 9 | block move (int 15h) |
0Fh | Value 0Ah | jump to init routine |
10h | 1 byte | FLOPPY Bits 7-4 = Drive 0 type Bits 3-0 = Drive 1 type 0: None 1: 360K 5.25" 2: 1.2MB 5.25" 3: 720K 3.5" 4: 1.44MB 3.5" |
12h | 1 byte | Hard Disk Type Bits 7-4 = Hard disk 0 type Bits 3-0 = Hard disk 1 type 0 = No drive installed 15 = Type 15-47 |
14h | 1 byte | Installed Equipment Bit 1 = 287 installed/not installed Bits 5-4 = Primary display 00 = SPECIAL 01 = COLOR 40 10 = COLOR 80 11 = MONO Bits 7-6 = Number of floppy disks 0 = 1 floppy disk 1 = 2 floppy disks |
15h 16h |
2 byte | 0-640K MEMORY SIZE Base Memory Low Byte Base Memory High Byte |
17h 18h |
2 byte | Extended Memory Low Byte Extended Memory High Byte |
19h | 1 byte | Extended HD1 Type (15-48) |
1Ah | 1 byte | Extended HD2 Type(15-48) |
1Bh | 1 byte | Unused |
1Ch | 1 byte | Unused |
1Dh | 1 byte | Unused |
1Eh | 1 byte | Unused |
1Fh | 1 byte | Unused |
20h | 1 byte | COMMODORE |
Bit 1,0 -- Default system speed 00 -- 6 MHz 01 -- 8 MHz 10 -- 12 MHz |
||
Bit 3,2 -- On board LPT address 00 -- Off 01 -- 3BCH 10 -- 378H 11 -- 278H |
||
Bit 5,4 -- On board COM address 00 -- Off 01 -- 3F8H 10 -- 2F8H |
||
Bit 6 -- On board mouse 0 -- Disabled 1 -- Enabled |
||
Bit 7 -- 6 MHz hard disk IO feature 0 -- Disabled 1 -- Enabeled |
||
2Eh 2Fh |
2 byte | CMOS Checksum High Byte - Most significant byte CMOS Checksum Low Byte - Least significant byte |
Last update: 21.05.2022