IBM PC XT Troubleshooting Guide
This guide provides systematic, component-level troubleshooting for the IBM Personal Computer XT (5160). It covers the POST audio beep codes, the complete numeric error code list, parity errors, MFM hard drive faults, the XT-specific known problems documented by minuszerodegrees.net, and the differences from the 5150 troubleshooting flow. The XT shares its 8088 CPU, ISA bus, and BIOS-conventions with the 5150, but several specific behaviours differ โ those differences are flagged inline.
The POST is only a confidence test, not a comprehensive diagnostic. The absence of an error code does not prove the corresponding subsystem is good โ for example, the lack of a 201 does not mean RAM is healthy, and the lack of a 1701 does not mean the hard drive is healthy.
Preliminary & Power-up Checks
[edit | edit source]Like the 5150, the XT has no on-board POST code output port on the original motherboard โ a hardware POST card plugged into an ISA slot will not show meaningful codes.
POST sequence summary
[edit | edit source]On a healthy XT, power-up produces:
- A single short beep within several seconds.
- The memory count appears in the top-left of the display (the XT BIOS displays a memory count during POST; the 5150 does not).
- The machine attempts to boot from the hard disk, then from the floppy in drive A, then falls back to Cassette BASIC if no boot device is found.
POST audio beep codes
[edit | edit source]| Pattern | Meaning |
|---|---|
| 1 short beep | POST OK |
| No beep, no video | PSU, CPU, clock, reset, bank-0 RAM, or (on 1986 BIOSes) U19 ROM failure |
| 1 long + 1 short | System board failure |
| 1 long + 2 short | Video adapter failure. On the 1986 BIOSes, also produced by a corrupted HDD ROM at C8000 (a documented bug โ see Known Problems). |
| 1 long + 3 short | EGA / VGA card failure (where supported) |
| Continuous short beeps | PSU fault |
| Repeating short beep cycles | RAM failure |
Numeric POST Error Codes
[edit | edit source]The XT uses the same IBM POST numeric error code convention as the 5150 and the AT. The code format is "XYZZ" where the first one or two digits identify the failing subsystem (the "device number") and the remainder describes the specific failure. The device number followed by 00 indicates a successful test pass for that device.
1xx โ System board errors
[edit | edit source]| Code | Meaning |
|---|---|
| 101 | System board failed |
| 102 | BIOS ROM checksum error |
| 103 | BASIC ROM checksum error |
| 104 | Interrupt controller |
| 105 | Timer |
| 106 | Converting logic test failure |
| 107 | Adapter card or math coprocessor (NMI) |
| 108 | Timer bus test |
| 109 | DMA test error |
| 121 | Unexpected hardware interrupt |
| 131 | Cassette wrap test failed (rarely seen on XT โ XT has no cassette port) |
| 199 | User indicated configuration not correct |
2xx โ RAM errors
[edit | edit source]| Code | Meaning |
|---|---|
| 201 | Memory test error. The format xyzz indicates failing bank and bit position. |
| 202 | Memory address error (address lines 0-15) |
| 203 | Memory address error (address lines 16-23) |
3xx โ Keyboard errors
[edit | edit source]| Code | Meaning |
|---|---|
| 301 | Keyboard did not respond to software reset, or a stuck key. A number preceding 301 is the scan code of the stuck key. |
| 302 | User indicated keyboard error |
| 303 | Keyboard or system board error |
4xx โ Monochrome display adapter errors
[edit | edit source]| Code | Meaning |
|---|---|
| 401 | MDA memory test, horizontal sync, or video test failed |
| 408 | User indicated display attributes failure |
| 416 | User indicated character set failure |
| 424 | User indicated 80ร25 mode failure |
| 432 | Parallel port test failed (printer port on the MDA) |
5xx โ Colour graphics adapter errors
[edit | edit source]| Code | Meaning |
|---|---|
| 501 | CGA memory test, horizontal sync, or video test failed |
| 508-564 | User-indicated CGA display attribute, character set, mode, and light-pen test failures |
6xx โ Diskette drive / adapter errors
[edit | edit source]| Code | Meaning |
|---|---|
| 601 | FDD adapter power-on diagnostics test failed |
| 602 | Diskette test failed (boot record not valid) |
| 606 | Diskette verify function failed |
| 607 | Write-protected diskette |
| 611 | Time-out (diskette status returned) |
| 613 | Bad DMA (diskette status returned) |
| 621 | Bad seek (diskette status returned) |
| 622 | Bad CRC (diskette status returned) |
| 623 | Record not found |
| 624 | Bad address mark |
7xx โ 8087 math coprocessor errors
[edit | edit source]| Code | Meaning |
|---|---|
| 701 | 8087 coprocessor test failure. If no 8087 is fitted, set SW1 bit 2 to OFF. |
9xx / 11xx / 13xx / 14xx โ Other adapters
[edit | edit source]- 901 โ Parallel printer adapter test failed.
- 1101-1157 โ Asynchronous (RS-232) communications adapter test failures (the XT shipped with this card as standard).
- 1301 โ Game adapter test failed.
- 1401, 1404 โ Printer / matrix printer test failures.
17xx โ Fixed disk (hard drive) errors
[edit | edit source]Of particular relevance for the XT, which shipped with an MFM hard drive on most submodels.
| Code | Meaning |
|---|---|
| 1701 | Fixed Disk Adapter POST error โ controller cannot communicate with the drive |
| 1702 | Adapter error |
| 1703 | Drive error (seek) |
| 1704 | Adapter or drive error |
| 1705 | No record found |
| 1706 | Write fault error |
| 1707 | Track 0 error |
| 1708 | Head select error |
| 1710 | Read buffer overrun |
| 1711 | Bad address mark |
| 1713 | Data compare error |
| 1714 | Drive not ready |
| 1780, 1781 | Disk 0 / Disk 1 failure |
| 1782 | Disk controller failure |
18xx โ I/O Expansion Unit errors (5161)
[edit | edit source]- 1801 โ IBM 5161 Expansion Unit POST error. Also generated by a non-slot-8-compatible card placed in slot 8 of the 5160 motherboard.
- 1810-1821 โ various I/O extender / receiver card faults.
Power-up Symptom Table
[edit | edit source]| Symptom | Probable cause | Action |
|---|---|---|
| No fan, no LED, no beep | Dead PSU; mains; switch | Test mains; measure PSU rails with motherboard disconnected |
| Fan runs, no beep, no video | Bank-0 RAM, U18 (or U19 on 1986 BIOS), or CPU | Reseat U18/U19 and bank-0 RAM; probe clock and reset at 8088 |
| Fan runs, F6000 ROM on screen, boot continues | U19 BIOS chip failed (on 1982 BIOS only) | Replace U19. On 1986 BIOSes this condition produces a dead board instead. |
| Tantalum cap audibly pops, PSU latches off | Short-circuit tantalum on the motherboard (especially C56) or an ISA card | See IBM PC XT Capacitor Replacement Guide |
| Fan runs, 1701 error | HDD controller cannot communicate with the drive | Reseat ribbons; verify +12 V; check for stiction on cold spin-up |
| Fan runs, repeating reset / POST loop | Bad PSU under load; bad RAM; or SW1 bit 1 in the ON position (known XT bug) | Check SW1 bit 1 first |
| 1801 error at POST | Card in slot 8 is not slot-8 compatible; or 5161 fault | Remove the slot-8 card and retest; or troubleshoot the 5161 |
No-beep / No-video Diagnostics
[edit | edit source]- Confirm +5 V, +12 V, −5 V and −12 V at the P8/P9 motherboard connector with the machine running.
- Reseat U18 and U19 (BIOS), the 8088 CPU, and all of bank-0 RAM.
- On a 1986-dated BIOS, a failed U19 produces a silent dead motherboard (because U19 carries part of the BIOS, not just Cassette BASIC). Try a known-good U19 from another XT or burn a fresh EPROM.
- Probe the 8088 clock (pin 19) and the reset (pin 21).
- Piggyback a known-good RAM chip on each bank-0 position in turn.
Parity Errors
[edit | edit source]- PARITY CHECK 1 โ error is in motherboard RAM.
- PARITY CHECK 2 โ error is in expansion-card RAM.
The numeric format xyzz indicates failing bank and bit position. On the 64-256KB motherboard banks are 00, 04, 08, 0C for banks 0-3; on the 256-640KB motherboard the first two banks are 256 KB each.
If reseating doesn't fix it, replace the indicated chip. If the failing position moves between resets, suspect DRAM refresh โ the 8237 DMA controller generates refresh cycles; a bad 8237 produces random RAM errors.
MFM Hard Drive Diagnostics
[edit | edit source]The XT's standard 10 MB Seagate ST-412 / Xebec 1210 controller combination, and later 20 MB Seagate ST-225, have well-known age-related faults.
Stiction
[edit | edit source]After years of storage, the heads can stick to the platter and prevent the spindle motor starting. Symptom: the spindle hums briefly then stops on power-up.
- Power off.
- Remove the drive from the chassis.
- With the drive vertical and not connected, gently tap the side of the drive (a few millimetres of movement against your other hand) to free the heads.
- Power the drive on its own to confirm it spins up.
"1701" at POST
[edit | edit source]The Fixed Disk Adapter cannot communicate with the drive. Causes in order of probability:
- Loose ribbon cables. Reseat the 34-pin control and 20-pin data ribbons at both ends.
- Drive failure (head crash, electronics failure, spindle motor).
- Failed controller card.
- Insufficient +12 V supply to the drive's spindle motor.
"C800 ROM" message at POST
[edit | edit source]The HDD controller's BIOS expansion ROM at address C8000 has a checksum error (or is corrupt past the first two bytes). On the 11/08/82 5160 BIOS this is displayed as "C800 ROM" on-screen and the boot continues. On the 1986-dated BIOSes, the same condition produces a "1 long + 2 short" beep that looks like a video failure โ see Known Problems below.
Keyboard Failures
[edit | edit source]301 error
[edit | edit source]- Reseat the DIN-5 connector at the rear of the case.
- Swap to a known-good IBM Model F (83-key) or, if it is an XT-protocol Enhanced Keyboard, a known-good Enhanced Keyboard. The XT does not accept AT-protocol keyboards (the 84-key Model F AT, the standard 101-key Model M) without a protocol converter.
- If the suspect keyboard works on another XT, the 5160's keyboard interface logic is at fault.
Known Problems and Issues (per minuszerodegrees.net)
[edit | edit source]The following are well-documented 5160-specific quirks gathered from minuszerodegrees.net's long-running motherboard failure history.
POST looping with SW1 bit 1 ON
[edit | edit source]When the POST finishes, it may restart in a loop with no error displayed. One documented cause is Switch 1 on motherboard SW1 in the ON position. Verify SW1 bit 1 is set correctly for the installed RAM.
U19 part of Cassette BASIC on 1982 BIOSes
[edit | edit source]On the 11/08/82 BIOS, chip U19 contains part of IBM Cassette BASIC and is not critical to motherboard operation. If the POST detects a failed U19, it displays "F6000 ROM" but boot continues (only Cassette BASIC is lost).
On the 01/10/86 and 05/09/86 BIOSes, U19 also contains part of the BIOS itself. A failed U19 on these BIOSes produces a 'dead' motherboard. If a board with the 1986 BIOS is dead, U19 is a candidate to swap or re-burn.
1986 BIOSes may not support the IBM 5161
[edit | edit source]The 01/10/86 and 05/09/86 BIOS revisions may not support an IBM 5161 Expansion Unit. If the 5161 stopped being recognised after a BIOS upgrade, this is the likely cause. If the 5161 is required, stick with the 11/08/82 BIOS.
1986 BIOSes have a documented symptom
[edit | edit source]The 01/10/86 and 05/09/86 BIOS revisions are known to cause a specific symptom documented at minuszerodegrees.net. If a 1986-BIOS XT exhibits unusual POST behaviour with no other apparent cause, consider this a candidate.
Slot 8 compatibility
[edit | edit source]Cards placed in expansion slot 8 must be slot-8 compatible. A non-compatible card in slot 8 generates an 1801 error at power-on. Many accelerator cards and some video cards have this requirement.
BIOS ROM expansion address conflicts
[edit | edit source]IBM reserved the address space C0000-C7FFF (32 KB) for video BIOS expansion ROMs, with HDD controller BIOSes typically at C8000. Some VGA cards extend their BIOS past C7FFF and conflict with the HDD controller. Microsoft's KB article Q63588 documents this conflict.
27256 EPROM replacement compatibility
[edit | edit source]Early 5160 motherboards are wired for Mostek MK37000/MK38000 mask ROMs in U18 and U19. A replacement 27256 (or 27C256) EPROM usually works, but some brands may not be compatible โ see minuszerodegrees.net's U18/U19 socket compatibility notes.
16-bit ISA cards in 8-bit slots
[edit | edit source]Same caveat as the 5150 โ some 16-bit ISA cards advertised as "8-bit slot compatible" do not work in the XT's 8-bit slots. They may require reconfiguration or wider slot spacing than the XT provides.
V20 swap compatibility
[edit | edit source]Swapping the 8088 for an NEC V20 gives a 20-30% speed boost on most code, but the V20 emulates an 80186-class instruction set that breaks a small number of programs.
Component-level Tests
[edit | edit source]Voltage test points
[edit | edit source]| Test point | Expected | Notes |
|---|---|---|
| 8088 pin 40 (Vcc) | +5 V | Main logic rail |
| 8088 pin 19 (CLK) | ~4.77 MHz square wave | From 8284 clock generator |
| 8088 pin 21 (RESET) | Low at power-on, high after Power Good | |
| DRAM Vcc | +5 V | |
| HDD +12 V at drive connector | +12 V under load | Sag here causes 1701 errors |
| Power Good (P8) | +5 V, rises ~100-500 ms after +5 V is stable |
References
[edit | edit source]- IBM, IBM Personal Computer XT Guide to Operations (part 6936831, 1983). Source for the standard configuration and operation.
- IBM, Personal Computer Family Service Information Manual (January 1989, document SA38-0037-00). Source for the submodel-by-submodel diagnostic data.
- IBM 5160 โ Known Problems / Issues, minuszerodegrees.net (Brad Parker). Primary source for the "Known Problems" section above.
- IBM 5160 โ POST โ Some errors (on-screen, or otherwise), minuszerodegrees.net.
- 5160 BIOS Revisions, minuszerodegrees.net.
- DIAGS โ IBM PC Diagnostic Error Codes, Stanislavs.org / HelpPC. Source for the comprehensive POST numeric error code list reproduced above.