Very Old Program

I was doing some spring cleaning and came across a computer printout of a program I wrote in August 1974, or about 31 years ago! That brings back a lot of memories. Coincidentally, a couple coworkers were discussing the CaSing of computer languages. What languages were in UPPER case, lower case, MiXed case, etc. This particular document was all upper case.

At the time, I was a Candy-Striper: a term for a volunteer at the Yale-New Haven hospital. I think the term refers to the red and white pin-striped frocks that were worn by the female volunteers. The prior summer I was a Candy-Striper in the Respiratory Therapy department, where I had to deal with IPPBs: Intermittent Positive Pressure Breathing machines. I wheeled them around the hospital and wash/sterilize them after each use. They were essentially breathing assistants: if they sensed that the patient started a breath, then more air would be forced into the lungs.

I figured I’d do something different in the summer before 11th grade, so I worked with a population geneticist at Yale (in the same department where my dad worked as a geneticist). He basically wrote programs in PL/1 to analyze statistics to find patterns in genetic traits of people. But what was really great about working with him was that he had a terminal and an acoustic coupler (a 110 baud modem) with which we connected to the Yale Computer Center! It was an IBM Selectric terminal that had a type ball that would bounce up and down as it printed: it was fascinating to watch, and quite loud.

To use the modem, I’d pick up the handset, use the rotary dial to dial the number, wait for the high pitched screech, insert the handset into an acoustic coupler (basically a device that listened/output to the microphone/earphone of the handset), and wait for the handshaking process to finish indicated by “Enter Logon” from the type ball.

As part of the summer job, I got to go visit Yale Computer Center and use their IBM 370 which had a whopping 512 K of RAM. That’s half a megabyte!

In the computer center, there was a PDP-11 computer with a DPU (Display Processing Unit) that allowed fast calculation of vector graphics. I used to go there, insert the huge RK05 10 megabyte disk in the drive, and play a lunar lander game. There was a light pen for the monochromatic display with which you could control the rocket’s thrust and side rockets to try to guide the LEM (Lunar Excursion Module) to a safe landing site before running out of fuel. If you succeeded, a little man would walk out of the LEM over to the 2 golden arches and the screen would display “Two Cheeseburgers Please” (This was before the popularity of the Big Mac). Along the way you could see LEM carcasses of failed prior missions.

I had a lot of fun writing programs on that computer too. The program listed was written in PDP-11 Assembly language (called Macro-11). It was a terminal emulator program, which would allow the PDP-11 keyboard to be a front end for the IBM 370 TSO system (I think TSO stands for Time Sharing something). It had special escape key sequences that provided options to send files, talk to the modem, capture data to a file, etc. It was written in Macro-11: PDP-11 assembly language.

That reminds me: if you open up a command prompt (CMD.EXE) in Windows XP and do something that streams a lot of output to the window (like DIR \*.* /s) then you can hit Ctrl-S to suspend the stream so you can read it, and Ctrl-Q to continue. These keystrokes are at least 31 years old!


I suspect that my terminal emulator program worked because it was a PDP-11 program that was printed on the huge IBM line printer of the 370. The only way it could have been printed was if I was able to use the PDP-11 as a terminal of the 370.

Here’s a link to an image of the original document. I scanned just the first couple pages.