Jump to content

IBM System/23 Datamaster Troubleshooting Guide

From RetroTechCollection

This guide documents fault diagnosis for the IBM System/23 Datamaster (machine types 5322 and 5324). The Datamaster's POST is called PID-1200 and is the direct architectural ancestor of the IBM PC's POST โ€” David Bradley (who wrote both diagnostics) confirms in his 1990 BYTE retrospective: "the diagnostics system was ported to the PC and simplified, and was renamed to POST."[1] PID-1200 is unusually well-documented for an 8-bit micro because it was published in IBM System/23 Diagnostic User Guide 6841631 (April 1982).[2]

Reference Documents

[edit | edit source]
  • 6841631 โ€” System/23 Diagnostic User Guide, April 1982. Full PID-1200 test ID list with pass/fail criteria and FRU verdicts.
  • SY34-0171-0 โ€” IBM 5322 Computer Service Manual, December 1980. Theory of operation, schematics, FRU-replacement procedures.
  • SY34-0241-1 โ€” IBM 5324 Computer Service Manual, May 1982.

PID-1200 Test Output

[edit | edit source]

The Datamaster reports each PID-1200 test result in two ways simultaneously:

  1. Diagnostic probe port at the rear (driven by an 8255 PPI at I/O port 0x41). 8-bit data lines plus probe power. A field-service probe with 8 LEDs reads the 2-digit hex code of the current test. Probe output is available from the first instruction โ€” even when the CRT has not yet initialised.
  2. On-screen once the CRT is operational. Codes are 2-digit hex:
Underlined code = device missing (not a failure โ€” expected for absent optional hardware).
Inverse-video code = device present but failed.
Plain text = pass.

Critical-test failures (CPU, unpaged ROS, 8255 #2/#3) prevent any output โ€” the service probe is required to diagnose these.

Full PID-1200 Test ID Table

[edit | edit source]

Codes 01 through 3E follow IBM Document 6841631 (April 1982) and the Bits Passats community transcription.[3]

Datamaster PID-1200 POST test codes
Code Subject FRU verdict on failure
01 8085 CPU self-test Motherboard
02 First unpaged ROS ROM at 0x0000 ROS module
04 First 16 KB unpaged RAM Base memory daughter card
05 CRTC + DMA init, light-pen test 8275 / 8257 / video chain
06 8275 sync / video data 8275 or character ROM
07 CRT tube init Tube / deflection
08 ROS page register Motherboard
09 Unpaged ROS at 0x2000 ROS module
10โ€“19 Paged motherboard ROS ROMs Specific ROS module (test code = ROM index)
1Aโ€“29 ROS extensions on expansion cards Expansion card or its ROM
2Aโ€“30 Paged RAM Specific RAM block
31 CPU RAM page register Motherboard 74LS670
32 DMA page register Motherboard
33 8259 PIC Motherboard
34 8253 PIT Motherboard
35 Keyboard Keyboard, cable, 8048 firmware
36 Printer attached? Printer cable / printer
37 Printer diagnostic command/response Printer or printer port
38 FDC card present and functional 8-inch floppy controller (NEC 765)
39 +24 V drive supply PSU +24 V rail
3A Secondary printer card Optional printer-control adapter
3B Secondary printer diagnostic
3C Serial-interface internal wrap 8251 USART
3D IBM 5247 external Winchester attached? 5247 cable / unit
3E 5247 ready 5247 drive
FD System diskette installation Insert system diskette into drive

The "FD" code is what restoration accounts (e.g. Stevan Goldman on VCFed) describe being stuck at when the system passes hardware POST but cannot find a bootable diskette.

Initial Diagnosis Workflow

[edit | edit source]

Power-on sequence:

  1. Mains LED illuminates.
  2. PSU rails stabilise; Power Good asserts.
  3. PID-1200 begins running โ€” service probe shows code 01 (CPU self-test) and increments.
  4. After approximately test 07, the CRT initialises and codes also appear on screen.
  5. Each test passes (plain text on screen).
  6. After test 3E, the system displays the BASIC prompt or prompts for a system diskette ("FD" code).

If any of these does not occur, stop and diagnose at that stage.

Stage 1 โ€” No Power

[edit | edit source]
  • Mains lead, switch, mains fuse.
  • Voltage selector switch on rear of PSU set correctly. IBM ships boards with the selector in a specific position; verify before connecting mains.
  • Each rail (probe at the motherboard power connector): +5 V, +12 V, +24 V, โˆ’5 V, โˆ’12 V.
  • Power Good signal asserted? If rails are present but PG is not, the PSU's rail-monitor logic has failed.

Stage 2 โ€” Power But No POST Codes on Probe

[edit | edit source]

If the service probe shows nothing at all (not even code 01):

  • 8085 CPU not running โ€” verify clock at the CPU clock pin (3.07 MHz).
  • 18.432 MHz crystal โ€” verify oscillator.
  • Memory parity error / TRAP โ€” a shorted decoupling cap on the RAM rails will pull the 8085 into a permanent TRAP. Community advice: remove bypass caps on the RAM daughter cards as a first test.
  • 8255 #2 or #3 failure โ€” these PPIs are required for probe operation, so their failure prevents probe output.
  • Unpaged ROS failure (ROM at 0x0000) โ€” replace with a known-good ROM-adapter card.

Stage 3 โ€” Codes Present, System Halts on a Specific Code

[edit | edit source]

Cross-reference the displayed code with the table above. The FRU verdict in the right-hand column gives the first replacement target.

For RAM failures in the 2Aโ€“30 range, the specific test code identifies which 16 KB block is failing โ€” narrow down to a specific TMS4132 on the memory daughter card.

For ROS failures in the 10โ€“19 range, the test code is the index of the failing ROS module. ROS modules are numbered for diagnostic ID; replace that specific module.

Stage 4 โ€” POST Passes, Stuck at "FD" Code

[edit | edit source]

The hardware POST has completed successfully but the system cannot find a bootable diskette. Causes:

  • No diskette inserted.
  • Diskette inserted but not a valid system diskette.
  • Drive belt slipping (drive spins slowly or not at all).
  • Drive head dirty.
  • Drive head alignment offset.
  • Floppy controller (NEC 765) issue (would normally have failed at test 38, but boot-time access is more demanding).

PID-1200 Diagnostic Modes

[edit | edit source]

The Datamaster supports two diagnostic-execution modes documented in 6841631:

  • Power-on built-in test โ€” the standard 01 through 3E sequence above; runs automatically at every power-up.
  • Customer Engineer extended diagnostics โ€” loaded from a special CE diagnostic diskette; exercises peripherals more thoroughly (printer character set, 5247 surface scan, USART loopback at multiple baud rates, etc.).

The CE diagnostic diskette is rare; recovery of an image and replication to a modern floppy is the canonical restorer's task.

Memory Parity Error (TRAP)

[edit | edit source]

A parity error on a RAM read pulls the 8085's TRAP input. The CPU executes the TRAP service routine at 0x0024, which:

  1. Stops normal program execution.
  2. Displays "MEMORY PARITY ERROR" or equivalent message (if the CRT and video chain are still operational).
  3. Halts the CPU.

If parity errors occur intermittently:

  • Reseat the RAM daughter cards.
  • Inspect decoupling caps on the daughter cards (shorted decoupling causes spurious parity events).
  • Inspect the TMS4132 packages for failed dies โ€” a single-bit error within either die of any TMS4132 will trigger a parity event.
  • Inspect the +5 V rail under load โ€” a sagging +5 V rail is the most common cause of intermittent parity errors.

Common Field Symptoms

[edit | edit source]
  • Won't power on โ€” mains lead, voltage selector, PSU fuse, PSU primary.
  • Power LED but no probe / no CRT โ€” 8085 not running. Suspect shorted RAM decoupling cap (remove and re-test), unpaged ROS, or motherboard.
  • Halts mid-IPL on a code in the 10โ€“19 range โ€” Mostek MK36000 ROS module failure (the leading Datamaster ROS fault). Replace with a known-good MK36000, Motorola 68366, or community ROM-adapter card with re-burned firmware.
  • Halts mid-IPL on a code in the 2Aโ€“30 range โ€” RAM failure. Identify which 16 KB block by the test code; replace the relevant TMS4132 or the whole memory card.
  • Halts at code 38 โ€” FDC card not detected. Reseat the floppy controller card.
  • Halts at code 39 โ€” +24 V rail dead. Check PSU +24 V regulator; check the 8-inch drive spindle motors for short circuit.
  • Halts at code 3C โ€” 8251 USART internal wrap test failed. Replace USART.
  • Boots OK but keyboard does not respond โ€” Keyboard 8048 firmware failure (no recovery without donor); or keyboard cable; or motherboard 8255 PPI.
  • Boots OK but printer not responding (code 36 / 37 failed) โ€” Printer power, cable, or printer-control logic.
  • Random reboots when warm โ€” Aged linear PSU bulk filter caps. Recap (see IBM System/23 Datamaster Capacitor Replacement Guide).
  • Smell of fish from PSU โ€” RIFA X2 mains-suppression cap is venting. Replace immediately.
  • Diskette spins but no read โ€” drive belt or head; head alignment.

Keyboard Diagnosis

[edit | edit source]

The Datamaster's 83-key capacitive Model F-precursor keyboard with Intel 8048 microcontroller can fail in several ways:

  • All keys dead, no LED response โ€” keyboard cable disconnected; 8048 not powered; 8048 firmware corrupted.
  • Some keys dead, others working โ€” capacitive matrix contamination. Remove keycaps with the IBM tool, clean the foam pads under each cap, replace any with disintegrating foam.
  • All keys produce wrong characters โ€” 8048 firmware corruption or scan-row failure on the matrix.
  • Stuck repeating character โ€” physical key stuck or capacitive sense electronics on that cell drifted.

Critical reminder: the 8048 firmware on the Datamaster keyboard is unique to the Datamaster and is not interchangeable with the IBM PC's keyboard 8048 (which has different scan codes and a serial-output protocol). Replacement requires a known-good Datamaster keyboard.

IBM PC Comparison

[edit | edit source]

For restorers familiar with the IBM PC POST, the Datamaster's PID-1200 is the precursor. Carry-over and changes:

PID-1200 โ†’ IBM PC POST
Feature Datamaster PID-1200 IBM PC POST
Hex output port Diagnostic probe port at rear, 8-bit data (8255 port B) Port 80h (8-bit, on planar)
On-screen output Once CRT initialises (after code 07) Once CGA / MDA initialises
Test count 01โ€“3E (~30 distinct tests) Reduced and simplified
ROS test Tests 02, 09, 10โ€“19 ROS checksum test
RAM test Tests 04, 2Aโ€“30 Memory size test
Keyboard test Test 35 POST 301 / 304
Floppy test Test 38, 39 POST 6xx

Diagnostic Workflow Summary

[edit | edit source]
  1. Power on; watch for fans, PSU rails, Power Good.
  2. If no rails / no PG, suspect PSU.
  3. If rails OK but no probe / no CRT output, suspect 8085 / 8255 / decoupling-cap short on RAM cards.
  4. If probe output but halts at a code, look up the code in the table above.
  5. 161 / 162 / 163 do not apply โ€” Datamaster has no battery-backed CMOS.
  6. Run CE diagnostic diskette if available.
  7. Cross-reference any FRU verdict against SY34-0171-0.
[edit | edit source]

References

[edit | edit source]


  1. โ†‘ Bradley, D. J. "The Creation of the IBM PC", BYTE September 1990.
  2. โ†‘ http://bitsavers.org/pdf/ibm/system23/fe/6841631_System_23_Diagnostic_User_Guide_Apr82.pdf
  3. โ†‘ Bits Passats, "IBM System/23 Datamaster" โ€” Diagnostics section.