"8042" PS/2 Controller: Difference between revisions

→‎PS/2 Controller IO Ports: port 61 has no keyboard related functions
[unchecked revision][unchecked revision]
(There was considerable confusion (AT instead of XT). Clarified.)
(→‎PS/2 Controller IO Ports: port 61 has no keyboard related functions)
Line 55:
== PS/2 Controller IO Ports ==
 
The PS/2 Controller itself uses 2 IO ports (IO ports 0x60 and 0x64), and has inherited an extra IO port (IO port 0x61) that may or may not be considered part of the PS/2 controller (depending on who/what you ask) but is covered here for completeness. 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}}
Line 62 ⟶ 64:
! Access Type
! Purpose
|-
| 0x61
| Read/Write
| Controller Port B Register
Note: Not related to the second PS/2 port
|-
| 0x60
Line 81 ⟶ 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 ===
Anonymous user