Columbia University Computing History   

The IBM 1403 Line Printer

Translations  (see below for credits):
IBM 1403 printer
Columbia's IBM 1403 Line Printers in the Machine Room about 1971.  Photo courtesy of Steve Bellovin.
The IBM 1403 printer was introduced in October 1959 with the 1401 Data Processing System. We had several 1403s in the Self Service Input/Output (SSIO) area and more in the machine room. As IBM says on its history site, "the 1403 printer — four times faster than any competitor — launched the era of high-speed and high volume printing, and was not surpassed for print quality until the advent of laser printing technology in the 1970s. Even today, it remains the standard of quality for high-speed impact printing." It was withdrawn from marketing in 1971.

The print mechanism is a spinning chain, with hammers that strike the chain through the paper exactly when the right character is underneath. Custom chains and printer control tapes could be mounted. The 1403 could print up to 1400 132-column lines per minute on 11-by-14 inch fanfold pinfeed paper. That's 23 pages a minute, under 3 seconds per page, and faster than that when a page contained any blank lines, for which the paper speed increased to 75 inches (6.25 feet) per second.

IBM 1403 printer
IBM 1403 Line Printer (left); Photo: Wikimedia Commons
The paper shoots through so fast, the output bin has to be motor-driven to suck it in. When students in SSIO tried to grab their output as it hurtled out the back, this would invariably disturb the output stacker, and paper would shoot out all over the floor, piling up waist-deep within seconds, before anybody had a chance to hit the Stop button. The sound of a 1403 at full throttle is somewhere between a power saw and a jet airplane. By printing different character patterns, it was possible to control pitch and duration, and therefore to make "music".

Paul Rubin noted on the alt.sys.pdp10 newsgroup, 26 Sep 2002, "There's a possibly apocryphal story of someone programming a big 360 installation to perform Tchaikowsky's 1812 Overture, on card readers, punches, line printers, spinning mag tapes, etc. climaxing with the line printer covers raising for the cannon shots at the end." This started a whole tangent...

Robert Bonomi wrote: "We had a couple of Dataproducts drum printers, with different character-sets. One had any given character at different rotational positions at each column. another had a character at the _same_ position at each column. That latter one was _really_ noisy, when somebody printed a row of dashes, for example, to separate sections of a report — 'whing, whing, whing, whing, *BANG*, whing, whing, whing, whing, *BANG*....' I kept threatening to do an '1812 Overture' on that one — the cannon-fire going to be _easy_!"

My reply: "Complete with flames! When I was a young'un and wrote my first line-printer plotting program that scaled the data and rotated the graph to natural x/y orientation, cleverly sorting the data pairs by y-value and then going thru the list and printing an asterisk for each point... the program came to a cluster of values in the data that caused it to print the same asterisk in the same place repeatedly with a little tic tic tic tic noise. Then after several hundred of these a VRRRROOOOOOOM!!! as the paper and ribbon burst into flame..." OK back to the 1403...

IBM 1403 printer
IBM 1403 Line Printer
Sample page
Sample page from Gimpel SNOBOL4 book
The 1403's printing speed depended on the number of distinct characters on the chain — the larger the character set, the slower the throughput. Peter Kaiser (formerly of the Columbia Computer Center) recalls, "IBM milked [the 1403] for all it was worth over successive generations of printers bearing that number. I helped Michael Barnett (Library School visiting faculty?) with typesetting software that used a 1403 type chain with so many characters it had only two sets per chain. He wrote a book about the software used to typeset the book itself." In fact, it was not uncommon for books and journal articles to be "typeset" on the 1403 — another example is James Gimpel's Algorithms in SNOBOL4, Wiley-Interscience, 1976, example shown above.

Jim Garthwaite (no connection with Columbia), who used to service these monsters, came across this site in April 2002 and sent a message about the good old days of noise and hydraulic oil; I said I never noticed any oil. His response:

I know why you missed the oil!!

Part of the monthly PM schedule was to change out piles of paper towels stacked on the floor under the 'oil burners" as we called them. It was supposed to be done "discreetly" ... out of the customer's view!

Also inside the 1403 near the bottom was a pint-sized tin can with 3 or 4 plastic hoses that collected any oil that leaked from selected points in the machine.

It is right there in the PM procedure of the manual ... the oilcan was to be emptied periodically ... the towels were NOT mentioned! They even had a caution in the manual that you were not to put the used oil back into the hydraulic unit as it was always full of paper dust.

We used the paper towels here also!

And from Peter Kaiser, who was in the Computer Center's Systems Group in the 1960s:

One day I was in the machine room when all this noise suddenly stopped except for the sound of a 1403 printer spewing fanfold paper at high speed (remember the 1403 command "high-speed slew"?). I was sure the runaway printer had something to do with the sudden silence, and the usual thing to do with runaway printers was to stop them with the red button, which I tried to do; but the printer didn't stop, and I had to power it off. The system didn't come to life after that, however, and the silence remained total. We tried to do a warm restart, but that didn't work, and finally we had to do a cold restart, losing all the queued jobs; we weren't even able to determine which jobs had been lost. The ultimate diagnosis was that several things had happened with just the timing to cause this:

  1. An application program — probably written in Fortran — had spooled a line that caused the system to issue that printer the command "Skip to channel 12", which caused the printer to slew paper until it would sense a hole punched in channel 12 of the printer control tape.

  2. The system had serviced all device interrupts and was waiting in a tight loop on the only one remaining, which happened to be the one from the printer indicating it had fulfilled the command to skip to channel 12.

  3. However, the printer control tape in that printer HAD NO HOLE PUNCHED in channel 12, so that interrupt could never be serviced.

  4. Since servicing interrupts was the highest priority action for the system, and since that interrupt could never happen, the system could do nothing.

Voila: a frozen system. Meetings were called as the center's high command tried to decide what to do about the bug, but they never came to any conclusion. As I recall, IBM acknowledged the bug but said that since it was so rare, they weren't going to fix it. More meetings. In the meantime I solved the particular problem (yes, this is a pat on my own back): I went to the operators' office and borrowed the master copy of every different printer control tape, and made sure that each of them had at least one punch in every channel. I replaced all the old tapes with the new ones.

But what I remember clearest is the sudden silence, not even the data cell, except for the swish of paper leaping from the printer.


Translations of this page courtesy of...

Lan­guage Link Date Trans­lator Organ­ization
Belarusian Беларускі 2023/08/19 Vladyslav Byshuk | Владислав Бишук
Finnish Suomi 2023/08/31 Kerstin Schmidt
French Français 2023/08/24 Kerstin Schmidt
German Deutsch 2023/08/24 Kerstin Schmidt
Italian Italiano 2023/08/31 Kerstin Schmidt
Polish Polski 2023/08/24 Kerstin Schmidt
Slovak Slovenský 2023/08/19 Vladyslav Byshuk | Владислав Бишук
Spanish Español 2023/08/31 Kerstin Schmidt
Ukrainian Українська 2023/08/19 Vladyslav Byshuk | Владислав Бишук
[About translations]
Columbia University Computing History Frank da Cruz / [email protected] This page created: January 2001 Last update: 3 September 2023