My very first computing experience was tinkering around with a friend’s Sinclair ZX81. That was around 1985, I believe. In a moment of nostalgia, I recently tried out a ZX81 emulator found on the Web: it made me re-live some sweet childhood memories, while trying to remember those old BASIC commands. However, it did not take long, before the severe limitations of that primitive computer became apparent. The ZX81 was already considered obsolete back when I first got to know it. The mid-1980s were the era of such home computers like the Commodore 64, which allowed playing arcade style games, something unthinkable on the ZX81. All this got me thinking: If the ZX81 was that primitive, how primitive were its predecessors, such as the minicomputers of the 1970s?
I remembered an older colleague telling me stories from when he learned to program assembler on a DEC PDP-11. Of course I had heard about that legendary machine before, but just now realized how little I actually knew about it. Time to consult Google and Wikipedia… One thing that struck me while browsing was, that on most pictures of the PDP-11 it seemed to be a tall cabinet with just a bunch of switches on its front. I knew, that there was usually some sort of terminal attached to it, but from the pictures it appeared as if that was just an optional component. Could this machine be programmed through those switches alone? How would that have been actually done?
Luckily, DePauw University has made available a series of YouTube videos, which address exactly these questions: Programming the PDP-11
The humorous background storyline of these videos might not be everyone’s taste, but I found it quite amusing: A student frustrated from debugging one of her programs is invited by her professor to try out the department’s new “holodeck” to time travel into the 1970s and experience how hard programming used to be back then. On their trip they encounter a hacker who is bragging about his newest toy, a PDP-11/10 with an incredible memory of 32 kilobytes. He agrees to give the time travelling student a quick programming lesson, which starts with entering a machine language program by flipping the switches on the front of the machine. In later videos the lesson progresses through more advanced programming techniques using paper tapes, an editor, and a two-pass assembler.
I greatly enjoyed this set of instructional videos, and recommend them to anyone interested in computing history. To me they finally answered my questions about the mysterious switches, and once again reminded me of how far we have come in just three decades. Also, that old ZX81 does not seem all that primitive anymore.