IBM Computer Input

IBM’s origins was centered around cards and in 1955 most of IBM’s customers kept their machinable data exclusively on punched cards. For those customers computing involved sorters, tabulating machines and occasional collating machines. Even the lowly card reproducing machine could do tricks as it basically reproduced information onto a new deck of cards from an old. The function of each of these machines was customized thru a plugboard.

When I arrived at Livermore in 1955, the standard method of entering data and programs was punched cards, at least for IBM computers. The origin of such machinable data was mostly the IBM 026 keypunch operated mainly by professional keypunch operators. In those days a 5 punched in column 8 was likely to denote a value 10 times as great as a 5 in column 9. IBM produced pads of paper printed with a rectangular layouts where each line was intended to describe the content of a card and each column numbered from 1 to 80. The plan was for some data specialist to write data onto these sheets and key punch operators to produce the card deck using an 026 keypunch. The 026 also printed visible text at the top of the card. Usually another operator verified the deck with an IBM 029 card verifier and the same paper input. Needless to say this was labor intensive and high latency. IBM’s assembler program, NYAP for the 704 required fixed field for the symbolic labels, op codes, symbolic operands, offsets, index register designation, etc. Off by one column meant rerun and half a day lost.

Machine debug runs were scheduled time slots of 5 or 10 minutes and frequently an error would be discovered early in the run and a keypunch was in the machine run by which a 10 minute debug shot was rescued while the programmer fixed an input error, all the while a several million dollar machine sat waiting.

Many, eventually most, programmers revolted from using the professional keypunchers, due mainly to latency. The keypunches in the machine room were surreptitiously used by programmers to produce their input decks. Often a new debug shot required only a few new cards. An IBM 407 accounting machine could print the content of a deck which allowed desk checking without the expensive debug shot. The “card interpreter” would also print the card content on the card.