IBM 1401

The IBM 1401 compiles and runs FORTRAN II

In this demo, we go through a complex process to recreate a new copy of the original IBM 1401 FORTRAN II compiler tape, and run it to successfully compile the two short program examples from the manual.

See the main page about the IBM 1401 mainfraime.

Original IBM 1401 FORTRAN II information

The remarkable 63-pass/8k-memory compiler source listing and the article describing it is here:

Here is the source code of the FORTRAN II compiler.

FORTRAN II source code.rtf

A dump of the original FORTRAN II compiler bootable object tape is here, as well as the listing for the two examples program we compiled, and a short explanation of the first parameter card format. With some massaging, you should be able to run all this in the SIMH simulation environment described above.

FORTRAN II v3m0 tape simh.dump

Example 1 Listing.txt

Example 2 Listing.txt

Parameter Card Format.txt

The format of the dump indicates where each record starts as a comment in the right margin. It also has an extra line of blanks and 1's under each data line. This follows the IBM 1401 dump convention where a 1 under a character indicates the character also has the all important Word Mark bit set.

Actual files used in our demonstration

For information, below are the files we actually used with the real machine and our tape emulator. You can't run them directly unless you have an IBM 1401 equipped with a tape emulator, but the information contained in them might be of use. The main difficulty was to work around the maximum record length limitation of our tape emulator, so the original tape was split into smaller 80 characters records in the file V3M0-SPLIT.tdat tape data file, and mounted in emulated tape unit #2 on our 1401. The tdat tape follows the convention of our tape emulator, which is basically one record per line. A ~ precedes each character that needs to be encoded with a word mark. A record that needs to be continued ends up with the & character. The tape MERGE.tobj, a bootable executable object tape, was mounted in emulated #1 on our 1401 and run. Running the merge program reconstructed the original FORTRAN II on a virgin real-world tape mounted in a real tape unit #3.



The bootable object tapes below will automatically punch a card deck of example 1 and example 2 when run:

Punch Example 1.tobj

Punch Example 2.tobj

Run your own in simulation

Mike Albaugh has made a web page explaining how to run FORTRAN II using the command line simulator SIMH:

But it should be possible to run the same in the much friendlier ROPE graphical emulation and programming environment, but I haven't tried yet: