How it got started

The GE-115 Project

When I was in high school in Barrie Ontario Canada in 1968, they installed a new computer called a GE-115. It was a room-sized beast which required several tons of air conditioning. It had an internal cycle time of about 7.5 milliseconds, so it could execute about 100 instructions per second, compared to current standards of several billion instructions per second. It had 12K of internal core memory, compared to my phone which has 32 GB (2 thousand versus 32 billion). I came to love this computer.

I learned everything I could about it, including how to program in machine code using a language they called Basic APS (Application Programming System). By the end of high school in 1973, I was a local expert. We met with another high school in Pembrooke Ontario, and I learned from them. Then I went to the University of Waterloo to take Mathematics, majoring in Computer Science. In my first co-op work term, I was hired by Honeywell (who had acquired the computer division of GE) to work with the Board of Education in London with a loose mandate of helping them to improve the system software for their educational environment, which included 6 machines. I learned more about the operating system and implemented a series of changes which were of some benefit to the high schools there.

Fast forward to 2024, some 50 years later. I was waxing nostalgic about this machine and I wondered to myself how much I remembered about how the machine worked and how it was coded. So, I started making a list of APS instructions. I did some searches on the internet for information, manuals and other artifacts. I learned that the card reader and the printer from the GE-115 at my high school, Eastview, were now on display at the Canadian Museum of Science and Technology. I found some documents online, but nothing detailed enough to help me in my quest of documenting the past.

The breakthrough came when I discovered a three page document written in French at the web site www.feb-patrimoine.com. The name stands for Federation des Euippes Bull - Heritage.Groupe Bull is still an active computer company, but at some point Honeywell had acquired a portion of this company as well, a division called Honeywell-Bull. Of course, the interesting twist is that the GE-115 computer was actually built by Olivetti in Italy before GE acquired the computer division of Olivetti. All this shuffling happened within a few years in the early 1960s.

But back to the breakthrough. I found a short document which summarized the instruction set and also contained a chart of the character set for the GE-115 (http://www.feb-patrimoine.com/projet/ge100/ge115.htm) . To me, this was like discovering the Rosetta Stone. Now, I had everything I needed to create a simulator.

I started creating the simulator at the beginning of May 2024. It is now running nicely, and I have also written an APS assembler which will translate programs into object code which will run on the simulator. I continue to improve (and fix) the simulator. I hope to find more information to make the simulator more accurate. For example, the FEB-Patrimoine document does not indicate what the hexadecimal opcodes are for the various instructions. I remembered a few, but had to invent the rest. I look forward to refining this information as I learn more accurate information.

In my opinion, this computer represents the end of an era. It was one of the last commercial computers that did not contain any high speed registers. This means that in order to access any type of advanced internal data structure, such as vectors, arrays or lists, the programmer had to use a technique called address modification. With this technique, the programmer constructs a new instruction after calculating the addresses needed to access specific elements of the data structure. In other words, the program instructions were treated like data to be manipulated. Modern machines separate code from data, and no respectable software coder would ever change the code itself using binary arithmetic. However, for the GE-115, it was the only way to achieve indexing, pointers or any indirect references. To many this will sound archaic, but there is a wonderful joy of creation that comes from knowing your code so intimately that you can add numbers to your instructions!

I found some more documents at the Computer History Museum in Mountview California, and they have agreed to digitize a couple of them for me. I hope that it allows us to go to the next level in the simulation.

Ultimately, I would love to be able to implement the BIOS code for this machine. In a normal boot sequence, a single binary load card would be put into the card reader. The operator pressed three buttons to make the magic happen: Clear (to stop the machine), Load (to cause it to read the binary program image) and Start. This short bootstrap program would then read a memory block into low memory (below 1600 decimal). The image included support for I/O routines and macros for doing multiplication and division (these are not native instructions for this machine .. add and subtract only). However, the course of the development of this project will depend on the information and time available.

So, dear reader, please let me know if you have any memories or information or manuals from this era.  will do my best to incorporate everything that I can. It is my hope that I will be able to share the simulator with you, once the worst of the mistakes have been fixed and it is stable enough to be used. I am also interested in the various languages that were used on the GE-115, including COBOL, Fortran, and Logel.

Thanks for reading!

Jim

Comments

Popular posts from this blog

The Student Computer Operator

So much has happened