"8042" PS/2 Controller: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
There was considerable confusion (AT instead of XT). Clarified. |
→PS/2 Controller IO Ports: port 61 has no keyboard related functions |
||
Line 55: | Line 55: | ||
== PS/2 Controller IO Ports == |
== PS/2 Controller IO Ports == |
||
The PS/2 Controller itself uses 2 IO ports (IO ports 0x60 and 0x64) |
The PS/2 Controller itself uses 2 IO ports (IO ports 0x60 and 0x64). Like many IO ports, reads and writes may access completely different internal registers. |
||
Historical note : The PC-XT PPI had used port 0x61 to reset the keyboard interruut request signal (among other unrelated functions). Port 0x61 has no keyboard related functions on AT and PS/2 compatibles. |
|||
{| {{wikitable}} |
{| {{wikitable}} |
||
Line 62: | Line 64: | ||
! Access Type |
! Access Type |
||
! Purpose |
! Purpose |
||
|- |
|||
| 0x61 |
|||
| Read/Write |
|||
| Controller Port B Register |
|||
Note: Not related to the second PS/2 port |
|||
|- |
|- |
||
| 0x60 |
| 0x60 |
||
Line 81: | Line 78: | ||
|} |
|} |
||
=== Controller Port B Register === |
|||
The "Controller Port B Register" is a general purpose IO register that is used to control various (unrelated) parts of the chipset. Reads are treated differently to writes. |
|||
The meanings for each bit of this register for reads are: |
|||
{| {{wikitable}} |
|||
|- |
|||
! Bit |
|||
! Meaning |
|||
|- |
|||
| 0 |
|||
| PIT timer 2 gate enable/disable status (used for [[PC Speaker]]) |
|||
|- |
|||
| 1 |
|||
| Speaker Data status (used for [[PC Speaker]]) |
|||
|- |
|||
| 2 |
|||
| NMI parity check status (probably unused on modern systems) |
|||
|- |
|||
| 3 |
|||
| NMI I/O channel check check status (probably unused on modern systems) |
|||
|- |
|||
| 4 |
|||
| Memory refresh toggle (toggles when a PIT channel 0 generates a pulse, probably unused on modern systems) |
|||
|- |
|||
| 5 |
|||
| PIT timer 2 output status (used for [[PC Speaker]]) |
|||
|- |
|||
| 6 |
|||
| IO channel parity error occurred (probably unused on modern systems) |
|||
|- |
|||
| 7 |
|||
| RAM parity error occurred (probably unused on modern systems) |
|||
|- |
|||
|} |
|||
The meanings for each bit of this register for writes are: |
|||
{| {{wikitable}} |
|||
|- |
|||
! Bit |
|||
! Meaning |
|||
|- |
|||
| 0 |
|||
| PIT timer 2 gate enable/disable (used for [[PC Speaker]]) |
|||
|- |
|||
| 1 |
|||
| Speaker Data (used for [[PC Speaker]]) |
|||
|- |
|||
| 2 |
|||
| RAM parity check disable (probably unused on modern systems) |
|||
|- |
|||
| 3 |
|||
| IO channel parity check disable (probably unused on modern systems) |
|||
|- |
|||
| 4 to 7 |
|||
| Unused/reserved |
|||
|- |
|||
|} |
|||
=== Data Port === |
=== Data Port === |