return to main page

IBM 1401 CHM Restoration Project Status

as of June 18, 2007
by Robert Garner


The 1401 restoration team has volunteered for ~9,000 volunteer hours (~245 work day, ~1,500 person-days). The initial restoration phase of the project--defined by the 1401 CPU, 1402 reader/punch, 1403 printer, 1406 extended memory, one 729 tape drive and several 026 card punches operational--has been achieved. All units have been restored to a functional state and are working well enough that we're ready to begin simple system demonstrations.

1401 CPU:

All of the CPU's 34 instructions are operational, based on short instruction tests entered via operator panel and execution of many of the standard diagnostic decks. The CPU has been reliably stable and is maintaining its health. All of the serious temperature dependencies, due to slow logic signal edge transitions, have been repaired.

machine code
(prints as)
operation machine code
(prints as)
1 Read a Card M Move Characters to A or B Word Mark
2 Write a Line (Print) N No Operation
3 Write and Read P *- Move Characters to Record or Group Mark
4 Punch a Line Q *- Store A Address Register
5 Read and Punch S Subtract
6 Print-Punch U Unit Control
7 Print-Read-Punch V Branch - WM or Zone
8 *- n/a Start Read Feed W *- n/a Branch if Bit Equal
9 *- n/a Start Punch Feed X *- n/a Move and Insert Zeros
A Add Y Move Zone
B Branch Z Move Characters and Suppress Zeros
C Compare . Halt
D Move Numeric [] Clear Word Mark
E Move Characters and Edit / Clear Storage
F Control Carriage , Set Word Mark
H *- Store B Address Register % *- Divide
I (-) Zero and Subtract # *- Modify Address
K Select Stacker @ *- Multiply
L Load Characters to A Word Mark ?(&) Zero and Add

*- Pertains to an optional feature.
n/a = Not Available - disabled for our 1401
Opcode names and options as per IBM publication A24-1403-5 (April, 1962 page 24-5)

Front panel and diagnostic switches: All operational, except Full Storage Print.
TAU diagnostic switches: All are operational.

1401 CPU Outstanding Issues:

  1. There still remain slow, out-of-spec logic edge transitions that need to be discovered and fixed.
  2. False "A Register Check" parity errors are occasionally generated. Until this false error is isolated and fixed, it can be disabled by a jumper that masks the false checks (by enabling RAMAC-mode).
Elapsed Time Meter:
69,900 - 68,730 = 1,170 power-on hours since restorations started in April, 2004.

Core Memory (4K in 1401, 12K in 1406 Extended Memory):

All of core memory is now fully operational! (A broken wire in the 1406 memory stack was miraculously repaired and a faulty card in the addressing logic was replaced.)

SMS Cards:

Out of the total of ~3,000 SMS cards (~223 types) in the system, 107 have been found defective to date. Most of these have been repaired. This corresponds to an annual failure rate of 1/8 % per year since the system was last operated in 1977.

It's been fairly tedious finding faulty, marginal and slow SMS cards by debugging faulty behavior at the system level (especially since some of the system faults were temperature dependent). There is a proposal to design a specialized stand alone SMS card tester that would stimulate input terminals with a variety of different waveforms and measure output terminal current, voltage, and time characteristics, margin high/low supplies, and margin high/low temperature, etc. This would be very useful as it's impossible to know for certain how many (and which) cards are "on the edge" by being marginal. Also, most of the SMS cards need to be cleaned of dust, dirt and grime, as it encourages moisture/condensation and increases thermal resistance.

SMS cards have failed due to corroded iron(!) component leads, failed Germanium transistors and diodes (cracked cases, open leads, leaky junctions, weak beta's, strange "loopy" collector I-V vs. base current curves possibly due to base "pinching/heating"(?), and shifted avalanche breakdown voltages which cause the transistor to latch up, failed inductors, marginal resistors, broken board traces, and open fuses.

Assuming we've exercised ~97% of the SMS cards to date, the cumulative, total card failure rate is 107/3000/0.97 = 3.7%, which corresponds to an annual, constant SMS failure rate of 0.125% per year since the 1401 was last operational, 30 years ago in 1977. (Annual failure rate calculation is "1 - (1 - 0.034)^(1/30)" )

NO problems have been found in the wire-wrapped gate backplanes, gate cable bundles (which flex when gates are moved), the long bundled internal wiring harnesses in the 1401, or the gargantuan intra-cabinet cables or connectors. There was only a single open panel wire and several bad panel toggle switches. (Fairly amazing, considering the system was stored in a humid German automobile garage for three decades!)

1402 Card Reader/Punch:
The card reader and punch units are fully operational.
We'll probably need/want to restore all of the 1402's ball bearings in the not too distance future....

1403 Printer:

The line printer is fully operational and has been rock solid for over a year.
729 Tape (2 model II, 1 model IV, 2 model V):
A single Model V unit is now fully operational, as judged by the tape diagnostics (although there are occasional errors which appear to be due to bad tape spots). However, the 729 unit is not yet stable, as there are several problems, including a read channel data error, improper tape handling, and capstan motor issues.

The four remaining 729 units are in the process of having their rebuilt drive motors, magnetic clutches, capstans, rewind motors, and prolays re-installed, starting with the other Model V and the Model IV. Other pending 729 mechanical work includes all new carbon clutch contact brushes, remaking of rubber capstans, and flex coupling for rewind motors.

TAU Analyzer/729 Simulator:

The custom-designed "TAU Analyzer/729 Simulator" hardware adapter comprises a PIC-based control unit, USB-interface, and tape channel analog interface (incl a ribbon cable with modified 1401 biscuit connector). It can properly respond to simple commands from the TAU Panel (such as select and rewind), but can not perform tape write/read operations yet nor upload data into the TAU. A complete design specification for the analyzer/simulator, its Java GUI interface and a Windows kernel driver exist.

Here's the current status of the TAU Analyzer/729 Simulator. Lots of programming remains to be done!

  1. GUI interfaces--standalone Java applications or Java Applets running in a browser environment--are defined, coding not started.
  2. Daemon Java Application--architected to run on USB-connected host communicates with the GUI interface, synchronizes requests, and sends them to the Analzyer--is defined, not started.
  3. Java wrapper layer to the Adapter's device driver is written, but not debugged. Also the Java .dll interface to the Driver are defined, no C++ code written.
  4. Kernel .sys Driver--performs 1401 time critical operations on the host-- has specification written, and coding 50% complete.
  5. Adapter Firmware--consisting of real-time, microsecond-level software running in the Analyzer's PIC processor --has its specification written, coding 50% complete, and a subset of the functionality debugged (sending and receiving messages on the USB port.)
026 Printing Card Punch:
There are now three 026 punch units in the room: all three are now fully functional.
These 3 punches are planned to be used by visitors as part of the public demo and programming sessions.
077 Collator:
The 077 Collator is fully operational (except for nine compare positions due to faulty relays, which will not be repaired by swapping with same in 077 in visible storage).
The 077 now has plastic covers so the multitude of gears and shafts can be viewed while it's operating.
083 Sorter:
The 083 Sorter is fully operational, although not uncommonly jams, so efforts are focusing on feed knives.
513 Reproducing Punch:
The Museum's "new" 513 duplicator has been disassembled to ascertain it's restorability. There are several serious problems: columns 70-80 punches and interposers are broken (the "interposer knock-off bar" must have detached on column 80 side), worn Geneva gear bearings, contact roller drive worn. Plan is to swap the punch-magnet unit from compatible 519 Document-Originating Machine in invisible storage with the 513's unit, as the only way to restore broken punches/interposers.
AC Power Converter:
The 18-kVA Pacific Power static power converter has remained fully functional for over two years now. (It converts from 60-Hz, "delta" 208-VAC line-to-line to 50-Hz, "Y" 380 VAC line-to-line.)
Ron Mak developed and maintains a fullly operational 1401 programming environment called ROPE which runs under Windows and Linux. ROPE assembles an Autocoder source (using Van Snyder's Autocoder) and produces error listings, final listing, and an ASCII object deck for the integrated SIMH 1401 simulator (from Bob Supnik). Currently, data cards must be manually inserted via an editor before running SIMH. There are two (limited) ways to get the object deck into the 1401: Either manually key punch it or send the ASCII object file to the card supply/punching company Cardamation in Phoenixville, PA. (We may be able to upload binaries via the TAU Analyzer/729 Simulator. When the 729 tape drive is fully operational, we should be able to run Autocoder on the 1401 itself. A single-tape Autocoder is believed to have existed.)

Ron is planning on several upgrades to ROPE (when he finds the time!), including the ability of the assembled program to read cards at run time, and to upgrade to Van Snyder's latest Autocoder version.

Van Snyder, 1401 programmer exemplar, analyzed and then modified the 1401 tape diagnostic 5300 so that it will write the following (diagnostic) cards onto an executable "diagnostic tape." This will allow us to easily run the 1401 diagnostic decks without having to rely on the punched cards.

Van has also manually keyed in the Autocoder source listing (while writing a disassembler and crossassembler to verify binaries), and reverse engineered and verified many of the 1401 diagnostic decks, a 1401 FORTRAN "II" compiler, the SORT7 source tape, an exerciser/demo deck from HzG's 1401, and two dump programs. Waiting for reverse engineering is SSPS and key-in/assembly an original Fortran source listing from Gary Mokotoff.

Ed Thelen and Dan McInnis have written, debugged and run several small programs, including computing pi to 2000 digits (8K) and the proposed demo program BIG PRINT for printing visitor's card-punched name and stock 1401 history/info as a demo takeaway. Ron Williams has written many concise diagnostic test programs, both on cards and for front-panel toggle switches, including printing a powers of 2 table (actually any digit 2-9, and the current take-home programming assignment ;-)

1401 System Background:
Our 1401 was built May 1964 and operated 24/7 by Volkswohl Versicherung (“People’s Welfare”), an insurance company in Dortmund, Germany until 1972. Its IBM Customer Engineer (CE), Arnold Schweinsberg, procured the 1401 and formed his own accounting services company catering to small businesses such as newspaper/magazine publishers. Arnold operated the system in two 8-hour shifts until 1977, when it was retired to a shipping company warehouse for 11 years. In 1988 it was moved to his automobile garage in the hamlet of Hamm, Germany where it remained for 16 years. It first came to our attention when Arnold first listed it on the German eBay in 2003. After we purchased it for 18,000 Euros, it was boxed and shipped (for 8,580 Euros, paid by IBM Almaden Research), via an ocean shipping container to the Computer History Museum, arriving on March 18, 2004. We've been restoring it for over three years now.
Restoration Objective:
Goal of the restoration project is to bring the entire 1401 system and peripherals up to full and normal operation and to present live demonstrations and offer programming and instructional classes. The intention is to also run other card/unit record handling equipment, including several 026's for visitors to submit data during demo sessions and to operate the 077 collator and 083 sorter. Perhaps other unit record equipment, such as a reproducing punch, may also be restored.

After restoration, we expect the system to be operated about twice a month, for as long as an active and involved team is willing and able to maintain and keep it running. There is a written plan to offer public hands-on demonstrations and programming classes.

About 6-10 retired IBM Customer Engineers and volunteers regularly attend restoration work sessions every Wednesday and Thursday plus other days a week and the 2nd and 4th Saturday's (~12 days per month). Several, "younger", non-IBM-CE volunteers have jointed the restoration team.