IBM 1401 Runs FORTRAN II Once More

The IBM 1401 is undeniably a classic computer. One of IBM’s most “affordable” mainframes, it ruled the small business computing world of the 1960’s. Unfortunately, computers aren’t often thought of as treasured heirlooms, only a handful of these machines survive today. The computer history museum has two machines. One from Germany, and the other recovered from a basement in Connecticut back in 2008. [CuriousMarc] and the rest of the team at the museum have been working diligently to restore the 1401, and they’ve hit quite a milestone — They can now compile and run FORTRAN II code.

Getting the 1401 to run FORTRAN II itself is quite an accomplishment. The hardest part was dealing with the 729 vacuum column tape drives. The team spent years building a hardware emulator which takes the place of the real drives. The emulator is driven by an old PC running windows. Tape images are stored as files, which can be loaded, rewound, and run just like a real 729.

Emulators are great, but [Mark] and his team wanted this to run on the real hardware. They first had to re-create a FORTRAN compiler tape. They ran a tape copier program on the 1401, then loaded an image of the compiler on their emulator. The computer dutifully copied the image to a real tape drive.

The team also needed a punched card deck of FORTRAN source code to compile and run. The first example in the FORTRAN manual is a Hilbert Matrix program. The team could have used a keypunch machine to punch the cards for the program, but that is a painstaking and error-prone process. One mistake, and they would have to re-punch an entire card — much like using an old typewriter with no White-Out or correction ribbon. Instead, they typed the source into a PC, then converted the file to a tape image. A small program instructed the 1401 to punch the source code out on cards for them.

At the moment of truth, shown first in the video, the 1401 reads FORTRAN II from tape, pulls in the source code from punched cards, compiles, runs, and then prints the result on its line printer. All the original hardware singing along just like it did in 1959.

If you haven’t been to the Computer History Museum yet, check it out! It’s also the site of Vintage Computing Festival West.

Continue reading “IBM 1401 Runs FORTRAN II Once More”

[Ken Shirriff] Becomes a Core Memory Repairman (Again)

Lately, [Ken Shirriff] has been on some of the most incredible hardware adventures. In his most recent undertaking we find [Ken] elbow-deep in the core memory of a 50-year-old machine, the IBM 1401. The computer wasn’t shut down before mains power was cut, and it has refused to boot ever since. The culprit is in the core memory support circuitry, and thanks to [Ken’s] wonderful storytelling we can travel along with him to repair an IBM 1401.

From a hardware standpoint core memory makes us giddy. It’s a grid of wires with ferrite toroids at every intersection. Bits can be set or cleared based on how electricity is applied to the intersecting wires. [Al Williams] walked through some of the core memory history last year and we enjoyed hearing [Pamela Liou] recount the story of how textile workers consulted on the fabrication of core memory for the Apollo missions during her OHWS Talk in October. But giddiness aside, core memory has pretty much gone the way of the dodo having been displaced by technologies that take up exponentially less space.

Bad inductor (green housing has been dissolved away)

We chuckle at [Ken’s] mention of the core memory capacity for the IBM 1401. It has 4000 characters of memory built-in (with another 12,000 in an expansion box) and he goes on to detail that these are 6-bit characters on a machine that operates in decimal and not binary (hence 4k instead of the base-2 friendly 4096).

You may remember his work a few years back to repair core memory on the same model. The Museum has two 1401’s, which turned out to be a huge help in trouble-shooting this. After tracing out the control lines, the repair team began swapping cards between the working and non-working machines. They were able to bring it back online — establishing one of the green inductors was bad — only to be struck with a second fault in the power supply.

Get this, [Ken] comments that “the whole computer is pre-silicon”. When working through the PSU, some suspect transistors were replaced with germanium power transistors. Those may have been a red-herring, as a penciled-in fuse on the original schematics turned out to be the linchpin of the PSU repair. Buried deep in the assembly, replacing the designed-to-fail part let the ancient beast awake once more.

Machines of this quality were heavily documented, and the schematics make this type of trouble-shooting a lot more manageable. But it’s still as much an art as it is skill. Make sure to give [Ken’s] article a read, and look around at the other repair jobs he’s documented — keeping these machines in service is becoming wizard-level work and we love being able to follow along.

The IBM 1401’s Unique Qui-Binary Arithmetic

Old mainframe computers are interesting, especially to those of us who weren’t around to see them in action. We sit with old-timers and listen to their stories of the good ol’ days. They tell us about loading paper tape or giving instructions one at a time with toggle switches and LED output indicators. We hang on every word because its interesting to know how we got to this point in the tech-timeline and we appreciate the patience and insanity it must have taken to soldier on through the “good ol’ days”.

[Ken Shirriff] is making those good ol’ days come alive with a series of articles relating to his work with hardware at the Computer History Museum. His latest installment is an article describing the strange implementation of the IBM 1401’s qui-binary arithmetic. Full disclosure: It has not been confirmed that [Ken] is an “old-timer” however his article doesn’t help the argument that he isn’t.

Ken describes in thorough detail how the IBM 1401 — which was first introduced in 1959 — takes a decimal number as an input and operates on it one BCD digit at a time. Before performing the instruction the BCD number is converted to qui-binary. Qui-binary is represented by 7 bits, 5 qui bits and 2 binary bits: 0000000. The qui portion represents the largest even number contained in the BCD value and the binary portion represents a 1 if the BCD value is odd or a 0 for even. For example if the BCD number is 9 then the Q8 bit and the B1 bit are set resulting in: 1000010.

The qui-binary representation makes for easy error checking since only one qui bit should be set and only one binary bit should be set. [Ken] goes on to explain more complex arithmetic and circuitry within the IBM 1401 in his post.

If you aren’t familiar with [Ken], we covered his reverse engineering of the Sinclair Scientific Calculator, his explanation of the TL431, and of course the core memory repair that is part of his Computer History Museum work.

Thanks for the tip [bobomb].

Repairing $55,000 of Vintage Core Memory

If you find yourself in the vicinity of Mountain View, California you really should stop by the Computer History Museum. Even if you aren’t into the retrocomputer scene, there’s so much cool hardware ranging from a replica of the Babbage engine to nearly modern PCs. There’s even a room dedicated to classic video games. There are two fully working old computers at the museum that have their own special rooms: a PDP-1 (complete with vector scope to run Space War) and an IBM 1401.

The IBM 1401 looks like big iron, but in its day it was a low-end machine (costing an innovative business about $2500 a month). The base unit had 4000 words of magnetic core memory, but if you had a hankering for more memory, you could add the 350 pound dishwasher-sized IBM 1406 (for only $1575 a month or you could buy for $55100). How much memory did you get for $18900 a year? An extra 12000 words!

The problem is, the museum’s 1406 had developed a problem. Some addresses ending in 2, 4 or 6 failed and they were all in the same 4K block. [Ken Shirriff] was asked to go in and try to find the problem. We don’t want to give away the story, but [Ken] wrote up his experience (with lots of pictures).

Continue reading “Repairing $55,000 of Vintage Core Memory”

The Most Powerful Bitcoin Mining Rig Yet

In days of yore, one could mine Bitcoin without much more than an AMD graphics card. Now, without specialized hardware it’s unlikely that you’ll make any appreciable headway in the bitcoin world. This latest project, however, goes completely in the other direction: [Ken] programmed a 55-year-old IBM mainframe to mine Bitcoin. Note that this is technically the most powerful rig ever made… if you consider the power usage per hash.

Engineering wordplay aside, the project is really quite fascinating. [Ken] goes into great detail about how Bitcoin mining actually works, how to program an assembly program for an IBM 1401 via punch cards, and even a section about networking a computer from this era. (Bonus points if he can get to load!) The IBM boasts some impressive stats for the era as well: It can store up to 16,000 characters in memory and uses binary-coded decimal. All great things if you are running financial software in the early ’60s or demonstrating Bitcoin in the mid-2010s!

If it wasn’t immediately obvious, this rig will probably never mine a block. At 80 seconds per hash, it would take longer than the lifetime of the universe to do, but it is quite a feat of computer science to demonstrate that it is technically possible. This isn’t the first time we’ve seen one of [Ken]’s mainframe projects, and hopefully there are more gems to come!

Generating the Mandelbrot Set With IBM Mainframes

[Ken Shirriff] is apparently very cool, and when he found out the Computer History Museum had a working IBM 1401 mainframe, he decided to write a program. Not just any program, mind you; one that would generate a Mandelbrot fractal on a line printer.

The IBM 1401 is an odd beast. Even though it’s a fully transistorized computer, these transistors are germanium. These transistors are stuffed onto tiny cards with resistors, caps, and diodes, than then stuck in a pull-out card cage that, in IBM parlance, is called a ‘gate’. The computer used decimal arithmetic, and things like ‘bytes’ wouldn’t be standard for 20 years after this computer was designed – 4,000 characters of memory are stored in a 6-bit binary coded decimal format.

To the modern eye, the 1401 appears to be a very odd machine, but thanks to the ROPE compiler, [Ken] was able to develop his code and run it before committing it to punched cards. An IBM 029 keypunch was used to send the code from a PC to cards with the help of some USB-controlled relays.

With the deck of cards properly sorted, the 1401 was powered up, the cards loaded, and the impressive ‘Load’ button pressed. After 12 minutes of a line printer hammering out characters one at a time, a Mandelbrot fractal appears from a line printer. Interestingly, the first image of the Mandelbrot set was printed off a line printer in 1978. The IBM 1401 was introduced nearly 20 years before that.