Repair of the printer from the mainframe IBM 1401 era 60
The IBM 1401 mainframe (left) in the Computer History Museum prints
Mandelbrot's fractal on the printer 1403 (on the right)
In Museum of Computer History for demonstration of there are two main IBM 1401 mainframe workers, but a few weeks ago one of them suddenly had a printer failure. I helped to fix it, but it was more difficult than we expected. Along the way, I had to study the logical schemes for checking errors in the printer, the print buffer, and even low-level signals of ferrite memory. This article is about our investigation and how we still found the faulty germanium transistor.
main bestseller mid-60's: more than 1?000 systems were installed. The computer was rented for $ 2500 per month (about $ 2?000 at current prices): a very low price, which allows even medium-sized enterprises to use it for calculating wages, accounting, billing, and many other tasks. IBM 1401 is made of small printed circuit boards (called SMS cards) connected to blocks called gates or gates. The photo below shows 1401 with one of the open gates. Dozens of brown SMS-cards are seen.
Computer IBM 1401 with one of the open gates, where you can see a lot of printed circuit boards (SMS cards). The fan on the front cover cools the cards
One of the main sales drivers for the IBM 1401 is the IBM 1403 high-speed line printer, which output 10 lines per second (IBM claimed it was four times faster than other printers, but competitors contested this claim). The printer 1403 printed excellently: this quality was able to surpass only the laser printers of the 1970s.
A close-up of the chain with the letters (upside down) of the linear printer IBM 1403
The 1403 printer used a long chain with letters (pictured above), which rotated at high speed over the paper and the ribbon. A hammer and an electromagnet are mounted on each of the 132 printed positions. At a certain point, when the desired symbol passed through the hammer, the electromagnet pushed it towards the back of the paper, as a result of which the paper and tape were beaten by the letter on the chain, printing the symbol.
2 "Reference Manual 1401" , p. 11
Unfortunately, the printer in the Computer History Museum had a problem: every time the line was printed, the computer stopped because of a "Print Verification" error. Fortunately, the museum has a group of volunteers who help maintain the system in working order. Among the specialists who participated in solving this problem were Ron Williams, Frank King, Mark Verdill, Carl Claunch, Michael Marinue, Robert Garner and Alexei Toptygin. By the time I came to the rescue, Ron had written a simple test program that repeatedly tried to print a line; he switched to manual mode and turned off error checking. The printer typed the characters as they should. Therefore, we assumed that the problem is in the logical scheme of error messages inside the computer. The strategy was to find the error signal, track it to the source - and determine the cause.
We started by examining the latch circuit, which contains the condition of a print-check error and sends it to the computer. To find the chain, we consulted the documentation: computer-generated schematic drawings, which are called Automated Logic Diagrams (ALD). Below is a small section of ALD with a print check trigger (PR CHK LAT). Each rectangle on the ALD corresponds to the scheme on the SMS-card, and the lines show the connection of the cards to each other. Decoding the text inside the field on the right indicates a map of type 2JMX , realizing the function "2 + AO", which in modern terms is a logic scheme AND-OR with inverting . The text in each field also indicates the location of the map: its gate (physical hinged gate, not the logical gate), in this case the gate 01A? and the position of the map inside (F10). Thus, in order to check the output of the shutter (designated H) by the oscilloscope, we opened the gate 01A? found the F10 card and connected the oscilloscope to the contact H.
We found that pin H produces a low signal (error) when contacts F and G are under voltage, which is the correct behavior for the shutter. The G contact (PR CK SAMPLE) is essentially a clock pulse for the error status probe, while pin F is the error signal itself. Our next task was to determine what causes the error signal on pin F.
A fragment of the automated logic circuit (ALD) of the IBM 1401 computer showing the print check (PRT CHK LAT). This page is signed as ???.2 by
In the documentation there are also schemes on the logical level. They are slightly easier to understand than the physical connections on the ALD charts. The logic diagram below shows the printer's error circuit. On the right, the print check error (PRT CHK ERROR) signal exits the shutter (PR CHK LAT), which contains the error signal. (This is the same shutter as in the ALD chart above, as is clear from the signal names). To the left of the shutter several different error states are combined to form an error signal fed to the gate. (Note that the IBM logical characters do not correspond to the standard ones.) A semicircle is a logical OR gate, and not I. A triangle is a gate I. The "i" symbol in the rectangle is the inverter).
Logic scheme of error checking logic in IBM 1401/1403. From "Instructions on logical schemes" , page 7? "Control elements of the print buffer"
A print validation error can result in several conditions 3 3r3r???r3r3254. 5
A close-up of the electromagnets in the IBM 1403 printer. The electromagnet (when receiving a pulse through its pair of wires) draws out a metal anchor that controls the hammer, paper and tape in front of the letter. A total of 132 hammers were installed, one for each column, two rows of 66 pieces of
After some complicated manipulations,
6 8 "Instructions on logical schemes" , page 7? "Control elements of the print buffer"
We found that this circuit recorded false values of 1 in the core, because it read the false values of 1 from the core. But so we went around in a circle: it is unclear, the primary problem in reading or writing. To solve the problem, we set the oscilloscope to print scan 49 when the PLC bits are cleared, and then looked at the next print scan that reads the cleared bits. We saw how the 0 (ie, the high voltage PR LINE COMP INH) was recorded, but we suddenly saw that 1 (the PR LINE COMP shutter) was being returned. We realized: something is happening at a low level in ferrite memory.
It should be mentioned that in the standard 1401 system, the printer's control bits are stored in the main ferrite memory module, but our system uses a separate "print memory" to improve performance. The performance problem is related to how the printer uses memory: every time the hammer is opposite the desired letter on the tape, the computer reads the corresponding symbol from memory and starts the electromagnet if the symbol in the storage corresponds to the symbol under the hammer. And it turns out that during the printing process, memory is continuously used - and the computer can not make any calculations during printing. Therefore, a separate print memory was implemented on 132 cores, which acts as a print buffer. 7
This is the gate with the print buffer chips. To the memory block in the upper right corner are connected bunches of yellow wires
The photo above shows the gate, which implements the function of the printed buffer. The main memory module is a block in the upper right corner with yellow wires. (Separate ferrite cores can be seen in the photo below). Ferrite memory requires a large number of auxiliary circuits. To select an address, the driver card generates X and Y signals. To magnetize the core, the signal is combined with the clock pulse, then the control card amplifies the signal and sends it over the ban bar that passes through all the cores in the matrix.
9 HN seemed to be a candidate for refusal, because she works at a high voltage. We changed the map - but the printer still could not be started. Then I tried to look at the input of this card - and found that there was no signal on one line.
The chart of the oscillograph of the bad CHWW chart with the AND gate: the pink (3) and the blue (4) correspond to the input signals, the cyan output (2) is stuck at a high voltage of
The missing signal generated a type card. CHWW , a NAND gate that combines the inhibit bus signal with a clock pulse before being sent to the control card. I connected the oscilloscope to the inputs and outputs of the gate and fixed the signal parameters shown in the illustration above. This trace speaks for itself: the output (cyan 2) remains high, even when both inputs (pink 3 and blue 4) change from low to high. It is immediately evident that the valve is defective. This explains everything: with such a stuck value, only the values 1 are written to the PLC matrix. After printing the symbol, the circuit reads the value of 1 from memory, thinks that the symbol has already been printed, the PLC check fails and a printing error occurs.
The printer works successfully, printing the degree of 3 3 r3r3345.
We replaced this card - and the printer started printing without errors (photo above). This proves that we have finally figured out the problem; it turned out to be a simple AND-NO gate in the depth of the ferrite memory circuit of the printed buffer. A defective card is shown below. On it are three NAND valves (
? details ) At diode-transistor logic (which IBM calls CDTL - Complemented Transistor Diode Logic). Each gate with two input signals uses a single germanium transistor (a round metal element) and two diodes (striped glass components on the right). Left - load resistors (striped) and inductors (beige).
A faulty CHWW card from IBM 1401. It has three NAND valves. The lower left transistor failed and was replaced by
I tested the card with the signal generator and found that two of the three gates were working and the third was stuck on the high output signal, confirming the observations inside the 1401. Next I checked the transistors in diode testing mode on the multimeter. On good transistors, the voltage dropped to ??? V. (This may seem like a low value, but remember that these are germanium, not silicon transistors). For comparison, on a bad transistor, the voltage dropped only to ??? V. Finally, we removed the transistors and tested them on a vintage characterized by Tektronix 577 . We thought that a bad transistor would be too weak to control the shutter, but he was completely killed - a perfectly flat line on the characterization.
We opened the transistor on a lathe and looked inside. There, the germanium alloy is used. IBM 083 NPN (germanium was used before silicon). The transistor consists of a tiny germanium substrate (a shiny metal square in the photo below) that forms the base. Two wires emitter and collector are connected by spots of tin alloy. Under the microscope, it seems that the alloy points have undergone corrosion, and the emitter wire does not look securely connected: we suspect that this is the main cause of the failure.
Inside the faulty germanium transistor IBM 083. A silver square in the center is a germanium substrate connected to the pins of the cap. The point in the middle is a tin alloy for the collector, which is connected by a wire to the collector pin on the left. The smaller point on the other side of the germanium matrix forms an emitter connected to the contact on the right
It was more difficult to study this problem than most IBM 1401 problems. But we managed to find the reason, replace the faulty card and return the printer to life. One advantage of IBM 1401 over modern systems is that it's not a black box: you can look inside any circuit, up to individual transistors. In this case, we were able to find a damaged transistor that caused the system to malfunction, and even to determine that it was probably killed by corrosion.
Notes and references
Nonius ). In particular, every 11.1 microseconds the chain moves by ??? inches. This leads to a new alignment of the malleus and type of letter. For mechanical reasons, every third hammer is built in the queue to the end of the line (? ? ? ); this is called "subscan" and takes 555 microseconds. Two more prompts allow each hammer to work in the line, forming a scan scan (print scan) at ??? milliseconds. 48 scans allow each hammer to print each character, and after that the 49th scan is used to check for errors. (For more detailed calculation of the time, see
? "Operation Manual"
, P. 37.).
The mechanism of scanning and crawling may seem extremely complicated. But he manages to combine a fast "electronic world" with a slower "mechanical world". In particular, combine the hammer with the letter every 11.1 microseconds. The computer reads the symbol in this column from the memory core, compares it to the letter, and if they match, it starts the hammer. It is important here that the core memory cycle coincides with the hammer alignment time, which allows reading the symbol from the core for each alignment of the hammer. If you are wondering how the printing mechanism works, there is here this animation is .
One of the nuances is that the impact of the hammer takes ??? milliseconds ( , "Operation manual" , P. 32). Thus, you need to run it not when it really aligns with the letter, but for ??? milliseconds up to this point. ↑
wrote on the repair of this device. A here You can read more about the ferrite memory 1401. ↑
mounting OR instead of the valve. The signals were simply combined, so if one of the two had a high level, the same was obtained at the common line. Therefore, we could not just probe the signals fed to contact F - they were all connected. Instead, I had to turn off the cards to check each signal separately. ↑
"Command Logic" on page 98. For information about the 1403 printer, see "Description of IBM 1403 Components" , "Manual for maintenance of printers 1403" and "Operating Instructions for Printers 1403" . See also this short article about the printer 1403 in the journal IEEE Spectrum. A detailed description of IBM 1401 is in "IBM 1401: Modern Theory of Work" . ↑
It may be interesting
I am overwhelmed by your post with such a nice topic. Usually I visit your blogs and get updated through the information you include but today’s blog would be the most appreciable. Well done!
Took me time to understand all of the comments, but I seriously enjoyed the write-up. It proved being really helpful to me and Im positive to all of the commenters right here! Its constantly nice when you can not only be informed, but also entertained! I am certain you had enjoyable writing this write-up.