About the LGP-30
The LGP-30 was designed by Stanley Frankel, a physicist who had worked on the Manhattan Project, and built by the Librascope division of General Precision. Royal McBee, better known for typewriters, sold it from 1956. LGP stands for Librascope General Purpose.
It was a small machine by the standards of its day, and a cheap one, at around $47,000. It used 113 vacuum tubes and some 1450 diodes, where larger machines used thousands of tubes. It needed no special room and no special power supply. It was sold to universities, engineering firms and research groups who could not afford, or did not need, a large computer.
The machine
- Memory: a magnetic drum of 4096 words, 32 bits each, arranged as 64 tracks of 64 sectors, turning at about 3700 rpm.
- Registers: three. The accumulator holds the working value, the counter holds the address of the next instruction, and the instruction register holds the instruction being executed.
- Instructions: 16, each a single letter with one address. There are add, subtract, two kinds of multiply, divide, a conditional and an unconditional jump, and a handful of store, input and output instructions.
- Arithmetic: binary, one bit at a time, on numbers treated as fractions between -1 and 1. Scaling was the programmer's job.
- Input and output: a Friden Flexowriter, an electric typewriter with a paper-tape reader and punch. Programs were typed in or read from tape.
Where it was used
Several hundred were built. The best-known one belonged to Edward Lorenz at MIT, who used it for a simplified weather simulation. Restarting a run from rounded numbers printed by an earlier one, he found that the tiny difference grew until the two runs had nothing in common. That observation became the foundation of chaos theory.
Dartmouth College had one too, and its students wrote programming systems for it in the years before the college went on to create BASIC. It was succeeded in 1960 by the RPC-4000, a larger drum machine from the same company, which is the machine at the centre of the Story of Mel.
What the emulator models
The emulator runs the full instruction set with the machine's word size and arithmetic, and it models drum timing: every instruction fetch and every operand access waits for the right sector to come round. That is what makes the placement of code and data matter, just as it did on the real machine.
It does not reproduce the console, the typewriter's printing speed or the physical details of loading tape. The IDE replaces them with an editor and a debugger. The aim is to be faithful to what a program does and how long it takes, not to how the machine looked.