*** Please note, this page (and web site) are in early development.
Items are certainly not complete, and may be inaccurate.
Your information, comments, corrections, etc. are eagerly requested.
Send e-mail to Ed Thelen. Please include the URL under discussion. Thank you ***

LGP-30

Manufacturer Royal Precision Electronic Computer Company
Identification,ID LGP-30 (Librascope General Precision)
Date of first manufacture1956
Number produced about 500 (Professor Smilie)
Estimated price or cost$40,000

Contents of this page:

Photo

Placard
from Placard in Computer History Museum (2008)
"The LGP-30 was a small drum-based computer marketed to engineering, scientific and educational users. Among the first desk-sized computers, the LGP-30 offered small-scale scientific computing for a relatively low price. It had 113 vacuum tuves and 1,450 diodes, used conventional office power and required no air conditioning. The machine proved to be very reliable and many LGP-03s were in use fo over a decade.

"Speed: 500 Add/s "


from 1981 inventory of Computer History Museum


LGP-30 - Librascope General Precision Computer

	Word Length: 31 Bits, including a sign bit,
	  but excluding a blank spacer bit
	Memory Size: 4096 words
	Speed:  0.260 milliseconds access time between two
	   adjacent physical words; access times between two
	   adjecent addresses 2.340 milliseconds.
	Clock Rate: 120 Khz
	Power: 1500 watts
	Arithmetic element: Three working registers: C the
	   counter register, R the instruction register and A the
	   accumulator register.
	Instruction format:  Sixteen instruction using half-word
	   format
	Technology: 113 vacuum tubes and 1350 diodes.
	Number Produced; 320~493
	First Delivery: September, 1956
	Price: $47,000
	Successor: LGP-21
	Achievements: With the Bendix G-15 the first of the
	desk-sized computers offering small scale scientific
	computing.  Revolutionizing the computer industry with
	the potential for low-cost distributed processing.

Architecture
Description from BRL - REPORT N0. 1115, MARCH 1961


Bit serial, binary, 31 bit word computer with 4096 word drum. (Many references refer to the LGP-30 as having a 32 bit word. However, the 32nd bit is always read from the drum as a zero, so let us clarify and say 31 useful data and instruction bits.)

Standard inputs were the Flexowriter keyboard and paper tape (10 6 bit characters/second). The only printing output was the Flexowriter printer (typewriter, 10 characters/second). An optional higher speed paper tape reader and punch was available as a separate peripheral.

Interesting address location (successive addresses on drum are 7 physical locations further on) helped reduce rotational latency for instruction access. (Instructions with out memory operands could be executed much faster than one per drum revolution.) This is now called "interlacing" and is discussed in The LGP-30 and LGP-21

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. (I never understood why the 32nd bit was not used for parity checking - there was no drum validity checking.) A utility could be run to map defective locations on the drum, and advise users and loaders of the defective tracks, but marginal and failing drums caused interesting problems.

From Joseph H. Austin Computer Science, St. Augustine's College, Raleigh NC - August 2003
I found the reference elsewhere, and thought you might like to add it [or copy of the paper if you can get it] to your site:

REF: Stanley Frankel, The logical design of a simple general purpose computer, Trans.I.R.E. Professional Group on Electronic Computers, EC-6/1, Mar 1957

This paper describes what became the LGP-30 from the architectural point of view, and includes the complete boolean logic formulas for all the operations.

As a graduate student in computer science at U North Carolina Chapel Hill in the late 60's, I was taking a computer architecture class under Dr. Fred Brooks [IBM/360; The Mythical Man-Month]. He assigned each student to read the paper and work through one of the instructions, cycle by cycle and bit by bit. As I recall, I did multiply. For anyone interested in understanding the workings of a computer from the AND/OR/NOT level up, this [is] the one paper to study.

Any one have access (or know of a link) to this paper?

Special features
from LGP-30 PHYSICAL DESCRIPTION

LGP-30 PHYSICAL DESCRIPTION

The LGP-30 is commonly referred to as a desk computer. Obviously, this phrase originated because the size of the LGP-30 closely parallels the size of a standard office desk. The LGP-30 is 26" deep, 33" high, and 44" long, exclusive of the typewriter shelf. The computer weighs approximately 800 pounds and is mounted on sturdy casters which facilitates movement of the computer.

Another asset in regard to the computer's mobility is its power requirement. The LGP-30 requires 1500 watts when operating under full load. The power inlet cord may be plugged into any standard 115 volt 60 cycle single phase line. The computer contains internal voltage regulation of all voltages against power line variations from 95 to 130 volts. In addition to regulation of power line variations, the computer also contains the circuitry required to permit a warm-up stage. This warm-up stage minimizes thermal shock to tubes and insures long component life. The computer contains its own blower unit and directs filtered air, through ducts, to tubes and diodes, in order to again insure long component life and proper operation. No expensive air conditioning needs to be installed ,if the room is kept within a reasonable temperature range.

The computer contains 113 electronic tubes and 1450 diodes. The 113 electronic tubes are mounted on 34 etched circuit pluggable cards which also contain associated components. Although 34 pluggable cards are used, there are only 12 different types of such cards. Card-extenders are available to permit dynamic testing of all machine functions. Six hundred and eighty of the 1450 diodes are mounted on one pluggable logic board. This logic board may be quickly removed and is very accessible for service personnels use.

The main memory consists of a magnetic drum that contains 4096 words. An instruction or data word may be stored in each one of the 4096 available words. When instructions are placed on the drum, they will be executed in sequence until one of the instructions "transfers control" to a new set of instructions.

...

The LGP-30 had 16 instructions

OP-CODE SYMBOL FUNCTION || OP-CODE

SYMBOL

FUNCTION



||


0000

Z

STOP||

1000

P

PRINT

0001

B

BRING||

1001

E

EXTRACT

0010

Y

STORE ADDRESS||

1010

U

UNC-TRANSFER

0011

R

RETURN ADDRESS||

1011

T

TEST

0100

I

INPUT||

1100

H

HOLD

0101

D

DIVIDE||

1101

C

CLEAR

0110

N

MULTIPLY||

1110

A

ADD

0111

M

MULTIPLY||

1111

S

SUBTRACT

The LGP-30 had a "Psudo" 32 bit accumulator which was stored on the drum memory. Actually it had 32 such accumulators on one track of the drum and in the multiplication functions a 64 bit product was stored. The 'M' or 0111 multiply would give you the first 32 bits of the product while the 'N' or 0110 multiply would work the last 32 bits.

All calculations were in pure binary. Real values were faked as integer and the programmer had to take care of the bit point or the 'Q' for each value.

There was a small CRT display which was used for debugging. The display was in binary and consisted of three registers. {To read you counted the ups and downs of the trace.}

    Location Counter
    Last Instruction executed
    Accumulator

from Ed Thelen
This machine was about as serial as possible, The accumulator and (? other registers ?) were recirculated on the drum. To ADD from (drum) memory to the accumulator, the machine would wait until the (drum) memory rotated to the desired location, then add, bit-by-bit read/writing from.to the accumulator.

A neat trick was the hardware optimization data/instruction locations.

The 31 bit signed data word could handle the range of +- 536,870,911. The floating point format used in floating point subroutines, an arithmetic interpreter, and the ACT-III compilier handled the range of
0.10000002 <= |n| <= 0.9999999994
with an exponent of
-32 <= e <= +31
Oddly, the floating point format did not exactly represent the number 1.

- and

The LGP-30 did not have an index register, not indexing capability. This limitation made self-modifying code (a current no-no) a requirement. To search a list of words, part of the program loop modifies the address part of the "bring from memory" - "b" instruction. Indeed, there is a special instruction to change only the address part of an instruction so that you are less likely to make a mistake.

from Ray Borrill

There is one thing you did not mention in your list of [optional] goodies for the computer. That is the "high speed" tape reader and punch. The reader ran at 60 CPS and the punch at 20 CPS

Historical Notes

from David Hartke July 25, 2008

In 1962 I had the distinct pleasure to come to know Stan Frankel in a business capacity. At the time I was working for a company called CSC (Consolidated Systems Corp.) in Monrovia. A couple of us had designed a micro-programmed computer along the lines of Wilkes. I was asked to get someone to critique the design and Frankel’s name came up. I consider him to be one of the most brilliant people I have ever met. One of the things that really impressed me was his ability to approach things from basics. Not sure but I think he would often start out with “well the charge of an electron is …..”. Another thing I remember was his work on solving the detergent soap bubble problem. He and a Chinese guy (I think) wrote a book about soap bubbles and that work, at least in part, led to the design of a better detergent soap in which the soap bubbles would collapse over time so as to not plug up sewage treatment facilities. I also remember that the first day he came to meet me: he came in looking like a bum directly off the streets in downtown L.A.! I am pretty sure he had not shaved in a day or two. And to complete the picture I remember he brought in his cigarette rolling machine. Then, all during our conversation/work he would frequently stop to roll his own cigarettes.

Of course, his design of the LPG30 was extremely impressive to me. I always have said that that machine was truly the first personal computer. Of course, the $10K [???] price tag probably makes some people take issue with that statement. Perhaps the main reason I wanted to write to you was to ask you how many flip-flops the machine had. My memory says there were a total of only seven, which, of course, is remarkable, if true. Could you verify that?

wikipedia says 15 - I don't have schematics - Ed Thelen

from Bill Bryner (Sept 11, 2007)

My name is James William (Bill) Bryner. I programmed the LGP-30 for Douglas Aircraft Company in 1959. That was during the testing of the DC-8. In 1960 I was hired by Royal-McBee to write the assembler for the replacement to the LGP-30, the RPC-4000. Royal-McBee was the company that produced Royal typewriters and McBee business data forms. They had joined with Librascope, a division of General Precision, to market the LGP-30 and later the RPC-4000.

Mel Kaye designed the RPC-4000 assembler. It was titled ROAR (Royal-McBee Optimizing Assembler Routine). Edward W. Dubbs and I programmed that assembler. Following that, I wrote an LGP-30 simulator to run on the RPC-4000. This was meant to allow all programs written for the LGP-30 to be executed on the RPC-4000 without further programming. A drum computer simulating a drum computer is agonizingly slow!

General Precision was responsible for the hardware and Royal-McBee was responsible for the programming, marketing and schooling relating to those computers. The programming offices and school of Royal-McBee were located on Cahuenga Blvd. between Sunset Blvd. and Selma Ave. They were placed there because the sales people felt the Hollywood location would attract sales by people wanting to go to school in Hollywood.

I hope this information will be of interest to you. If you have any further questions I will be glad to try to answer them.

Bill Bryner

Steve Leibson writes [October 2004]
"Through the San Jose library's inter-library loan program, I just got a copy Stan Frankel's article on MINIAC and the LGP-30 published in the IRE's Computer Proceedings in 1956. The article states that Frankel's MINIAC was built at CIT and that it served as a prototype for the Librascope LGP-30, which has essentially the same hardware as MINIAC including the drum-memory-based register system. Does that jive with your understanding of MINIAC, Marchant Research, and Atlantic Refining? Neither Marchant nor Atlantic are mentioned in Frankel's article."
For a fascinating story of designer of the LGP-30, click Stanley P. Frankel, Unrecognized Genius

from Ed Thelen

It is interesting to view the web sites of early users - such as The Computer and Me and LGP-30 by Keith Smillie. The LGP-30, The University of Alberta's first computer, had no compilier and no floating point routines the early days. Using it for serious work must have been "interesting".

By 1959, the LGP-30 came with an interesting compilier called ACT-3 which I used before I heard of FORTRAN. When I later used FORTRAN, there was about a 1 to 1 statement similarity except for the FORMAT operations, which seemed easier in ACT-3. And ACT-3 handled mixed mode (integer and floating point) much better than the FORTRAN of the day. In the early FORTRANs you had to be VERY careful about converting operands to compatable formats when you wanted to multiply a floating point number by an integer. ACT-3 just went ahead and "did the right thing". FORTRAN seems to have been very user unfriendly in that respect for a long time. There was also a symbolic assembler that was convenient.

The compilier took (? 10 minutes ?) to read onto drum from the Frieden Flexowriter, but once installed was good for compile and run for days or until you loaded some other program.

The floating point was "reasonably" quick. I simulated a tube based analog multiplier (the analog multiplier used pulse width modulation) through a large variety of wave forms, frequencies relative to the pulse width frequency, and other conditions over a LONG (no sleep) weekend.

from Kathi Cole
... and my dad, Charles "Charlie" Cole went to work for Louis Imm of Librascope in 1941, as a tool and die maker. He started working for Mr. Imm just after the first Glendale, CA plant location was opened, which I believe was on Sonora Street, near the then-existing Glendale Airport.

... he eventually became production control manager for Librascope. I can remember him talking about the purchase by General Precision, and later by the Singer Corporation - both of which companies are now defunct, I believe.

I've been trying to trace the chronology of the company through searches on the Internet, which is how I found your site. At some point I understand Singer Corporation sold Librascope to Loral, who had it in their Federal Systems-Manassas business unit, which was then bought by Lockheed Martin in April of 1996, and in 1997 closed the Glendale facility and moved operations to Virginia, thereby ending a 50-year history of the company being a good-sized employer in the Southern California aerospace industry. If you have any resources you could refer me to for researching the last 20 years of Librascope history, I'd sure appreciate hearing from you.

A Software Story

This Artifact
-

Interesting Web Sites

Other information

  1. LGP-30 Supplement from an LGP-30 Maintenance Manual on line from Germany

  2. On-line manual LGP-30 Programming Manual by Royal McBee Corporation

  3. On-line manual "LGP-21 Programming Manual"
    From Bob Supnk ": The LGP-21 and LGP-30 are not program compatible; not even upward or downward compatible. The LGP-21's non-IO instructions are either the same as the -30, or add some new features (like overflow flag and Z skips); but the I/O instructions are completely different. The LGP-21 has "IO device addresses" in the IO instructions; the LPG-30 has data (or nothing) in the IO instructions, and the IO device selection is done by manual switches. The -21 stalls on output; the -30 must be correctly timed or manually stalled or it will lose data."
    Chapter topic
    TOC Table of Contents
    1 Introduction to the LGP-21
    2 The LGP-21 Command Structure
    3 Construction of an LGP-21 Program
    4 Binary Number System
    5 Number Scaling for the LGP-21
    6 INPUT/OUTPUT
    7 Program Tape preperation
    8 Timing and Optimization
    Appx A Computer Control Panel
    Appx B INPUT/OUTPUT Unit Controls
    Appx C Various tables

  4. A Working LGP-30 see restorations.html#LGP-30
    An e-mail from Klemens Krause November 26, 2002 to Arnold G. Reinhold
    I just found 'your' programming example for the LGP-30 written in ACT III (again):
    http://world.std.com/~reinhold/comp-hist/actiiisample.html

    I have a running LGP-30 with some original software. For example the ACT V - compiler. I have also the ACT I and ACT V documentation and an annotation about the differences between ACT III and ACT V. So I think I can do some remarks about the programming example from Arnold G. Reinhold.

    First there is a typing error in line 5: After label s2 the apostrophe is missing. (Sorry, very trivial).

    Then obviously the program was not complete at compile time. The last line

    daprt'p'e'r'i'o'd' 'i's'
    makes no sense. This is obvious. But whats not obvious: ACT programs are finished by three apostrophs.

    A last line in an ACT-program thus could be

    stop'''
    or
    use's1''' (to return to the begin.)

    The symbol table with the four undeclared labels s000 to s040 shows that the program was incomplete at compiletime.

    Third, the line

    f 0730
    is not a error message, it is the last word used by the compiled program.

    For your further information: my german ACT I manual is printed in sept. 1961 and the ACT V manual is printed 1964. My original paper tapes are labeled 1965.

    Best regards

    Klemens
    Klemens Krause
    Universitaet Stuttgart  /  Inst. f. Softwaretechnologie
    Breitwiesenstr. 20-22   /  70565 Stuttgart
    
    Tel.: 0711/7816 341
    

  5. Bob Supnk writes (Jan 2004)
    I'm plodding along on an LGP-30/LGP-21 simulator. Your site, and the others, have been very helpful. There was a lot more material than I expected. I even found an archive of transcribed paper-tapes, although now I can't figure out where it came from.

    My goal is to get Blackjack running and then leave the rest to users.

  6. Martin Olsiewski writes (Feb 2007)
    I worked on the LGP 30 when I got out of the Marine Corps in Feb.1966 for one year. Control Data Corp. had purchased many of the "beasts" from Librascope and was refurbishing the machines for resale for approximately $10K. The mini computer was just beginning to appear (PDP 8, etal.) and pretty much ended what little future the LGP 30 had. I was always proud to say I worked on a first generation computer.

    I really didn't get too involved with software. This was my first real job. I was a repair man for continuous wave radar on the Hawk missile system while in the Marine Corps. Much of the work I did on the LGP 30 was stripping the cards and drum memory out of the frame, then cleaning the carcass and trouble shooting. We typically replaced the bearings in the blower and then began to reassemble the machine. The enclosure panels (skins) were sent out for paint and every drum memory was stripped of oxide and had new bearings installed. The drum had to have less than .001 inch of run-out after the bearing change, if not they were changed again until it met spec. Then the drum was painted with oxide and cured. In the mean time the mainframe was put together and tested with a place_holder drum memory without skins. After a while I had developed some pretty thick skin on my fingers replacing tubes during the testing and trouble shooting process. All the heads were then mounted on the refurbished drum and set to some head/drum spacing, I don't remember what it was, but it was close. The drum memory was then mated with a frame and the testing and burn-in began. The acid test came when we enclosed the frame with the newly painted skins. The temperature rise on the inside of that beast was pretty significant, we some times lost a drum when a head crashed and everything got reset to zero as far as the drum was concerned. Most made it out the door to some lawyer or doctors office.

  7. Dave Bowles writes (April 2007) ;-))
    Hello Ed,

    I thought you might get a chuckle out of this. Sherman, set the wayback machine…

    In 1967 I was 17 and I traded a CCTV camera and $150 for two LPG-30’s, a Flexiwriter, a high speed paper tape reader and a high speed paper tape punch. I was nuts about computers and could not believe my incredible good fortune to actually have my very own. I was told the units had come from John’s Hopkins University - Applied Physics Lab in Maryland where they had been used to calculate satellite orbit data until they were decommissioned. Everything had allegedly been maintained by Royal McBee and had been recently reconditioned before being put into storage for a few years before being sold as surplus.

    I had no documentation or software for either of these machines and could not locate any. A tantalizing cover sheet for a piece of software called SNOBOL was all I could find. Unfortunately, the drum on one of the two LGP-30’s seized during my initial checkout. It ripped itself from the mountings (which must have been loosened) and proceeded to screech horribly and flail about tethered only by the head nest cables. The experience gave me a totally different perspective on the enormous drum memory system called a “FastRand” that I had seen at the University of MD’s computer center.

    Anyway, undaunted, ignorant and determined, I got the remaining LPG-30 working using the parts (mostly dead tubes) from the other and I learned quite a bit about computers and programming in the process. Most fortunately, the Flexi and paper tape hardware worked perfectly. I scrapped the dead unit and maintained the working one for about 4 years. In the interim, I wrote a bootstrap loader, an assembler and an editor for it which made it much easier to use and involved far less eyestrain from continually aligning the accumulator trace with the printed graticle. I do not think the term ”Running Light Without OverByte“ had been coined by a not-yet-existent Dr. Dobbs Journal at that time, but I definitely got the concept.

    I eventually traded the whole system to a physics student from the University of MD for $100 and a broken portable 1” Sony VCR and camera combo. Then, about 4 years after that in 1975, I ran into an LPG-30 again. It was sitting cozily in the basement of a fellow electronics entrepreneur that I was meeting for the first time. I could not believe my eyes. Here was someone else with an LPG-30! How many of the darn things were there anyway? As it turned out, this LPG-30 was indeed my old friend. He had received it free and clear when it was discarded from the physics department at the UMD. Looking more closely, there was an unfamiliar aluminum Bud box sitting on top of the drum. He told me that the drum had failed over time since he acquired the LPG-30. On a lark, he had actually designed, layed out, taped up and etched the PCB’s to construct a 2102 (1K x 1) based memory system replacement for the drum. He then turned the darn thing on and showed me that it still worked. It had been 8 years and there I was back squinting at the CRT O’Scope again and tweaking the knobs to align the trace with the tick marks. Some things change, and some things don’t.

    The last I heard, that LPG-30 had gone to its final rest.

    Dave Bowles
    Annapolis, MD

  8. An adventure
    e-mail from Bill Seater - Nov 2011
    My first experience with a LGP30 was when I decided to take a computer programming course at a community college in Northern Michigan in the Fall of 1964. I wasn’t doing very well in understanding programming (ACT III) until the very end of the course when suddenly, a light came on.

    I re-enrolled in the same course the following Winter. This time I aced the course.

    A year and a half later I was drafted into the U.S.Army and ended up at Ft. Belvoir, VA to be trained in a non-computer related field. One day while walking by the post data processing center, I decided to go in and hope for a miracle. The director said to me, “I don’t have anything here for you but there’s a place down the street that’s looking for someone who knows anything at all about a LGP30”. Two days later I was transferred to the U.S.Army Management School (USAMS).

    My job was to punch a tape and feed data into a modeling program on the LGP30. Shortly after I started I was to attend a two week programming course at Control Data in Rockville MD. On the way up there the first day I was thinking, “It’ll be nice to get a refresher course in ACT III”. But then I discovered that they were not teaching ACT III, they are teaching Machine language. [ In the picture, the machine just to the right of the LGP-30 is its High Speed Paper Tape Reader/Punch. ]

    The two weeks seemed to fly by. Back at USAMS there was a lot of down time. Mostly run the modeling program once or twice a day. Lots of time to think about an application where I could apply my newly acquired skills.

    I noticed that one of the duties my office partner performed was to score (by hand) a 50 question multiple choice test taken by the 52 students in each class at the school. What made this job more difficult than usual was there was not just one correct answer and some answers were more correct than others, and thus scored more points. Also some answers were so wrong that, if selected, would deduct points. Additionally, he also did an analysis of each question (how many answered A, how many answered B etc…). All together, it took about 3 days to complete, including typing a report of the results.

    So, in my spare time I began programming the LGP30 in machine language to score the test. Fortunately I was able to exploit the architecture of the computer because there was always less than 63 values in each category.

    In the end I was able to cut that 3 day job down to 1 ˝ hours, including punching the tape and printing the results.

    Bill Seater
    Now living in Traverse City MI


If you have comments or suggestions, Send e-mail to Ed Thelen

Go to Antique Computer home page
Go to Visual Storage page
Go to top

Updated Nov, 2011