Last modified: Thu Jun 18 14:57:02 UTC+0200 2026 © A. Tarpai
Commented disassemblies of IBM keyboard device controller (8042) and IBM Keyboard (8048) ROM-s
A long, long time ago I analyzed and commented IBM's 8042 AT controller ROM to see how it worked (see 8042_1503033 and 8042_INTERN). Since then some new ROM dumps appeared in the MAME project - I don't check it very often - but was very happy to see the long awaited 8042 PS/2 controller on the list: 72X8455. So I revived my UPI disassembler and started to look at it.. Then only out of curiosity I was wondering what those IBM keyboards did on the other end: they have an Intel 8048 microcomputer inside, which is very similar to the 8042 UPI, so lets look at the ROM code and the internal operation how these keyboards worked too. I've found 2 IBM keyboard ROM dumps in the MAME project, which looked like from an 83-key XT and an 84-key AT Model F.
This table shows some features of these keyboards, roughly with IBM PC models in line and links to the four commented disassemblies:
| IBM Keyboard | Capacitive | Schematics IBM TechRef | KBD Controller 1K ROM dump | SENSE AMPLIFIER | Keyboard Matrix = N | PC Controller 2K ROM dump |
|---|---|---|---|---|---|---|
| 83-Key Type-1 Model F | Yes | Yes | i8048 none | 4-sense 5119699 IBM 14 | 24 x 4 = 96 | BIOS+LS322 N/A IBM PC 1981 |
| 83-Key Type-2 Model F | Yes | Yes | i8048 4584751 | 8-sense 8273565 IBM 9314 | 12 x 8 = 96 | BIOS+LS322 N/A IBM PC/XT 1983 |
| 84-Key AT Model F | Yes | No kbdbabel.org | i8048 1503099 | 8-sense 6014810 IBM 9314 | 16 x 8 = 128 | i8042 AT 1503033 IBM PC/AT 1984 |
| 101/102-Key Model M | No | Yes | M6805 none | 16 x 8 = 128 | i8042 PS2 72X8455 IBM PS/2 1987 |