LGP-30
LGP-30
The LGP-30 — Librascope General Purpose (later General Precision) — was the desk computer before desks had computers: 33 × 44 × 26 inches, 800 pounds on casters, $47,000 in 1956, at a time when the next machine up cost ten times that and needed its own room. Stanley Frankel — Manhattan Project veteran, one of ENIAC's first programmers — designed it with Caltech graduate student James Cass under a single brutal constraint: minimum hardware. They shipped a working computer with only 113 vacuum tubes — a tenth of a contemporary machine — by leaning on solid-state diode logic, a bit-serial architecture, and relentless reuse of its 15 flip-flops.[1]
The economy shows everywhere, and it's half the charm. There were no register lights on the front panel — Librascope mounted a small oscilloscope that displayed the three registers' bits as stacked waveforms against an engraved plastic overlay, and the operator read the machine's state by counting up- and down-transitions on the trace. The main memory was a 4,096-word drum (64 tracks × 64 sectors) that also held the CPU registers and the master clock on dedicated tracks. Sixteen instructions. Thirty-one usable bits per 32-bit word — the last bit position existed purely to let the read head's magnetic flux "rest."[2]
Hex, but not as you know it
The LGP-30 spoke hexadecimal internally — but a $47,000 machine couldn't afford hexadecimal keycaps. The Flexowriter typewriter had no A–F, so the six extra digits were rendered with whatever sat in positions 10–15 of the type basket: 0 1 2 3 4 5 6 7 8 9 f g j k q w. Generations of LGP-30 programmers memorized the mapping as "Fiber-Glass Javelins Kill Quite Well." (The Flexowriter had no key for the digit 1 either — you typed a lowercase L.) And because the drum gave slow random access, logical addresses were interleaved nine physical slots apart, letting an operand sit where the head would actually be when the instruction needed it — the programmer scheduled the machine's physical rotation by hand.[3]
The Story of Mel
The LGP-30's immortality rests on a 1983 Usenet post. Ed Nather, hired to rewrite a customer's blackjack program, discovered its author — Mel Kaye — had written it entirely in machine code, in hex, with tricks Nather described with escalating awe. The climax: the blackjack program contained an infinite loop with no test at all. Mel had placed his data at the top of addressable memory so that when the instruction address incremented past it, the address overflowed and its carry added one to the opcode — turning it into a jump instruction pointed at location zero. The "bug" Nather had been sent to fix was the program working as designed. Nather's post ends: "I have often felt that programming is an art form, whose real value can only be appreciated by another versed in the same arcane art." Mel became hacker folklore's archetypal Real Programmer — and the LGP-30, the only machine eccentric enough to deserve him, became a character in the story.[4]
Where it sits
The LGP-30 proved a computer could be an appliance: rolled in on casters, plugged into a normal wall outlet, no air conditioning, sold through a typewriter company. Hundreds of small labs and colleges got their first machine this way — and its extremes of minimalism produced the programmer culture legend that still defines "real" programming.
Check your understanding
- Why did the LGP-30 need only 113 tubes when contemporaries used thousands?
- How did operators read the machine's registers with no front-panel lights?
- What were the LGP-30's "hexadecimal" digits — and why?
- What was Mel Kaye's famous trick in the blackjack program?
Show answers
1 — minimal hardware: solid-state diode logic, bit-serial operation, drum-resident registers, 15 multiply-used flip-flops. 2 — a small oscilloscope displayed the three registers' bits as waveforms behind an engraved overlay. 3 — 0–9 then f g j k q w — whatever occupied Flexowriter positions 10–15; "Fiber-Glass Javelins Kill Quite Well." 4 — he placed data at the top of memory so address overflow carried into the opcode field, turning it into a jump to location zero — an infinite loop with no loop test.
Footnotes
- ↑ LGP-30 — the Frankel/Cass design, the price, the dimensions, and the 113-tube minimalism
- ↑ LGP-30 specifications — the oscilloscope front panel, drum-as-registers, and the spacer bit
- ↑ LGP-30 design — the f–w hexadecimal, the missing 1 key, and the 9-slot address interleave
- ↑ Ed Nather, "The Story of Mel" (Usenet, 1983) — widely reprinted; the address-overflow-into-opcode trick as recounted in the LGP-30 article and the story itself