8008 personal computer front panel

An Early Personal Computer
(complete schematics)
by Steven K. Roberts
October 31, 1974

The sign under my 8008 system in the Computer History Museum
Placard below this machine in the Computer History Museum
NOTE: clock was actually 600kHz (4 phase)

Below are the original schematics of the homebrew computer I built long, long ago… an 8008-based machine that resides in the Computer History Museum (that link will open in a new window and show you four professionally done, zoomable photos). The six 11×17 hand-drawn documents are now archived with the machine.

Paper-tape 5×7 font I created with 8008 machine code and a Friden punch

The system predated those newfangled S-100 Altairs and IMSAIs that kicked off the personal computer phenomenon, flickering to life on October 31, 1974 after six months of obsessive design and fabrication with only the cryptic Intel 8008 databook for reference. In some primal male response to those first blinkies, I started my beard that day.

Building the machine in 1974 – Scanbe RapidRack card cage, dispenser of precut and bulk #30 Kynar, data books, HP-35 calculator… treasured relics.

Microprocessors were bizarre back then, and at first I considered the project just a break from the 74181 ALU-based mini I was designing (but never finished). More than with any system since, I dove very deeply into this, feeling the bits between my toes. I still shudder at the 4-phase 600 kHz clock and the odd things that took place during transition boundaries… like the magical fleeting appearance of the content of a register if you tried to move it to itself (load B with B and the like). This sort of thing enabled a number of enhancements that let me overcome the 8008′s intrinsic shortcomings… in particular, a hardware hack that added a data stack in outboard TTL RAM in addition to the limited 7-level return stack in main memory, allowing me to save context on a subroutine call by pushing all the registers.

The machine had 4K of 8-bit static RAM made of 2102s… I originally dedicated a wirewrap board to a mere 2K, but wanted MORE… MORE! So one night, I folded out all the chip-select pins of another 16 expensive 1024-bit DIPs, soldered them on top of the first batch, and bussed the floating selects back to the address decoder. Wowzers! A whopping 4K. I was ready to compute the world.

Homebrew 8008 Wirewrap Panel
Part of the CPU board… I used 60-socket Augat panels and a venerable Gardner-Denver 14XA2 wirewrap gun.

There were 8 interrupt channels, 64 bits each of input and output, a graphics subsystem using a pair of 8-bit multiplying DACs outputting X-Y to my Tek 7504 oscilloscope from a DMA display list, and a painfully slow math co-processor made from a Taylor-Series calculator chip with kluged BCD and 7-segment interface (mostly because I was intimidated by writing floating-point routines). I remember the night it drew a lovely (sin X)/X curve… took HOURS and I had consumed half a bottle of Jack Daniels by the time it was done, but it was a thing of beauty, I tellya what.

The author in 1974 during system development. Tektronix 531 and Hammarlund SP-600 in the background; photo in the bedroom lab of my Kentucky apartment.

Over its useful life, this machine also implemented Walsh-function waveform synthesis and a top-octave synthesizer for music projects, a hardware polyphonic music keyboard interface that I published in Byte, a simple text editor, a one-shot Hollerith card reader that allowed me to boot-load with a multi-punched image instead of wearing my fingers out with deposit-next, Friden paper tape reader and punch to handle my Cybertronics mailing list, newfangled 1200-baud cassette interface hacked out of a Bell 202 modem, and right outta the gate, a hardware driver for the marvelous Model 28 Baudot teletype that I still recall with wistful fondness. (This latter circuit was my first published magazine article… in the July 25, 1974 issue of Electronics magazine.)

The homebrew 8008 system at left, showing single-shot Hollerith card reader built into the keyboard enclosure. Using multipunch on an IBM 026 card punch, I made an image of the boot loader to eliminate the need to laboriously toggle it in with DEPOSIT NEXT over and over…

I sure do miss front panels. This one got a lot of use, and my early “screen saver” was a 555 (associated with the black knob) that allowed variable-speed single-stepping and a corresponding hypnotic blinking of the address and data bus LEDs. I remember one debugging night when address bit 14 appeared to be always on. I popped off the wire at the driver chip (a 7404) and it was still on, so obviously there was a short to ground between there and the LED pin (the other side went to a pullup to +5). So I casually removed the wire.

Steven K. Roberts with homebrew 8008 system in early 1975 (photo by Steven Orr)

The light was still on… with only one wire connected. I stared at it for a long time. It turned out that on my hobbyist budget, I had acquired a batch of surplus LEDs that failed some parametric test along the way… and this one had been dipped crooked in the plastic. The cathode metal was thus flush with the outside of the body, and made contact with my aluminum front panel (forever being known as the infamous “field-effect LED”). Ahhh, memories. In a paroxysm of gratuitous acronymism, my friends and I dubbed the machine BEHEMOTH… for Badly Engineered Heap of Electrical, Mechanical, Optical, and Thermal Hardware. Fifteen years later, a much larger BEHEMOTH would roll out of the lab, this one the Big Electronic Human-Energized Machine… Only Too Heavy. (It now resides in the Computer History Museum as well.)

Here’s a delightful profile in a local magazine, back in 1976… and in 1975 I published a card-dealing subroutine for the 8008. I acquired a trio of Univac Series 70 tape stations, but other than firing them up occasionally to enjoy the hypnotic vacuum-columns during tape transport, never actually interfaced them with the machine. In this photo, my elbow is on the 8008 system keyboard, and you can see an acoustic coupler behind my right shoulder.

Steven K. Roberts in the Cybertronics lab (photo by Steven Orr)

The Schematics

I didn’t make any effort to write text documentation to go with these, since, you know, the design was intuitively obvious to the casual observer. For the moment, I’ll just title the pages; perhaps some lazy evening I’ll go back and try to recall what some of the more obscure random logic was doing.

CPU
CPU and Support Logic
Interrupt Logic
Interrupt Logic
Output Ports and TTY Interface
8 Output Ports and TTY Interface
Front Panel
Front Panel
RAM and DMA Board
RAM and DMA Board
8 Input Ports and Card Reader Controller
8 Input Ports and 80-Column Card Reader Interface

Looking at these really takes me back to a time of deep obsession and clear focus. We had no idea then how crazily the computer industry would take off, and could barely even imagine “a megabyte,” much less the impossibly magical things we now take for granted in our smart phones. Drawing tools were primitive (logic template, pencil, and taped-together 11×17 sheets), and to go from this to the wirewrap panels I created a book-length wire list… ticking off connections on photocopies of these drawings. Passionate times indeed. It took many an all-nighter to pull this off, and there was no Facebook or looming IN-basket to constantly distract me with micro-interruptions. That, and I wasn’t yet technically jaded at the tender age of 22… everything I was playing with was amazing. Now we shrug at a 1 Terabyte SSD for $100…

The front panel of my 8008 system (Oct, 1974) as seen in the Computer History Museum during a May, 2015 visit.
The front panel of my homebrew 8008 computer system (Oct, 1974) as seen in the Computer History Museum during a May, 2015 visit.