Dave Pitts is making progress running Fortran II

I have been negligent in reporting impressive progress made by Dave Pitts emulating IBM 7090 software. As Leif Harcke posted to alt.folklore.computers and bit.listserv.ibm-main on 2 February 2005:

Dave has developed his “asm7090” cross-assembler to the point where it can assemble the core of IBSYS from MAP source. The resultant IBSYS image will run the Fortran II(?) compiler on a modified version of Paul Pierce’s “s709” 700/7000 series emulator. The object code produced by the Fortran compiler does not run under IBSYS, however.

The cross-assembler and emulator are written in C, and build under Linux. Presumably they are easy to port to other POSIX-compliant systems. Details on the project are available here:

http://www.cozx.com/dpitts/ibm7090.html

If anyone is interested in helping out, Dave could use a hand debugging the emulation and getting IBSYS and other related system tools working.

Today, Dave told me:

With the current version of the emulator, 2.0.4, I’ve been able to run the following:

1. FORTRAN IV – Compile and run both Primes and Laplace programs.
2. COBOL – Compile and run the hello world program.
3. FORTRN II – Compile the Primes program. The exec doesn’t work, I get a checksum error loading the runtime (bad tape??).
4. MAP assembler – I’ve only run the assembler, didn’t try to run output.
5. FAP assembler – I’ve only run the assembler, didn’t try to run output.

My current IBSYS tape has the nucleus assembled with my ASM7090 cross assembler. Also, I re-assembled the COBOL compiler with ASM7090 and put on the tape.

I know that Leif Harcke has been hacking on the FORTRAN II. I think he’s stuck at the same point as I am. I’ve been trying to get the FORTRAN II parts to assemble with ASM7090 to replace the tape image with a NOPed checksum test.

Update 12/25/2016: Updated URL for Dave Pitts.

Update 1/2/2016: Updated URL for Leif Harcke and links to usenet groups.

Systems Manual for 704 Fortran and 709 Fortran

In January, Peter Capek told me that while cleaning up a file cabinet in his home he’d come across:

… a detailed description of the FORTRAN compiler, dated in 1960, and explicitly distinguishing between the 704 and 709 versions, but covering both. It looks like it was typed and what I have is probably not an original, but likely one of very few copies. It’s a couple of hundred pages, and describes each section of the compiler, including table structure, in considerable detail.

Peter very kindly made me a photocopy of this 264-page document, which is a wonderful complement to the actual source code. I hope soon to be able to provide web access to this and the other Fortran documents I’ve come across.

Peter is a frequent contributor to alt.folklore.computers and supplied information for Frank da Cruz’s “The Columbia University Computer Center in 1965” article.

Historic software at bitsavers.org

Although the majority of items at Al Kossow’s bitsavers.org are scanned copies of manuals, he also has software in source and/or executable form for a variety of machines (scroll down to “The Software Archive”) . Some of the oldest include MIT’s TX-0 and DEC’s PDP-1.

His manual collection also includes scanned copies of source code listings for some historic machines, including MIT’s Whirlwind and The University of Illionois’ ILLIAC I (scanned from hardcopies belonging to Wayne Lichtenberger).

Al notes that David Green is writing a simulator for the version of the ILLIAC built at the University of Sydney.

Updated TX-0, PDP-1, and ILLIAC I URLs following changes at bitsavers.org.

Fortran II source in Paul Pierce’s collection

Last Friday, Bob Abeles posted a comment here saying:

The IBSYS tapes on Paul Pierce’s site contain the source for FAP, FORTRAN II, FMS (version that ran under IBSYS), plus lots of other goodies. I wrote a program several years ago that extracts the sources. I’ll try to dig it up this weekend and will post a followup next week.

I had looked through Paul’s Yale SHARE tapes, but had not thought of looking at the IBSYS tapes. Sure enough, pr130-3.bcd, when converted with Paul’s bcd2txt, contains source code for something that calls itself “32K 709/7090 FORTRAN” and that consists of sections one through six with comments corresponding exactly to Backus’s descriptions (see for example Backus et al., “The FORTRAN Automatic Coding System”, Proceedings of the Western Joint Computer Conference, Los Angeles, California, February 1957 and John Backus, “The history of FORTRAN I, II, and III”, Proceedings of the First ACM SIGPLAN Conference on History of Programming Languages, Los Angeles, California, 1978″).

This is very exciting. Given the progress running IBSYS Fortran IV and Cobol on Rob Storey’s 7094 emulator, we may be able to run Fortran II!

Update: 7 Jan 2015: Updated URL for Rob’s progress posting.

IBM 7094 Emulator now runs Fortran IV compiler

I expect most Dusty Decks readers are aware of alt.folklore.computers, but it’s worth noting Rob Storey’s recent post IBM 7094 Emulator now runs Fortran compiler. As I posted in June, Rob has written a IBM 7094 emulator. Through the work of James Fehlinger, the emulator can load and execute the compiler, and then execute the result, at least for a “hello, world” program.

Rob suggested others might want to get additional programs running on the emulator, and suggested several that are available. Leif Harcke suggested CTSS (M.I.T.’s Compatible Time Sharing System), using the tapes available from Paul Pierce’s collection. I mentioned this to Tom Van Vleck; he took a look at the tapes and lent his enthusiastic support. Rob is happy to make the necessary “hardware modifications” (known as RPQ’s) to the emulator if someone will supply him with a specification.

Updated 23 Mar 2006: Leif Harcke’s URL changed; 7 Jan 2015: Rob’s and Tom’s alt.folklore.computer URLs changed.

As you sow so shall you reap

The effort in creating this weblog was quickly rewarded in the form of comments and email from readers. First Micah Nutt, son of Roy Nutt, commented that his family has possession of Roy’s collection of business documents and memorabilia, including some Fortran-related microfiche mentioned by Daniel N. Leeson. Micah told me:

The fiche I have is most likely the same as the set my father donated to the IBM library in 1982 for the 25th anniversary of FORTRAN. The contents appear to be the specifications, flowcharts, mathematical analysis and source code for FORTRAN along with (at least part of) the user’s manual. The documents are a mix of hand written and machine based (some with hand written edits and notes). There are 23 micro fiche with 50 pages per (most are full). I actually have two identical sets.

I plan on investigating preserving these originals and also obtaining them in digital form.

I’m hoping Micah will post an article about his father, who, among other things, created the SAP assembler for the IBM 704, participated in the original Fortran team while on loan to IBM from United Aircraft Corporation, and co-founded Computer Sciences Corporation.

After further discussion with Alicia Cutler at the Smithsonian National Museum of American History, it turns out that while her institution does not have the resources to scan the Fortran II listing, it is possible to set up an intermuseum loan with the Computer History Museum, so we will be able to digitize the listings here in Mountain View, California. Alicia sent me photocopies of a few sample pages, which I scanned and OCR’ed. The accuracy was not very encouraging; it’s going to take a lot of work to get a machine readable version.

Tom Van Vleck recently attended a Multics Reunion and Dinner honoring Professor Fernando J. Corbató; he came back with suggestions for more people to talk to and some software preservation gossip. In particular, the history of early operating systems deserves its own thread, which I hope to start soon.

Last but not least, Leif Harcke got in touch with me after seeing this weblog, and has passed along many useful facts as well as impressing me with his enthusiasm for software history. In particular, he commented:

The microfilm in Micah’s possession probably contains the source to the Fortran I compiler. IBM and SHARE distributed most of their detailed software documentation on microfilm back in the day. Norm Hardy refers to the Fortran I source on microfilm in his essay Fortran at Livermore.

Regarding the Fortran II listing at the Smithsonian, he said:

Fortran II was a strange beast; it ran under the Fortran Monitor System (FMS). FMS could either run the machine stand-alone, or it could run under IBSYS. Fortran II was link-compatible with the FAP assembler, the IBM product which superseded UA-SAP. You can get the Fortran II operator’s guide from Al Kossow’s Bitsavers site:
http://www.bitsavers.org/pdf/ibm/7090/C28-6066-6_FORTRANII_oper.pdf

I’m not sure the compiler itself will be of any use without the FMS monitor and the FAP assembler.

Leif has written a disassembler for the IBM 704, and helped me get started decoding the mysteries of Paul Pierce‘s SHARE tapes. I will post more about that soon.

Updated 23 Mar 2006, 2 Jan 2016: Leif Harcke’s URL changed.

Introduction

My name is Paul McJones. I am using this weblog to discuss historic computer software and hardware among other topics. For several months I’ve been studying the early history of Fortran, and trying to track down the source code for the original Fortran compiler. Although I just set up this weblog recently (June-July 2004), I’ve created back-dated entries to document my quest in chronological order, starting here.

I welcome suggestions for additional topics, and also would like to invite others to contribute articles on the history of early programming languages, operating systems, database management systems, and applications.

If you like this web log, you might be interested in the System R website documenting the history of the System R relational database research project, which gave birth to the SQL query language.

Paul McJones (photo by Kelly Castro)

Peter Zilahy Ingerman

I learned that Peter Zilahy Ingerman, PhD, was the donor of the Fortran II listing at The Smithsonian. Peter published a number of books and papers in the area of programming languages and compilers.

I called Peter and had a very pleasant conversation. It turned out he’d donated the Fortran materials to The Smithsonian a number of years ago, and did not remember that specific item I was interested in, but he volunteered to travel from his home in New Jersey to Washington if that would help.

Peter is very interested in the history of computing, and has created a very detailed UNIVAC I/II emulator, a machine that Peter wrote software for between 1957 and 1963. Peter told me of a UNIVAC web page maintained by Allan Reiter.

Update 1/2/2016: Updated URL for Allan Reiter’s UNIVAC web page.

George A. Michael

I followed a link from Frank da Cruz‘s IBM 704 page at Columbia to George Michael’s 704 page, which is part of his Stories of the Development of Large Scale Scientific Computing. I sent an email asking if George or his colleagues remembered the Fortran “Tome”.

George replied:

1. I do not recall any book called the “Tome,” although I was one of the first users of the original Fortran. We had four 704s but if the “Tome” existed, I never saw it.
2. One of our programmers, Bob Hughes worked with the original Fortran development team. I interviewed him and the interview is posted on our web site http://www.computer-history.info/Page1.dir/pages/Hughes.html

I will call him to check on the existence of the “Tome” and if he (still) has a listing of the original Fortran. But I’m not overly hopeful. In any event, I’ll let you know what results I get.

Bob, who was listed as one of the authors of the original 1956 IBM Fortran manual, said this in his interview with George:

“I worked on what they called the “first-level” documentation. And I made the biggest mistake of my life by not bringing a copy of that home. Now you understand why I missed making my first million dollars.”

So I’m guessing he didn’t bring a copy of the “Tome” back to LLNL.

Update 1/2/2016 and 12/29/2016: Updated URL’s for George Michael‘s web site. He passed away in 2008.

Rob Storey

Earlier I had learned that Paul Pierce’s web site contains images of a number of system tapes for old IBM mainframes. Paul provides some utilities he wrote for making sense of these old tapes, which were written on 7-track drives, with 6-bit BCD characters and 36-bit words.

Tonight I came across Rob Storey’s emulation web site. He’s written file utility programs BCD2IAS, IASMERGE, and FILEBROW that greatly simplify the process of reading, converting, and correcting the tape and card images from Paul Pierce’s web site.

I played with them for a while, and was able to view some of the Fortran IV compiler sources. More work will be necessary to create “fix records” for errors that BCD2IAS can’t detect by itself — it looks like there are occasional missing characters from blocked fixed-length lines, causing the source code to “drift” cyclicly to the left. But the result will be source code for the IBM 7090 Fortran IV compiler!

The bad news is that this compiler shares little if any source code from the original IBM 704/709 Fortran/Fortran II compiler (in particular, it did not contain the sophisticated code optimization components).

Rob’s web site also features an IBM 7094 emulator. (Paul Pierce’s web site has an IBM 709 emulator.)

Update 7 Jan 2015: Updated URL for Rob Storey’s emulation web site.

The Smithsonian redux

Every so often I try again to communicate with the Smithsonian. Eventually, I was able to make contact with Alicia Cutler, a Specialist in the Collection of Computers & Mathematics. She ran a search for me in their internal catalog, which produced a 12-page listing of documents related to Fortran. Three of them jumped out at me:

page 7, FORTRAN VOL I, 1959, “This is a FORTRAN program listing for the 704. Well documented.”

page 5, FORTRAN VOL II, “This is a FORTRAN program for the IBM 704, the title of which states “FORTRAN Editor Information”. Well documented”

page 5, FORTRAN VOL. III, 1959, “This is a FORTRAN program listing for the IBM 704. Well documented.”

I asked Alicia for more information on these three, and she replied, “I’ve looked over the documentation and have discovered that these three volumes relate to FORTRAN II, not FORTRAN. There is a letter from A.L. Harmon in May of 1959 stating that these are the SAP listings for the final FORTRAN II. It was split into three volumes but all together it is 1321 pages.”

Eureka!

J.A.N. Lee

J.A.N. Lee has had successive careers in civil engineering and computer science, and has been active in the history of computing for many years (see for example FORTRAN’s Twenty-Fifth Anniversary). He responded to my email saying, “I have asked about the original FTN compiler several times but without any success. Two sources would seem possible — John Backus himself … and the original recipient Westinghouse-Bettis.”

In a follow-on message he said, “I found two boxes of FTN materials relating to the 25th anniversary in a cupboard yesterday and will get them out to MW as soon as possible.

Is anyone doing anything about the fact that this is the 50th anniversary year for the start of the FTN development?”

As it happens, I’d recently looked through several boxes of Fortran materials J.A.N. had already donated to the Computer History Museum. They contained among other things photocopies of essentially all the papers included in his annotated Fortran bibliography (see FORTRAN’s Twenty-Fifth Anniversary).

Jean Sammet

Tom Van Vleck had suggested I contact Jean Sammet. Jean has published extensively on programming languages and their history. (Her book, Programming Languages: History and Fundamentals, has been called the definitive work on early computer language development.)

I eventually found a current email address for her; today she responded that she didn’t know where to find the Fortran source, but suggested I contact Fran Allen and J.A.N. Lee.

David Padua

I ran across an article “The Fortran I Compiler” by David Padua in Computing in Science and Engineering, Volume 2, Number 1, (January/February 2000). It begins, “The Fortran I compiler was the first demonstration that it is possible to automatically generate efficient machine code from high-level languages. It has thus been enormously influential. This article presents a brief description of the techniques used in the Fortran I compiler for the parsing of expressions, loop optimization, and register allocation.”

I contacted David to see if by any chance he knew of someone with a copy of the source code. He didn’t but he and his colleague Sam Midkiff suggested contacting retired IBMers Fran Allen or Marty Hopkins.

Daniel N. Leeson

Daniel N. Leeson’s article “IBM FORTRAN Exhibit and Film” in the FORTRAN’S Twenty-Fifth Anniversary special issue of the Annals of the History of Computing mentions that materials were located in private collections, “two of which are unusually noteworthy”:

Roy Nutt and Harlan Herrick have both made a special effort to retain material from their early days in computing. Nutt possessed a microfilm of (allegedly) every document in the FORTRAN development offices at the time the product was released. He generously donated a copy to the IBM historical archives. Herrick’s collection of memorabilia was also extensive. For example, he owned the only known copy of IBM’s first FORTRAN film, made in Poughkeepsie about 1958, that showed how FORTRAN could be used to program a solution to “The Indian Problem” (a calculation demonstrating the effect of compound interest on the $24 said to have been paid for Manhattan Island).

Using Internet search engines and hints from the article (in 1984, Leeson had worked for IBM General Products Division in San Jose, California), I found Leeson’s phone number and called him today.

He was responsible for assembling both the museum-class exhibit and the film for the 1982 25th anniversary celebration for Fortran. He told me IBM had a facility in Armonk where they archived the last copy of every machine; he thinks it might still exist.

Leeson says he thinks it’s very unlikely that any copies of the source code survive. He speculated that Roy Nutt’s personal collection may have been lost when he died.

Update: On 7 July 2004, shortly after this weblog went public, Micah Nutt read this entry and posted a comment: “As one of Roy Nutt’s four children […] I am in custody of the FORTRAN microfilm; Ruth [Micah’s mother] has many boxes which I have yet to fully organize. Roy died of lung cancer June 14th 1990.”

The Library of Congress

My wife and I had dinner with John Backus tonight. He mentioned that he donated his papers to the Library of Congress. I searched the online catalog, and found the papers listed as not yet processed (LC Control Number: mm2003084968). John gave me a 13-page document listing some 211 items in the donated papers. I was pleased to see item 92: “A Church-Rosser property of closed applicative languages” by Paul McJones (IBM Research Report, 5/23/75).

John also gave me some extra copies of papers and photographs, including a photocopy of a 29-page memo whose front page says:

PRELIMINARY REPORT

Programming Research Group
Applied Science Division
International Business Machines Corporation

November 10, 1954

Specifications for
The IBM Mathematical FORmula TRANslating System,
FORTRAN

Copyright, 1954, by International Business Machines Corporation
590 Madison Avenue, New York, 22, New York

J.A.N. Lee’s annotated bibliography says this was probably written by John W. Backus, Harlan Herrick, and Irving Ziller; he notes, “This is the first formal proposal for the language FORTRAN. It lists the elements of the language that are proposed to be included in the eventual implementation, together with some suggestions for future extensions. It is interesting to match this proposal with the Programmer’s Reference Manual (1957) and to note that many of the ideas of later FORTRANs as well as ALGOL appear to have been given birth in this document.”

FORTRAN’s Twenty-Fifth Anniversary

Today I got my hands on a copy of “FORTRAN’s Twenty-Fifth Anniversary” — a special issue of the Annals of the History of Computing, Volume 6, Number 1 (January 1984). This was originally published by the American Federation of Information Processing Societies (AFIPS), but is now published by the IEEE Computer Society.

This informative issue, edited by J.A.N. Lee and H.S. Tropp, is dedicated to the 1982 National Computer Conference Pioneer Day celebration of the 25th anniversary of Fortran. It contains edited transcripts of two Pioneer Day sessions:

  • Early Days of FORTRAN, chaired by John Backus.
  • Institutionalization of FORTRAN, chaired by Jeanne Adams

It also contains:

  • an introduction by J.A.N. Lee with background on the event, a list of the FORTRAN Pioneers (“members of the original development team and their direct associates, or those who made significant contributions to the language or its usage in the five years following the delivery of the first system”) and implementations of FORTRAN from 1957 to 1967.
  • an article by Daniel N. Leeson on the exhibit and film developed by IBM for this event
  • an annotated bibliography by J.A.N. Lee
  • a collection of anecdotes by Henry S. Tropp
  • a summary of the anniversary observance held at IBM Santa Teresa on July 15, 1982
  • an edited version of Elliott Nohr’s SHARE 59 paper about the early days of FORTRAN

Full versions of papers presented verbally at the Pioneer Day event were also published in the Proceedings of the 1982 NCC; of especial interest is:

Allen, Frances E., “A Technological Review of the FORTRAN I Compiler”, pp. 805-809.

Doug McIlroy

At the suggestion of Tom Van Vleck, I sent Doug McIlroy an email asking if he’d run across the Fortran “Tome” while at Bell Labs in the 1950s. He replied:

I was at MIT when the first Fortran came out, and I don’t recall seeing the source there. When I joined Bell Labs in 1958, we had Fortran II. We had the source; in fact Dolores Leagus had worked with IBM on adapting the compiler to use a full 32K-word memory, and had subjected the compiler to the BESYS operating system (the compiler was a standalone program as it came from IBM). If you can find her (she retired about the same time I did) she might know where to look.

I myself used the Fortran source only after we got the 7094, and I know that had been altered significantly, for it used 709 opcodes that didn’t exist on the 704.

Another document that come with Fortran, which everybody got to know was the “stop book”. The compiler did not issue diagnostics. Instead it halted. The machine operator would record the IC from the console lights. The stop book told what the cause of each stop was, often very cryptically: “trouble in the tag table, or some other cause”. You should try to collect that, too. One of the things Dolores did was to replace the halt instructions by system calls, so the stop could be recorded automatically.