Really Old Iron

IBM 7094 was at the Comp Center at around 1965. Got fed by a spooler which was an IBM 1401. (I later learned assembler for that rascal.)

Wanna write a program? Here's how:

  Write it out on coding sheets.
  Wait in line for a keypunch machine, then punch it up in 80 column cards.
  Put a rubber band around it and put it on the "Jobs In" counter.
  Go get coffee.
  Check your bin for your card deck (still in order?) and your listing.
  Repeat until you are blessed with proper output.
(Don't forget the part about duping JobControlLanguage cards, or even punching a new control card to set your skip and dupe fields. Oh...and draw a diagonal line across the top of your deck -- or even wire your 407 to punch sequence numbers in columns 72-80 -- in case you or the operators drop your source deck. If you droped a doily-like object deck you don't even try to re-order them.)

While you are waiting:

  The system operator grabs a bunch of submitted decks and throws them into the card reader.
  The cards get copied to magnetic tape on the 1401.
  The sysop carries the tape reel to the 7094 which sucks it in, runs the jobs, and spits out an output tape.
  Sysop now carries the tape back to the 1401...(you get the picture) 
I guess those old machines weren't really so bad. After all, they got us to the moon...

The switch register must have been just about the coolest thing about the 7094. The rocker switch caps were about the size of piano keys and layed out in that configuration, thirty six bits plus a few more for sense switches. There were buttons to transfer the switch register to the accumulator or to the multiplier quotient. There was also a button that fired up a gear reduced electric motor that cleared the switch register in a second or two -- faster than you could yourself.

After a while you would learn to play the switch register like a piano, instructions with the left hand and addresses with the right. So the programming cycle went something like ...

  "chord" an instruction and data into the switch register.
  press "xfer sw to ac"
  power clear
  "chord" the address where the instruction goes
  press "xfer sw to mq"
  power clear
  press "dep ac at mq" to deposit the instruction into core memory
  repeat as needed
The first program I wrote this way was a bootstrap loader that incremented the mq address for me as I was entering a program. I used a sense switch to tell my program when the switch register was ready to store. The programming loop reduced to ...

  "chord" an instruction and data into the switch register.
  flip ss1 on and off again
  power clear
  repeat as needed
I thought this was pretty cool and showed it to my boss, JohnSteele?. John was a real 7094 wizzard and kept Purdue's running through the '70s. Anyway, John showed me how to operate a data channel, a box about as big as a large beer cooler with lights and buttons on the top. He punches in the start address of my program into the data channel, pokes a few more device select buttons and then "kerchunk", the card punch stamps out my program on a hollerith card, three columns per word.

John showed me how to reload my program from the card reader using the data channel too. Then anytime I wanted I could press the "clear memory" button and start from scratch. Neat.

So what is a data channel? Just a hardware implementation of my program. The 7094 had two so that it could read and write at the same time and leave the cpu free at the same time.

The 7094 wasn't really that old. It was built with transistors, after all. But I guess the dozen or so transisters behind every one of those switches must have dominated the manufacturing cost. That's why it was no big deal to add the panel hardware to the design. It was great. That was a time when "hands on" and "machine language" (as opposed to assembly language) really meant something. -- WardCunningham

The CDC 3600 had a Star Trek-ish console, with an IBM SelectricTypewriter in front, and a bank of small (Pez size)push-buttons on the left wing. Encouraged the same type of both hand piano play as mentioned for the 7090. But for me the 3600 (and 3200, 3400, 1604, 160, 8090) were all later generation systems, compared to the first that I worked on, the vacuum tube AN-FSQ7/8 Sage air defense systems. Even back then in the late '50s, it provided on-line, real-time service to dozens of vector graphic (and storage tube) CRT consoles, complete with light guns.

I still miss my jacket pocket full of 80-column cards that were always handy for note taking!

The EDSAC computer, one of the first, had a CRT display for operator output and a telephone dial for input. The machine is pretty easy to program, especially with the simulator and documentation available at Try running the tic-tac-toe program -- auguably the first computer game.
I did a little programming for the 1401. It was very straightforward. You could learn the instruction set in a couple of hours and you were ready to go. There was a card read and write area and a print area, the I/O was hard wired to those areas. People who knew what they were doing could get the 1401 to do amazing things.

What goes around comes around. See

SeeAlso: BigIron, OnLineComputerMuseum, TheBabbageFaq


View edit of December 2, 2010 or FindPage with title or text search