On Wed, 2025-01-15 at 00:32 +0000, Chuck Guzis via cctalk wrote: > One defining characteristic of post-1980 languages was the assumption > of > a binary radix, as opposed to systems like the 1401 or 7070, which > were > decimal and lacked bitwise boolean operations.
I have the 1401 FORTRAN-II compiler. I reverse engineered it from operational tapes, then the author (Gary Mokotoff) sent me a scan of his listings, that he thought he lost when he retired. My reverse- engineered code has far more comments. It works in an interesting way: It reads the source code into core, then reads 64 more phases, average about 300 instructions each, until it has object code in core. It has an option to punch an object deck, or just compile-and-go. I recently modified it so they could run it at the Computer History Museum in Mountain View, CA. They have a Tape Adapter Unit (TAU) emulator connected to a PC. It can pretend to be a TAU that they can use to diagnose tape drives, or it can pretend to be a tape drive so they can read and write "tapes" in the PC. But it has a 2,400 character buffer, and some of the blocks were 3,500 characters. It works in SimH i1401, but I don't know whether they've tried on their real 1401s. Its (necessarily decimal) floating point arithmetic was quite good -- up to 20 digits, with two guard digits. The only defect by modern standards was that it didn't do symmetric rounding. The intrinsic function library was small, but also quite good — trig functions, exponential, logarithm, square root. Jay Jaeger has built a 1410 using FPGA, including 1401 compatibility. I haven't kept up with the status so I don't know whether everything works yet. 1401 (and 1410 and 7010) had a "branch if bit equal" instruction and column-binary card reading and punching (both optional on 1401), but nothing more for boolean operations.
