1442 Model 6/7 Card Reader-Punch Arrival
/We received a 1442 Model 6/7 card reader-punch from California. Our 1441 was designed to connect to either a 1442 Model 1 or 2 card reader-punch which used SMS hardware as the 1441 does. The 1442 Model 6/7 has SLT logic and no translation hardware to handle character translation between the Hollerith card code form and 1441 BCD form. Bob Horan, retired Link machinist, corrected a twisted side plate in the card hopper and made some new machine legs for the bent and missing ones. Fred, Jack and Gary started thinking about designing an interface to allow the 1442 to be connected to the 1441. This interface has to convert signal voltage levels between the SLT and SMS hardware and translate character codes between the Hollerith card code form and 1441 BCD form, in both directions, one way for reading, the other way for punching.
Several retired IBM CEs worked on improving the performance of the Selectric printer on the 1447 console. Fred and Bill repaired three broken "teeth" on our 1440 system special type ball by using JB Weld. Anybody have one of these special type balls? We could use it.
With the Selectric printer in better shape, we tried printing all the characters. They all printed except for letters F and O, those hung up the machine. This problem took a while to track down and was finally traced to a ribbon cable connecting signals between two circuit panels. One end of the cable was in its slot but not plugged in and hard to spot because it uses short paddle cards. The 1441 hung because the cable problem caused the 1311 disk file interface to think that it was being addressed. The unplugged cable was probably a result of an oversight of reassembly when the machine was cleaned. After getting more comfortable with programming the 1441 and writing various subroutines for multiply, divide and typewriter I/O, Bill got more adventurous and developed programming to solve math problems using floating point software supporting add, subtract, multiply, divide, square root, and parentheses to change execution order. Bill based this code package on a math expression solving program he had written for a PC. He converted the code from PC BASIC to the 1441's symbolic machine instructions and, at the beginning, had no idea if the program would fit into the 8000 character memory of the 1441. As the 1442 card reader and 1311 disk file were not yet operational, any programming was restricted to the 8000 character memory that was available. As it turned out, about 5000 of the machine's 8000 character memory locations are involved in doing this task. As we didn't have an operational card reader nor any way to punch the cards required at this point, programs were entered into the 1441 memory via the console keyboard. The debug process led to finding a couple of additional errors in instruction execution — again, bad transistors. There is also a yet unresolved problem of an occasional extra bit being turned on in a character in memory when data is typed into the machine and the parity bit gets flipped so that the problem entry can not be found by a memory scan for bad parity entries! Often the extra bit appears in an instruction's memory address field and leads to an unwanted use of an index register.
To process a math expression, it is entered via the 1447 keyboard, solved by the 1441 and the answer is typed in scientific notation on the Selectric printer.