Jump to content

IBM PC XT Troubleshooting Guide

From RetroTechCollection

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:

  1. A single short beep within several seconds.
  2. The memory count appears in the top-left of the display (the XT BIOS displays a memory count during POST; the 5150 does not).
  3. 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]
IBM 5160 POST audio beep codes
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]
  1. Confirm +5 V, +12 V, −5 V and −12 V at the P8/P9 motherboard connector with the machine running.
  2. Reseat U18 and U19 (BIOS), the 8088 CPU, and all of bank-0 RAM.
  3. 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.
  4. Probe the 8088 clock (pin 19) and the reset (pin 21).
  5. 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.

  1. Power off.
  2. Remove the drive from the chassis.
  3. 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.
  4. 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:

  1. Loose ribbon cables. Reseat the 34-pin control and 20-pin data ribbons at both ends.
  2. Drive failure (head crash, electronics failure, spindle motor).
  3. Failed controller card.
  4. 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]