LGP-30

Last updated
Librascope LGP-30 LGP-30 with skins.jc.jpg
Librascope LGP-30
An LGP-30 in use at Manhattan College in 1965 LGP-30 Manhattan College.rjf.jpg
An LGP-30 in use at Manhattan College in 1965
LGP-30 at The Computer Museum, Boston with cover removed. Control panel is at top center, to the left of the memory drum. LGP30.agr.jpg
LGP-30 at The Computer Museum, Boston with cover removed. Control panel is at top center, to the left of the memory drum.

The LGP-30, standing for Librascope General Purpose and then Librascope General Precision, is an early off-the-shelf computer. It was manufactured by the Librascope company of Glendale, California (a division of General Precision Inc.), and sold and serviced by the Royal Precision Electronic Computer Company, a joint venture with the Royal McBee division of the Royal Typewriter Company. The LGP-30 was first manufactured in 1956, [1] [2] [3] at a retail price of $47,000, equivalent to $530,000in 2023. [4]

Contents

The LGP-30 was commonly referred to as a desk computer. Its height, width, and depth, excluding the typewriter shelf, was 33 by 44 by 26 inches (84 by 112 by 66 cm). It weighed about 800 pounds (360 kg), [5] and was mounted on sturdy casters which facilitated moving the unit.

Design

The LGP-30 control panel LGP-30 control panel.jpg
The LGP-30 control panel
German control panel LGP-30 German control panel.jpg
German control panel

The primary design consultant for the Librascope computer was Stan Frankel, a Manhattan Project veteran and one of the first programmers of ENIAC. He designed a usable computer with a minimal amount of hardware. [6] The single address instruction set had only 16 commands. Magnetic drum memory held the main memory, and the central processing unit (CPU) processor registers, timing information, and the master bit clock, each on a dedicated track. The number of vacuum tubes was minimized by using solid-state diode logic, a bit-serial architecture [7] and multiple use of each of the 15 flip-flops.

It was a binary, 31-bit word computer with a 4096-word drum memory. Standard inputs were the Flexowriter keyboard and paper tape (ten six-bit characters/second). The standard output was the Flexowriter printer (typewriter, working at 10 characters/second). An optional higher-speed paper tape reader and punch was available as a separate peripheral.

Console typewriter of an LGP-30 at the Computer History Museum. Note that, as was common in typewriters of the time, there is no key for the number 1 (lower case L was used instead). LGP-30.jpg
Console typewriter of an LGP-30 at the Computer History Museum. Note that, as was common in typewriters of the time, there is no key for the number 1 (lower case L was used instead).

The computer contained 113 electronic tubes and 1450 diodes. The tubes were mounted on 34 etched circuit pluggable cards which also contain associated components. The 34 cards were of only 12 different types. Card-extenders were available to permit dynamic testing of all machine functions. 680 of the 1450 diodes were mounted on one pluggable logic board.

The LGP-30 required 1500 watts operating under full load. The power inlet cord could plug into any standard 115 volt 60-cycle single-phase line. The computer incorporated voltage regulation suitable for powerline variation of 95 to 130 volts. In addition to power regulation, the computer also contained circuitry for a warm-up stage, which minimized thermal shock to the tubes to ensure longer life. The computer contained a cooling fan which directed filtered air through ducts to the tubes and diodes, to extend component life and ensure proper operation. No expensive air conditioning was necessary if the LGP-30 was operated at reasonable temperatures.

There were 32 bit locations per drum word, but only 31 were used, permitting a "restoration of magnetic flux in the head" at the 32nd bit time. Since there was only one address per instruction, a method was needed to optimize allocation of operands. Otherwise, each instruction would wait a complete drum (or disk) revolution each time a data reference was made. The LGP-30 provided for operand-location optimization by interleaving the logical addresses on the drum so that two adjacent addresses (e.g., 00 and 01) were separated by nine physical locations. These spaces allowed for operands to be located next to the instructions which use them. There were 64 tracks, each with 64 words (sectors). The time between two adjacent physical words was about 0.260 millisecond (ms), and the time between two adjacent addresses was 9 x 0.260 or 2.340 ms. The worst-case access time was 16.66 ms.

Half of the instruction (15 bits) was unused. The unused half could have been used for extra instructions, indexing, indirect addressing, or a second (+1) address to locate the next instruction, each of which would have increased program performance. None of these features were implemented in the LGP-30, but some were realized in its 1960 successor, the RPC-4000.

The LGP-30 register display, which used an oscilloscope behind this mask. Counter instruction accumulator.jpg
The LGP-30 register display, which used an oscilloscope behind this mask.

A unique feature of the LGP-30 was its built-in multiplication, despite being inexpensive. Since this was a drum computer, bits were processed serially as they were read from the drum. As it did each of the additions associated with the multiplication, it effectively shifted the operand right, acting as if the binary point were on the left side of the word, as opposed to the right side as on most other computers. The divide operation worked similarly.

To further reduce costs, the traditional front panel lights showing internal registers were absent. Instead, Librascope mounted a small oscilloscope on the front panel that displayed the output from the three register read heads, one above the other, allowing the operator to see and read the bits. Horizontal and vertical size controls let the operator adjust the display to match a plastic overlay engraved with the bit numbers. To read bits the operator counted the up- and down-transitions of the oscilloscope trace.

Unlike other computers of its day, internal data was represented in hexadecimal instead of octal, but being a very inexpensive machine it used the physical typewriter keys that correspond to positions 10 to 15 in the type basket for the six non-decimal characters (as opposed to the now normal A – F) to represent those values, resulting in 0 – 9 f g j k q w, which was remembered using the phrase "FiberGlass Javelins Kill Quite Well".

Specifications

A look inside the LGP-30 at the Stuttgart Computer Museum. Drum memory is on the left, CPU on the right. LGP-30 inside.jpg
A look inside the LGP-30 at the Stuttgart Computer Museum. Drum memory is on the left, CPU on the right.
LGP-30 drum memory LGP-30 drum memory.jpg
LGP-30 drum memory

Programming

Instruction set

The LGP-30 has 16 instructions. Each instruction occupies a 31-bit word though about half the bits are unused and set to zero. An instruction consists of an "order" such as the letter b for "bring from memory" and an address part such as the number 2000 to designate a memory location. All instructions have a similar appearance in an LGP-30 word. The order bits occupy positions 12 through 15 of the word and the address bits occupy positions 18 through 29 of the word. The address bits are further divided by track and sector. Although all instructions have an address, some do not use the address. It is customary to enter an address of 0000 in these instructions. [8]

0011121516171823242930
000000000000Order00TrackSector0
ExampleOrderOperation
b 20000001Bring from Memory: Replace the contents of the accumulator with the contents of memory location 2000. The contents of memory location 2000 is unaffected.
h 20001100Hold and Store: Replace the contents of memory location 2000 with the contents of the accumulator. The contents of the accumulator is unaffected.
c 20001101Clear and Store: Replace the contents of memory location 2000 with the contents of the accumulator and replace the contents of the accumulator with zero.
y 20000010Store Address: Replace the contents of the address portion of the word in memory location 2000 with the contents of the address portion of the word in the accumulator. The contents of the accumulator is unaffected. The LGP-30 has no index register. Y can be used to self-modify code to index an array.
u 20001010Unconditional transfer: Replace the number in the (program) counter register with the contents of the address portion of the unconditional transfer instruction.
r 20000011Return address: Add one to the contents of the (program) counter register and replace the address portion of memory location 2000 with the contents of the counter register. This instruction is used to patch an unconditional transfer instruction at the end of a subroutine to direct it to return to the caller. R is followed immediately with a branch instruction to the beginning of the subroutine. R can also be used to patch a Test instruction to create a conditional return.
t 20001011Test: (Conditional transfer) If a one is in the sign bit of the word in the accumulator, the test instruction has the effect of an unconditional transfer. If a zero is in the sign bit of the word in the accumulator, the next following instruction in normal sequence is executed.
z 00000000Stop: Stop computation. If computation is to stop, the address portion of the stop instruction is usually of no significance. However, the stop order has a special characteristic. If there is a one in the third bit from the right hand end of the track portion of a stop instruction, computation does not stop if break point switch 4 on the console of the computer is depressed. Four break point switches are supported by the z instruction.
p 20001000Print: Execute the typewriter keyboard function indicated by the 6 track bits. The print order has no effect on the contents of any memory location, the accumulator, or the counter register. For example, p 2000 has 010100 in the track bits which is the code for a back space on the typewriter. The execution of p 2000 results in the typewriter back spacing.
i 00000100Input: The address portion of the instruction constructed from this order is always 0000. It is always preceded by the instruction p 0000. After a p 0000 instruction starts the tape reader, an i 0000 instruction transfers into the last 4 bit positions of the accumulator the first 4 bits of the typewriter code for the first character read on the tape. When the second character is read, the bits representing the first character are shifted left into the next to last four bit positions of the accumulator and the first four bits of the typewriter code of the second character on tape are placed in the last four bit positions of the accumulator. This process continues up to eight times to fill the entire accumulator until a stop code (100000) appears on the tape. The stop code stops the tape reader and sends a start signal to the computer so that the instruction following i 0000 in memory is executed. Often this next instruction is a h or c instruction so that the characters read into the accumulator can be stored in some memory location.
a 20001110Add: Add the contents of memory location 2000 to the contents of the accumulator and place the result in the accumulator. The contents of memory location 2000 is unaffected.
s 20001111Subtract: Subtract the contents of memory location 2000 from the contents of the accumulator and place the result in the accumulator. The contents of memory location 2000 is unaffected.
m 20000111Multiply upper: Multiply the number in the accumulator by the number in memory location 2000 and place the most significant thirty bits of the product in the accumulator. The contents of memory location 2000 is unaffected.
n 20000110Multiply lower: Multiply the number in the accumulator by the number in memory location 2000 and place the least significant thirty-one magnitude bits of the product in the sign bit and thirty magnitude bits of the accumulator. The contents of memory location 2000 is unaffected.
d 20000101Divide: Divide the number in the accumulator by the number in memory location 2000 and place the quotient rounded to thirty bits in the accumulator. The contents of memory location 2000 is unaffected.
e 20001001Extract: Place zeroes in the word in the accumulator wherever there are zeroes in location 2000 but otherwise leave the word in the accumulator unchanged. The contents of location 2000 is unaffected. This is the equivalent of an AND instruction on most computers.

ACT-III programming language

The LGP-30 had a high-level language called ACT-III. Every token had to be delimited by an apostrophe, making it hard to read and even harder to prepare tapes: [9]

s1'dim'a'500'm'500'q'500'' index'j'j+1'j-1'' daprt'e'n't'e'r' 'd'a't'a''cr'' rdxit's35'' s2'iread'm'1''iread'q'1''iread'd''iread'n'' 1';'j'' 0'flo'd';'d.'' s3'sqrt'd.';'sqrd.'' 1'unflo'sqrd.'i/'10';'sqrd'' 2010'print'sqrd.''2000'iprt'sqrd''cr''cr'' ... 

ALGOL 30

Dartmouth College developed two implementations of ALGOL 60 for the LGP-30. Dartmouth ALGOL 30 was a three-pass system (compiler, loader, and interpreter) that provided almost all features of ALGOL except those requiring run-time storage allocation. SCALP, a Self Contained Algol Processor, was a one-pass system for a small subset of ALGOL (no blocks other than the entire program), no procedure declarations, conditional statements but no conditional expressions, no constructs other than while in a for statement, no nested switch declarations (nested calls are permitted), and no boolean variables and operators. As in ACT-III, every token had to be separated by an apostrophe. [10]

DICTATOR

DICTATOR is a painful acronym for DODCO Interpretive Code for Three Address with Technical Optimum Range. DICTATOR, introduced in 1959, is an interpreter designed to hide the LGP-30 machine details from the programmer. The programming language resembles three-operand assembly code with two source operands and one destination operand. All numbers are in floating point with an eight digit mantissa and two digit exponent. Natural logs and exponents are supported along with sin, cos, and arctan. Up to four nested loops are supported. Table look-up and block memory move operations are implemented. A bit more than half the total LGP-30 memory is used by the interpreter; it takes about 30 minutes to load the paper tape via the Flexowriter. Floating point add, subtract, multiply, and divide take less than 455 milliseconds each. Cosine is calculated in 740 milliseconds. [11]

Starting the machine

The procedure for starting, or "booting" the LGP-30 was one of the most complicated ever devised. First, the bootstrap paper tape was snapped into the console typewriter, a Friden Flexowriter. The operator pressed a lever on the Flexowriter to read an address field and pressed a button on the front panel to transfer the address into a computer register. Then the lever on the Flexowriter was pressed to read the data field and three more buttons were pressed on the front panel to store it at the specified address. This process was repeated, maybe six to eight times, and a rhythm was developed:

burrrp, clunk,  burrrp, clunk, clunk, clunk,  burrrp, clunk,  burrrp, clunk, clunk, clunk, burrrp, clunk,  burrrp, clunk, clunk, clunk,  burrrp, clunk,  burrrp, clunk, clunk, clunk,  burrrp, clunk,  burrrp, clunk, clunk, clunk,  burrrp, clunk,  burrrp, clunk, clunk, clunk.

The operator then removed the bootstrap tape, snapped in the tape containing the regular loader, carefully arranging it so it would not jam, and pressed a few more buttons to start up the bootstrap program. Once the regular loader was in, the computer was ready to read in a program tape. The regular loader read a more compact format tape than the bootstrap loader. Each block began with a starting address so the tape could be rewound and retried if an error occurred. If any mistakes were made in the process, or if the program crashed and damaged the loader program, the process had to be restarted from the beginning. [12]

LGP-21

In 1963, [13] Librascope produced a transistorized update to the LGP-30 named the LGP-21. [14] [15] The new computer had about 460 transistors and about 375 diodes. It cost only $16,250, one-third the price of its predecessor. Unfortunately it was also about one-third as fast as the earlier computer.

The central computer weighed about 90 pounds (41 kg), [16] the basic system (including printer and stands) about 155 pounds (70 kg). [17]

RPC 4000

Another, more-powerful successor machine, was the General Precision RPC 4000, announced in 1960. [18] Similar to the LGP-30, but transistorized, it featured 8,008 32-bit words of memory drum storage. It had 500 transistors and 4,500 diodes, sold for $87,500 and weighed 500 pounds (230 kg). [19] [20] [21]

Notable uses

Edward Lorenz used the LGP-30 in his attempt to model changing weather patterns. His discovery that massive differences in forecast could derive from tiny differences in initial data led to him coining the terms strange attractor and butterfly effect , core concepts in chaos theory. [22] The RPC-4000 (successor to the LGP-30) is also remembered as the computer on which Mel Kaye performed a legendary programming task in machine code, retold by Ed Nather in the hacker epic The Story of Mel . [23]

See also

Further reading

Related Research Articles

<span class="mw-page-title-main">PDP-8</span> Minicomputer product line

The PDP-8 is a family of 12-bit minicomputers that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneering LINC but has a smaller instruction set, which is an expanded version of the PDP-5 instruction set. Similar machines from DEC are the PDP-12 which is a modernized version of the PDP-8 and LINC concepts, and the PDP-14 industrial controller system.

<span class="mw-page-title-main">IBM 1620</span> Small IBM scientific computer released in 1959

The IBM 1620 was announced by IBM on October 21, 1959, and marketed as an inexpensive scientific computer. After a total production of about two thousand machines, it was withdrawn on November 19, 1970. Modified versions of the 1620 were used as the CPU of the IBM 1710 and IBM 1720 Industrial Process Control Systems.

<span class="mw-page-title-main">IBM 1401</span> 1960s decimal computer

The IBM 1401 is a variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for processing data stored on punched cards and at providing peripheral services for larger computers. The 1401 is considered by IBM to be the Ford Model-T of the computer industry due to its mass appeal. Over 12,000 units were produced and many were leased or resold after they were replaced with newer technology. The 1401 was withdrawn on February 8, 1971.

<span class="mw-page-title-main">Drum memory</span> Magnetic data storage device

Drum memory was a magnetic data storage device invented by Gustav Tauschek in 1932 in Austria. Drums were widely used in the 1950s and into the 1960s as computer memory.

The Cyclone is a vacuum-tube computer, built by Iowa State College at Ames, Iowa. The computer was commissioned in July 1959. It was based on the IAS architecture developed by John von Neumann. The Cyclone was based on ILLIAC, the University of Illinois Automatic Computer. The Cyclone used 40-bit words, used two 20-bit instructions per word, and each instruction had an eight-bit op-code and a 12-bit operand or address field. In general IAS-based computers were not code compatible with each other, although originally math routines which ran on the ILLIAC would also run on the Cyclone.

<span class="mw-page-title-main">IBM 1130</span> 16-bit IBM minicomputer introduced in 1965

The IBM 1130 Computing System, introduced in 1965, was IBM's least expensive computer at that time. A binary 16-bit machine, it was marketed to price-sensitive, computing-intensive technical markets, like education and engineering, succeeding the decimal IBM 1620 in that market segment. Typical installations included a 1 megabyte disk drive that stored the operating system, compilers and object programs, with program source generated and maintained on punched cards. Fortran was the most common programming language used, but several others, including APL, were available.

Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. The various addressing modes that are defined in a given instruction set architecture define how the machine language instructions in that architecture identify the operand(s) of each instruction. An addressing mode specifies how to calculate the effective memory address of an operand by using information held in registers and/or constants contained within a machine instruction or elsewhere.

<span class="mw-page-title-main">Friden Flexowriter</span> Teleprinter

The Friden Flexowriter was a teleprinter produced by the Friden Calculating Machine Company. It was a heavy-duty electric typewriter capable of being driven not only by a human typing, but also automatically by several methods, including direct attachment to a computer and by use of paper tape.

KDF9 was an early British 48-bit computer designed and built by English Electric. The first machine came into service in 1964 and the last of 29 machines was decommissioned in 1980 at the National Physical Laboratory. The KDF9 was designed for, and used almost entirely in, the mathematical and scientific processing fields – in 1967, nine were in use in UK universities and technical colleges. The KDF8, developed in parallel, was aimed at commercial processing workloads.

The Story of Mel is an archetypical piece of computer programming folklore. Its subject, Melvin Kaye, is an exemplary "Real Programmer" whose subtle techniques fascinate his colleagues.

In computer engineering, an orthogonal instruction set is an instruction set architecture where all instruction types can use all addressing modes. It is "orthogonal" in the sense that the instruction type and the addressing mode vary independently. An orthogonal instruction set does not impose a limitation that requires a certain instruction to use a specific register so there is little overlapping of instruction functionality.

<span class="mw-page-title-main">Bendix G-15</span> 1956 computer design

The Bendix G-15 is a computer introduced in 1956 by the Bendix Corporation, Computer Division, Los Angeles, California. It is about 5 by 3 by 3 feet and weighs about 966 pounds (438 kg). The G-15 has a drum memory of 2,160 29-bit words, along with 20 words used for special purposes and rapid-access storage. The base system, without peripherals, cost $49,500. A working model cost around $60,000. It could also be rented for $1,485 per month. It was meant for scientific and industrial markets. The series was gradually discontinued when Control Data Corporation took over the Bendix computer division in 1963.

The Burroughs B2500 through Burroughs B4900 was a series of mainframe computers developed and manufactured by Burroughs Corporation in Pasadena, California, United States, from 1966 to 1991. They were aimed at the business world with an instruction set optimized for the COBOL programming language. They were also known as Burroughs Medium Systems, by contrast with the Burroughs Large Systems and Burroughs Small Systems.

In computer architecture, 31-bit integers, memory addresses, or other data units are those that are 31 bits wide.

<span class="mw-page-title-main">Librascope</span> American technology company

Librascope was a Glendale, California, division of General Precision, Inc. (GPI). It was founded in 1937 by Lewis W. Imm to build and operate theater equipment, and acquired by General Precision in 1941. During World War II it worked on improving aircraft load balancing.

<span class="mw-page-title-main">D-17B</span> Missile guidance computer

The D-17B (D17B) computer was used in the Minuteman I NS-1OQ missile guidance system. The complete guidance system contained a D-17B computer, the associated stable platform, and power supplies.

Dartmouth ALGOL 30 was a 1960s-era implementation, first of the ALGOL 58 programming language and then of ALGOL 60. It is named after the computer on which it ran: a Librascope General Precision (LGP-30) desk-size computer acquired by Dartmouth College in 1959.

<span class="mw-page-title-main">SDS 9 Series</span> Backward compatible line of transistorized computers

The SDS 9 Series computers are a backward compatible line of transistorized computers produced by Scientific Data Systems in the 1960s and 1970s. This line includes the SDS 910, SDS 920, SDS 925, SDS 930, SDS 940, and the SDS 945. The SDS 9300 is an extension of the 9xx architecture. The 1965 SDS 92 is an incompatible 12-bit system built using monolithic integrated circuits.

<span class="mw-page-title-main">Monrobot XI</span> Computer introduced in 1960

The Monroe Calculating Machine Mark XI was a general-purpose stored-program electronic digital computer introduced in 1960 by the Monroe Calculating Machine Division of Litton Industries. The system was marketed for "primarily for billing, and invoice writing", but could also be used for low-end scientific computing.

The Darmstadt Electronic Computing Machine (DERA), (German:Darmstädter Elektronischer Rechenautomat) was an experimental, room-sized electronic computer calculator with vacuum tube built in 1951. It was built at the Technische Universität Darmstadt under the direction of Alwin Walther. The first operation was in 1957, with development completed in 1959.

References

  1. "1950-1959 Librazettes". www.librascopememories.com. Librazette: July, 1956 – Royal Precision Plans – LGP-30 Promotion; November, 1956 – LGP-30, Flow Computer Spearhead – Commercial Sales and Production – They're In Production and Paul Coates Will Feature LGP-30 on Dec. TVshows. 1956. Retrieved 2018-03-19.{{cite web}}: CS1 maint: others (link)
  2. Flamm, Kenneth (2010-12-01). Creating the Computer: Government, Industry and High Technology. Abstract of Computer Oral History Collection, 1969-1973, 1977, p. 75. Brookings Institution Press. p. 66. ISBN   978-0815707219.
  3. "Strand v. Librascope, Incorporated, 197 F. Supp. 743 (E.D. Mich. 1961)". Justia Law. Retrieved 2018-03-20. In November, 1955, (...) two important events occurred. The LGP-30 computer, containing seven MH-10R heads, failed to function correctly at the International Automation Exhibition in Chicago on November 15, 1955. In fact, an LGP-30 computer did not work satisfactorily until March, 1956, and the computer was not offered for sale to the general public until the fall of 1956.
  4. 1634–1699: McCusker, J. J. (1997). How Much Is That in Real Money? A Historical Price Index for Use as a Deflator of Money Values in the Economy of the United States: Addenda et Corrigenda (PDF). American Antiquarian Society. 1700–1799: McCusker, J. J. (1992). How Much Is That in Real Money? A Historical Price Index for Use as a Deflator of Money Values in the Economy of the United States (PDF). American Antiquarian Society. 1800–present: Federal Reserve Bank of Minneapolis. "Consumer Price Index (estimate) 1800–" . Retrieved February 29, 2024.
  5. Weik, Martin H. (January 1964). "LGP 30". ed-thelen.org. A Fourth Survey of Domestic Electronic Digital Computing Systems.
  6. Frankel, Stanly P. (1957). "The Logical Design of a Simple General Purpose Computer". IRE Transactions on Electronic Computers. EC-6 (1): 5–14. doi:10.1109/TEC.1957.5221555.
  7. Miller, Raymond E. (1965). Switching Theory – Volume 1: Combinational Circuits. Vol. 1 (Second printing, March 1966, of 1st ed.). John Wiley & Sons, Inc. pp. 44–47. LCCN   65-14249.
  8. Royal Precision Electronic Computer LGP - 30 Programming Manual. Port Chester, New York: Royal Precision. April 1957. Retrieved 19 November 2023.PD-icon.svg This article incorporates text from this source, which is in the public domain .
  9. File:ACT III program.agr.jpg
  10. Stephen J. Garland, Robert F. Hargaraves, Anthony W. Knapp, Jorge Llacer (15 February 1962). Algol for the LGP-30 (PDF). Computation Center, Dartmouth College. Retrieved 5 February 2024.{{cite book}}: CS1 maint: multiple names: authors list (link)
  11. Laudeman, Charles (October 6, 1959). DODCO Interpretive Code for Three Address with Technical Optimum Range (PDF). LGP-30 Users' Organization-Pool. Retrieved 20 November 2023.
  12. Reinhold, Arnold. "Act-III and booting sections". Computer History. (NB. With permission under GFDL and CC-BY-SA 3.0).
  13. "1960-1969 Librazettes". www.librascopememories.com. May, 1963 Librazette: LGP-21 Is Selling Well – p. 4, See Page Eight ad – pp. 7-8.
  14. Picture with description of computer parts: "1963 Pictorial Report on the Computer Field: Digital Computers – LGP-21" (PDF). Computers and Automation. XII (12): 29. Dec 1963. Retrieved 2020-09-05.
  15. "Across the Editor's Desk: Computing and Data Processing Newsletter – "Doorstep" Era in Computer Marketing Heralded". Computers and Automation: 62. May 1964.
  16. Weik, Martin H. (Jan 1964). "LGP 21". ed-thelen.org. A Fourth Survey of Domestic Electronic Digital Computing Systems.
  17. "WPS:LGP 21:Documentation". sr-ix.com. LGP-21 Sales Brochure (G3-3101): p. 7.
  18. "The LGP-30's big brother · e-basteln". www.e-basteln.de.
  19. 900 pounds (410 kg) according to
  20. BRL Report. 1964.
  21. "RPC-4000 Electronic Computing System". Computers and Automation: 4B (20). May 1960.
  22. Gleick, James (1987). Chaos: Making a New Science.
  23. "Story of Mel".