Jump to content

IBM System/23 Datamaster Troubleshooting Guide

From RetroTechCollection
IBM System/23 Datamaster. Source: Wikimedia Commons.

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." 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).

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 โ€” the power-on test

[edit | edit source]

Every Datamaster runs PID 1200, the Processor Power-On Test, from ROS at every power-on and whenever program flow branches to location 0000. It takes 25 to 35 seconds depending on configuration.[1] A machine that sits apparently doing nothing for half a minute is behaving normally; do not start pulling cards at ten seconds.

If the test finds nothing wrong, the machine enters BASIC and displays READY INPUT.[2]

How the test reports errors โ€” this is the part that matters

[edit | edit source]

There are two reporting mechanisms, and which one you get depends on how far the test got.[1]

  • Routines 01 to 06, before the CRT is started โ€” an error stops the machine and leaves a code in a set of hardware latches on the planar. There is nothing on the screen, because the screen is not running yet. The engineer probes the latch pins; their location is in the service manual under 1230.[2]
  • After the CRT is started โ€” the contents of those latches are displayed on the screen, and the display attribute of each routine number tells you what happened:
PID 1200 โ€” what the display attribute means
Attribute Meaning
Normal The routine ran without error.
Flashing reverse video An error in a part critical to system operation. The system stops after finishing the power-on sequence.
Reverse video An error in a part that is not critical. Pressing ERROR RESET lets initialisation continue.
Underline The feature that routine tests is not fitted. This is not a fault, and a machine covered in underlined routine numbers is simply a lightly configured one.

If a TRAP occurs during power-on testing, the failure is in the routine after the last one displayed โ€” not the one you are looking at.[1] That single rule accounts for a lot of misdiagnosis on this machine.

IBM's index of PID 1200 routines

[edit | edit source]

Reproduced from IBM's own test description table, including the critical / not-critical column, which is the column people leave out:[1]

PID 1200 โ€” index of routines
Routine Area tested Critical?
01 CPU and data bus Critical
02 ROS (CRC check of the first ROS module โ€” the one containing the test) Critical
03 Reserved Critical
04 Read/write storage Critical
05–07 CRT controller Critical
08 Page registers Critical
09–19 ROS installed on the planar board Critical
1A–29 Feature ROS installed on I/O cards Critical
2A–30 Read/write storage Critical
31 Read/write storage page register Critical
32 DMA page register Critical
33 Interrupt controller Critical
34 Interval timer Critical
35 Keyboard Critical
36 Printer attachment Not critical
37 Diagnose command to printer Not critical
38 Diskette attachment Not critical
39 +24 volts to diskette Not critical
3A Second printer attachment (feature) Not critical
3B Diagnose command to second printer (feature) Not critical
3C Internal wrap of the serial interface adapter Not critical
3D Open link to a 5247 Not critical
3E Check 5247 disk unit for READY status Not critical
FD System diskette installation Not applicable

Everything from 36 onwards is non-critical, which means a failure there does not halt the machine โ€” it shows in reverse video and ERROR RESET carries on. So "the machine halts at code 38" is not something that happens; a 38 failure means the diskette attachment did not answer, and you can still reach BASIC. Conversely, anything from 01 to 35 that fails will stop the machine after the sequence completes.

The two CE jumpers

[edit | edit source]

Two options are selected by jumpers on the CPU board (locations under 1230 in the service manual):[1][2]

  • Loop โ€” the test repeats until the jumper is removed. Disconnect the external diskette attachment cable before looping.
  • Stop on error โ€” the machine halts once the failure indicator has been displayed. IBM recommends fitting this whenever the loop jumper is fitted and the machine is left unattended.

Find and remove both before concluding that a machine is stuck in a boot loop.

Initial Diagnosis Workflow

[edit | edit source]

Power-on sequence:

  1. Mains LED illuminates.
  2. PSU rails stabilise; Power Good asserts.
  3. PID 1200 begins. Routines 01 to 06 run before the CRT starts, so any failure there appears only in the hardware latches, not on screen.
  4. From about routine 07 the CRT is running and routine numbers appear on screen with their status attributes. Total run time 25 to 35 seconds.[1] After that 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, measured at the power supply A1 card (which is where IBM's tolerances apply): +5 V (+4.6 to +5.5), −5 V (−4.6 to −5.5), +12 V (+11.0 to +13.2), −12 V (−11.0 to −13.2), +24 V (+22.0 to +26.4), Power good (+2.4 to +5.5).[2]
  • Check the five DC fuses first. F1 −5 V (0.5 A), F2 +12 V (1.5 A), F3 −12 V (0.5 A), F4 +24 V (1.5 A), F5 +5 V (10 A), and F6 on the AC input. IBM's own check is continuity on the ohms RX1 range. Never fit a fuse of a higher rating.[2]
  • Power good โ€” there is a power-good LED on the supply itself, so this can be read without a meter. IBM's tolerance for the signal is +2.4 to +5.5 V.[2]

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.
  • Reverse video on 38 โ€” the diskette attachment did not answer. This does not halt the machine; press ERROR RESET and you will still reach BASIC. Reseat the diskette attachment card and check its cable.
  • Reverse video on 39 โ€” +24 V is not reaching the diskette drives. Check fuse F4, the 1.5 A +24 V fuse in the power supply, before anything else; then measure +24 V at the supply's A1 card against IBM's +22.0 to +26.4 V band.[2]
  • Reverse video on 3C โ€” the serial interface adapter failed its internal wrap. Non-critical; the machine still boots.
  • 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 resets when warm โ€” measure the ripple on each rail against IBM's published peak-to-peak limits before assuming a capacitor is the cause; IBM gives a method that works with an ordinary meter. See IBM System/23 Datamaster Capacitor Replacement Guide.[2]
  • 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. โ†‘ 1.0 1.1 1.2 1.3 1.4 1.5 IBM, IBM System/23 Diagnostic User Guide, part number 6841631, April 1982 edition (EC 327594) — hosted on this wiki as IBM System 23 Diagnostic User Guide. Section 21, "PID 1200 (Processor Power-On Test)": the purpose, the 25-to-35-second run time, the hardware error-code latches used before the CRT starts, the display attributes used to report each routine's ending status, the loop and stop-on-error jumpers, the TRAP rule, and the complete index of routines with the area each tests and whether it is critical.
  2. โ†‘ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 IBM, IBM 5322 Computer Service Manual, SY34-0171-0, December 1980 — hosted on this wiki as IBM 5322 Computer Service Manual. Chapter 2: items 1200 (locations), 1210 (AC voltage distribution for the three supply variants and their mains-tap jumper tables), 1211 (DC voltage distribution, IBM's voltage tolerance and peak-to-peak ripple table, and the meter-and-capacitor ripple measurement method), 1212 (signal cable pin assignments), 1230 (CPU planar board and its connector pin assignments), 1240/1250/1260 (power supply layout, showing resonant capacitor C6, terminal block TB1, the power-good LED and AC input fuse F6, with the "Up to 800 Vac is generated in the power supply" DANGER notice), and 1241/1251/1261 (the F1 to F5 rail fuses and their ampere ratings). Theory of operation: the 5322 model numbering, the 305 mm (12 in.) CRT showing 24 lines of 80 characters, the 83-key keyboard, and the brightness-control warning. Chapter 5: items 1550 (AC drive motor) and 1551 (the drive motor run capacitor).

Further reading

[edit | edit source]