This is amazing! Technically, it’s ‘50’s mainframe programming: the 1401 was released in 1959. It was the flagship in IBM’s scientific computing line, the counterpart of the 1620 in the business-computing line. Both were replaced by the 360 line, which included porting support for adapting code from either to the new machines. The 1401 was a far more sensible machine than the 1620, which was nicknamed CADET during development for ‘can’t add, doens’t even try’: it didn’t have a hardware add unit, it implemented add of two 6-bit characters (containing binary-coded decimal digits) by using a look-up table in core memory where the result of the addition was found by concatenating the two digits to provide the address. It implemented addition of variable-length words via a loop that looked up the result for each pair of digits (and then added 1 in the next column if the carry bit was set on the result). Multiplication worked in a similar way. Adding two numbers took many cycles and it did not run very many cycles per second.
Much as I enjoy the nostalgia, thinking about these machines now mostly reminds me how amazing living in the future is.
This is incredible. So much love and attention to detail.