akern-gkgoat-fork/sysdata/programs/ps2_driver/README.md

23 lines
1.1 KiB
Markdown
Raw Normal View History

2024-11-10 14:24:19 -06:00
# Unified PS/2 Driver
2024-11-17 15:38:07 -06:00
Te entire thing is held together inspite
2024-11-10 14:24:19 -06:00
## !!Assumptions!!
Anyone who works on this should work to keep this list as small as possible/remove as many of these as possible.
- Bit 5 of the response form 0x64 indicates which port the data is coming from. (Not true on all systems)
- A parity or timeout error never occurs.
- PS/2 controller exists.
- Both PS/2 ports being broken doesn't need handling.
- One PS/2 port being broken doesn't need special attention.
- PS/2 controller doesn't need to perform a self-check.
2024-11-17 14:30:58 -06:00
- These DeviceIDs never exist:
- 0xFFFD
- 0xFFFE
- 0xFFFF
- 0x01xx
- 0x03xx
2024-11-17 15:38:07 -06:00
- 0x04xx
- Literally all PS/2 keyboards can be handeled the exact same way. We have the capability for detecting different keyboard types, I just don't bother with it because that would litreally take months to get working.
2024-11-17 15:59:05 -06:00
- The device doesn't send any data while we're waiting for an `ACK`.
2024-11-17 15:38:07 -06:00
Supporting mice in the keyboard port and vice versa was a ***bad*** idea, but I do not regret it because it means we're "superior" to real world operating systems.