Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:informations:cmos_ram

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
back2root:ibm-pc-ms-dos:hardware:cmos_ram [2023/01/16 17:47] – [Information Flags] fraterback2root:ibm-pc-ms-dos:hardware:informations:cmos_ram [2023/01/16 17:54] – supprimée - modification externe (Unknown date) 127.0.0.1
Ligne 1: Ligne 1:
-====== CMOS RTC - Real Time Clock and Memory (ports 70h & 71h) ====== 
  
-<WRAP round info> 
-The information here is only applicable to AT and PS/2 systems 
-</WRAP> 
- 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  Reg#  ^ Description                                                     ^ 
-|  00    | RTC seconds                                                     | 
-|  01    | RTC seconds alarm                                               | 
-|  02    | RTC minutes                                                     | 
-|  03    | RTC minutes alarm                                               | 
-|  04    | RTC hours                                                       | 
-|  05    | RTC hours alarm                                                 | 
-|  06    | RTC day of week                                                 | 
-|  07    | RTC day of month                                                | 
-|  08    | RTC month                                                       | 
-|  09    | RTC year                                                        | 
-|  0A    | RTC Status [[#reg_a|register A]]                                | 
-|  0B    | RTC Status [[#reg_b|register B]]                                | 
-|  0C    | RTC Status [[#reg_c|register C]] (read only)                    | 
-|  0D    | RTC Status [[#reg_d|register D]] (read only)                    | 
-|  0E    | [[#diag|Diagnostic]] status byte                                | 
-|  0F    | [[#shutdown|Shutdown]] status byte                              | 
-|  10    | Diskette [[#floppy|drive type]] for A: and B                    | 
-|  11    | Reserved                                                        | 
-|  12    | Fixed disk [[#drive|drive type]] for drive 0 and drive 1        | 
-|  13    | Reserved                                                        | 
-|  14    | [[#equip|Equipment]] byte                                       | 
-|  15    | LSB of system base memory in 1k blocks                          | 
-|  16    | MSB of system base memory in 1k blocks                          | 
-|  17    | LSB of total extended memory in 1k blocks                       | 
-|  18    | MSB of total extended memory in 1k blocks                       | 
-|  19    | Drive C extension byte (reserved AT)                            | 
-|  1A    | Drive D extension byte (reserved AT)                            | 
-|  1B    | 13 bytes reserved                                               | 
-|  2E    | CMOS checksum of bytes 10h-20h (MSB)                            | 
-|  2F    | CMOS checksum of bytes 10h-20h (LSB)                            | 
-|  30    | LSB of extended memory size found above 1 megabyte during POST  | 
-|  31    | MSB of extended memory size found above 1 megabyte during POST  | 
-|  32    | Date century byte in BCD ( BIOS interface to read and set)      | 
-|  33    | [[#post|Information]] flags (set during power-on)               | 
-|  34    | 12 bytes reserved                                               | 
- 
-==== RTC Status register A ==== 
-{{anchor:reg_a}} 
- 
-^  bit  ^ descr. ^ 
-|  0-3  | rate selection Bits for divider output frequency (set to 0110 = 1.024kHz, 976.562 µs) | 
-|  4-6  | 22 stage divider, time base being used; (initialized to 010 = 32.768kHz) | 
-|     | 1=time update in progress, 0=time/date available | 
- 
-==== RTC Status register B ==== 
-{{anchor:reg_b}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description                                       ^ 
-|  0    | 0=disable (default)\\ 1=enable daylight savings   | 
-|  1    | 0=12 hour mode (24 default)\\ 1=24 hour mode      | 
-|  2    | 0=BCD (BCD default)\\ 1=time/date in binary       | 
-|  3    | 0=disable\\ 1=enable square wave frequency        | 
-|  4    | 0=disable\\ 1=enable update ended interrupt       | 
-|  5    | 0=disable\\ 1=enable alarm interrupt              | 
-|  6    | 0=disable\\ 1=enable periodic interrupt           | 
-|  7    | 0=update count normally\\ 1=disable clock update  | 
- 
-==== RTC Status register C (read only) ==== 
-{{anchor:reg_c}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description                     ^ 
-|  0-3  | reserved (set to 0)             | 
-|  4    | update ended interrupt enabled  | 
-|  5    | alarm interrupt enabled         | 
-|  6    | periodic interrupt enabled      | 
-|  7    | IRQF flag                       | 
- 
-==== RTC Status register D (read only) ==== 
-{{anchor:reg_d}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description                                       ^ 
-|  0-6  | reserved (set to 0)                               | 
-|  7    | 1=CMOS RAM has power\\ 0=CMOS RAM has lost power  | 
- 
-==== Diagnostic status byte ==== 
-{{anchor:diag}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description                                                   ^ 
-|  0-1  | reserved                                                      | 
-|  2    | 0=ok (POST validity check)\\ 1=time is invalid                | 
-|  3    | 0=ok\\ 1=fixed disk 0 failed initialization                   | 
-|  4    | 0=ok\\ 1=memory size doesn't match config info                | 
-|  5    | 0=ok (see [[#shutdown|below]])\\ 1=invalid config info found  | 
-|  6    | 0=ok\\ 1=config record checksum is bad                        | 
-|  7    | 0=power state stable\\ 1=RTC lost power                       | 
- 
-==== Shutdown status byte ==== 
-{{anchor:shutdown}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  value  ^ Description                                ^ 
-|  0      | soft reset or unexpected shutdown          | 
-|  1      | shut down after memory size determination  | 
-|  2      | shut down after memory test                | 
-|  3      | shut down with memory error                | 
-|  4      | shut down with boot loader request         | 
-|  5      | JMP DWORD request with INT init            | 
-|  6      | protected mode test 7 passed               | 
-|  7      | protected mode test 7 failed               | 
-|  8      | protected mode test1 failed                | 
-|  9      | block move shutdown request                | 
-|  A      | JMP DWORD request without INT init         | 
- 
-==== Diskette drive type for A: and B: ==== 
-{{anchor:floppy}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description           ^ 
-|  0-3  | second diskette type  | 
-|  4-7  | first diskette type   | 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  values  ^ description         ^ 
-|  0000    | no drive installed  | 
-|  0001    | DSDD 48 TPI drive (Double Side Double Density)  | 
-|  0010    | DSQD 96 TPI drive (Double Side Quad Density)  | 
- 
-other values are reserved 
- 
-==== Fixed disk drive type for drive 0 and drive 1 ==== 
-{{anchor:drive}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description           ^ 
-|  0-3  | second drive type (0000=no disk)  | 
-|  4-7  | first drive type (0000=no disk)  | 
- 
- 
-==== Equipment byte ==== 
- 
-{{anchor:equip}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description                            ^ 
-|  0    | 0=none\\ 1=diskette drives installed   | 
-|  1    | 0=none\\ 1=math coprocessor installed  | 
-|  2-3  | unused                                 | 
-|  4-5  | primary display                        | 
-|  6-7  | number of diskette drives installed    | 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  Bits\\ 54  ^ Primary Display  ^ 
-|  00         | reserved         | 
-|  01         | 40 column color  | 
-|  10         | 80 column color  | 
-|  11         | monochrome       | 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  Bits\\ 76  ^ Number of Drives   ^ 
-|  00         | 1 diskette drive   | 
-|  01         | 2 diskette drives  | 
-|  10         | reserved           | 
-|  11         | reserved           | 
- 
- 
-==== Information Flags ==== 
- 
-{{anchor:post}} 
-{{tablelayout?rowsHeaderSource=Auto}} 
-^  bit  ^ Description                              ^ 
-|  0-5  | reserved                                 | 
-|  6    | initial setup message flag               | 
-|  7    | 0=none\\ 1=IBM 128k expansion installed  | 
-===== Programming Considerations ===== 
- 
-  * Write CMOS address to read or write to port 70h 
-  * Read/write port 71h to get/set data 
- 
-===== Notes ===== 
- 
-<WRAP round box> 
-  * INT 1A is used to read/set the Time of Day and Alarm.  To use the alarm, INT 4A must be a valid interrupt service routine. 
-  * configuration settings are maintained using the Motorola MC146818 Real Time Clock. Each of this chips 64 memory registers is used for storage (0-3F). 
-  * Bit 5 of the diagnostic (0Eh) status byte is set during a power on test. This Bit is set if no floppy disks are found or the display doesn't match the system display switch setting. 
-  * all addresses sent to port 70h have Bits 7&6 clear since Bit 7 of port 70h is used to enable/disable NMI. Setting this Bit 7 enables NMI, clearing this Bit disables NMI. 
-  * when masking the NMI through using port 70H, port 71H should be read immediately after or the RTC may be left in an unknown state.\\ This wont affect the PS/2 watchdog timer or system channel timeout. 
-</WRAP> 
- 
-see INT 1A 
back2root/ibm-pc-ms-dos/hardware/informations/cmos_ram.txt · Dernière modification : 2023/01/16 17:54 de frater