The Wang LOCI-2 calculator is of definite historical significance. The LOCI-2 was Wang Laboratories' first viable electronic calculator. While Wang did announce, and may have produced a few of the LOCI-1 calculator that preceded the LOCI-2, at this point there is no known example of a LOCI-1 in existence today, and there is no real documentation indicating that the LOCI-1 ever made it into actual production or sales.
The ground-breaking capabilities of the LOCI-2 started a period of explosive growth for Wang Labs, and made Wang one of the premier names in the early days of the electronic calculator business. The museum currently has two Wang LOCI-2 Systems, Model 2A, and another Model 2AD (Option D adds an output interface to allow connection of an external printer).
Space-Suit Testing System Based on Wang LOCI-2, Custom Built for NASA by Wang Labs Systems Division
Photograph Courtesy Frank Trantanella
The LOCI-2 was fairly quickly outdated by Wang's 300-series calculators. As the LOCI's technology aged, the machine was marketed as a "desktop computer" rather than a calculator. Part of the reason behind this is that the 300-series ended up being such a tremendous success for Wang, that Dr. Wang didn't want its success diluted by competition from within. So, the LOCI-2 ended up being targeted towards environments where programmable control was needed. In fact, Dr. Wang assigned one of his key engineers, Frank Trantanella, as VP of Systems Development, a group chartered with designing custom systems that used the LOCI-2 as the "CPU" in diverse applications such as steel mill controls and space suit life-support system testing.
The development of the LOCI is a very interesting story that I'll go into in some detail before getting into the technical side of this wonderful calculator.
Wang Logo and Model Identification Tag
Performing mathematical calculations with digital electronics was always a big interest of Dr. An Wang, the founding father, and engineering genius behind Wang Laboratories. In his college years at Harvard, Wang worked side-by-side with Dr. Howard Aiken, one of the pioneers of computer technology. After receiving a PhD in applied physics from Harvard, the now Dr. Wang was hired on as a research fellow at the Computation Lab at Harvard. Dr. Wang was assigned to work on solving problems with newly-developed magnetic core memory technology. Through his work in the field, Dr. Wang was credited with developing important methodologies that led to the practical use of magnetic core memory for computers. Wang's ideas formed the basis for technology that brought computers out of the dark ages of slow, low capacity, and unreliable mercury delay lines, electrostatic CRT memories, or rotating drum magnetic memory. After working at the Harvard Computation Lab for a few years, Wang had saved enough money to start his own business. In 1951, Dr. Wang opened up Wang Laboratories, a company specializing in digital electronics. Early on in the history of Wang Labs, Dr. Wang's interest in digital circuits led his company to develop digital electronic "building blocks" that could be put together to make programmable control systems.
Profile View of LOCI-2
Enter Chicago-based Warner Swasey. Warner Swasey at the time was a big player in the business of manufacturing machines such as lathes and milling machines for machining raw metal into high-precision parts. Warner Swasey wanted to leverage the electronics expertise of Wang Labs to make control units that would automate the operation of their machines. Prior to the development of Numerical Control (NC) machining equipment, a skilled machinist had to manually operate the machines, which was expensive, and introduced human error into the machining process. These Numerical Control devices eliminated most all of the manual operation of the machine, substituting high-resolution servo-motors with precise digital electronic controls in place of the human operator. All the operator had to do was load metal stock into the machine, start the controller's cycle, watch over the machine while it ran, and remove the finished parts. Warner Swasey management felt that Wang's technology was particularly well-suited to their machine equipment, so a proposal was put together whereby Warner Swasey provided some operating capital to Wang in return for a modest share in ownership of Wang Labs, along with Wang's expertise in electronic machine controls. There wasn't much development necessary on the Wang side of things to keep Warner Swasey happy, so the funds received from the deal were kept around by Wang to fund development of other technologies. Fortunately for Wang Labs, this money turned out to contribute to saving the company from potential ruin.
In the early 1960's, the primary product of Wang Laboratories had become an electronic machine called Linasec. Linasec was a machine that would take raw text input from punched paper tape, and, though the help of a human operator, perform proper spacing to justify the text into even-margined columns, punching the resulting justified text onto another paper tape which would feed a hot-slug typesetting machine. The Linasec machine was developed by Wang Labs under contract with a company called Compugraphic. Compugraphic approached Wang Laboratories with a proposal for Wang to design and manufacture this device for Compugraphic. The machine's purpose was to speed the process of turning text coming off of wire-service teletypewriters into justified text ready for printing, especially for magazines and newspapers. The name Linasec came from the fact that the machine could perform the justification operation at about one line of text per second. Prior to this machine, the justification operation was a slow and laborious operation carried out by the the typesetting machine operator, inserting spacing and hyphenation of the text to properly justify each line. Wang's engineers developed a transistorized electronic system that was particularly easy to use, performed the job admirably, and cost significantly less than anything else on the market at the time. By 1964, sales of the Linasec machine helped grow Wang Laboratories to a $1-million plus dollar company. However, in 1964, Compugraphic threw a monkey-wrench into the works -- they decided to quit selling the Wang-built Linasec. Compugraphic opted to build and sell their own version of Wang's design. Contractually, Compugraphic owned the design, and even though Wang had actually designed and built the machine, there wasn't anything that Wang could do but step aside and let Compugraphic go their own way. This could have potentially taken a lot of wind out of Wang Laboratories' financial sails, as the Linasec system was Wang's major source of revenue. Dr. Wang was not one to let this setback get to him. His mind was always working, and to his credit, he had ideas in mind, that in less time than one might imagine, would more than make up for the loss of the revenue provided by Linasec. The ace in the hole? An all-electronic calculating machine called LOCI.
Because of the loss of the business provided by prodution of Linasec for Compugraphic, Dr. Wang had to come up with something quickly to replace the lost revenue stream. The time was right for Dr. Wang to bring his calculator ideas to life. Fortunately, some of the money from the Warner Swasey deal had been used to begin some research into making an electronic calculator. With this research as a base, Wang and a small, carefully chosen group of engineers, including himself, Prentice Robinson, and Stan Zlatev, set out to design an affordable desktop electronic calculator that was suited to scientific calculations. The problem with building a calculator that could do scientific calculations back in 1964 when this development work was going on is that the only choice of component to build digital electronics was the transistor. While transistors were a wonderful advance over tube-type technology like that used in the earlier Sumlock Comptometer ANITA C/VIII calculator, it took a lot of transistors to build digital circuits that could do more than just the four basic math functions. At the time, the few available all-transistor calculators took up the majority of a desktop (examples being the Friden 130 and Sharp Compet 20), and couldn't do any scientific functions except perhaps square root. More advanced functions like trigonometric functions and logarithms, mainstays in engineering applications, still had to be done with tables, or relegated to large and expensive digital computer systems. Dr. Wang put his mind to the challenge, and came up with a design for a relatively simple set of digital circuits that would generate the logarithm of an arbitrary number quickly and accurately. This circuit would form the foundation of the machine that would catapult Wang Labs out of the doldrums created by the loss of the typesetting justfification business, and make Wang one of the rising stars in the electronics and computer industry of the late '60's and early '70's. An interesting side-note to this story is a quotation regarding the Wang LOCI calculators from a document published in 1965 by Friden. The quotation states: "Wang Laboratories is a very small company and we do not expect them to be a serious factor in the desk calculator market". Little did Friden know the powerhouse in the electronic calculator market that Wang would become in the near future.
Model/Serial Number Tag on LOCI-2 (Rear Panel)
A prototype LOCI (which, by the way, stands for LOgarithmic Computing Instrument) was built as a proof-of-concept. This original LOCI, made out of Wang's own "Logi-Bloc" circuit modules, set the stage for Wang's first production calculator, the LOCI-1. The LOCI-1 had the same basic mathematical capabilities as the LOCI-2, except it was not as accurate (logarithmic operations were only accurate to eight digits), and it did not have the ability to be programmed. The LOCI-1 was similar in general appearance to the LOCI-2, just with fewer keyboard controls and indicators. The LOCI-1 was quickly followed up by the LOCI-2, which was announced in January of 1965. It is likely that few LOCI-1's were sold. Documentation from Wang Laboratories indicates that the LOCI-1 was "no longer in production" in 1965, which would have meant that number of LOCI-1 calculators produced was quite small.
While it seems that the LOCI-1 seemed to be a limited production product the LOCI-2 had a feature set that was extremely marketable at the time. Wang Labs toured the LOCI-2 around to various electronics trade shows and exhibitions, and the machine was an instant hit with scientists, engineers, and mathematicians because of its ability to perform higher level math functions with great speed, along with its ability to be programmed via punched cards. It is known that in 1965, LOCI-2 serial number 0003 was sold to the US Navy, for use in data reduction of aircraft flight test data. The LOCI-2 reduced the time for a basic data reduction calculation from 15 minutes to less than one second! (Thanks to John McHale, USN Naval Air Systems Command, Retired, for information on LOCI-2 #0003).
The secret to the LOCI was Dr. Wang's magical logarithm calculating circuit. With logarithms, it is very simple to perform complex math functions by simply performing addition and subtraction of logarithms. Slide rules, the inseparable companions of engineers and scientists before electronic calculators existed, used logarithmic scales in order to perform multiplication and division, along with other higher-level functions. With conventional logic circuits of the day, multiplication and division required fairly complex circuitry. With Dr. Wang's logarithm circuit, multiplication and division became simple addition and subtraction. Wang's calculator was really no more than an electronic adding machine with the key addition of the circuit that allowed logarithms and anti-logarithms to be calculated quickly and accurately. More accurately, the LOCI-2 was an electronic implementation of a slide rule! Along with this functionality, the ability of the LOCI to be programmed using a punched-card reader allowed the machine to automatically carry out complex mathematical functions which made the LOCI more like a computer than a calculator. All of this occurred at a time when the rest of the electronic calculator marketplace was offering basic 4-function calculators, with little if any programmability. During the lifetime of the LOCI-2, the calculator became the computing core of a number of complex systems. Because of the extensible nature of the LOCI-2's design, it was possible to interface the LOCI-2 to a wide range of peripherals. Because of the flexibility of the LOCI-2's design, the calculator ended up being used as the brains for quite a number of custom control systems, such as the space suit environmental system testing device (pictured above). The popularity of Wang's custom systems led to some 'generalized' data acquisition and control systems. An example of a system using the LOCI-2 as the "CPU" is the Wang Model 2315 "On Line Computing System". The ability of the LOCI-2 to be used in such wide-ranging applications is a testimony to the brilliance of those involved in the design of the machine.
LOCI-2 Keyboard Layout
The LOCI-2 is a very complex machine, both from a design point of view (the machine has over 1200 transistors), and also from a operator point of view. The machine has great capability, but that capability comes at the cost of intuitive operation. It was this complexity that led Dr. Wang to have his designers investigate ways to make the machine easier to use, and a result of that research, the next generation of Wang electronic calculators debuted on the heels of the LOCI-2. The Wang 300-series machines (an example in the museum is the Wang 360SE) very quickly took over the majority of Wang's calculator sales, and within a year of introduction became Wang's primary revenue generator. The LOCI-2 was much more suited to engineering or scientific users and was simply too complicated to use by a less savvy user, and was marketed specifically into those applications once the much easier-to-use 300-Series calculators debuted.
The thought that comes to mind when one sees the LOCI-2 for the first time is, "What are all those keys for, and how do you do anything with it?" Some of the keys have cryptic nomenclature, such as one key with a square symbol on it. With a little thought, it becomes clear that the function of this key is to perform a squaring operation, IE: x2. It seems like it would have been more intuitive to simply put x2 on the keycap, but for whatever reason, this more cryptic representation was chosen.
LOCI-2 with Cabinet Removed
The insides of the LOCI-2 are quite amazing. The brains of the machine are made up of a total of nine rather large circuit boards. The circuit boards are made of fiberglass, and have traces on both sides of the board, with plated-thru holes for connection between each side. The edge-card fingers are simple tin-plated copper, and prone to corrosion, which can make the machine act very strangely if not kept corrosion-free. Some of the circuit boards have dates as part of the circuit board artwork. Most of the dates, which I assume are used to keep track of circuit board revisions, are from the late 1965 (September) through early 1966 (April) timeframe. Each of the circuit boards contains a great many transistors, and literally hundreds of diodes, along with myriad resistors and capacitors. Each board has an aluminum stiffener pop-riveted to the top edge of the board to add mechanical stability to the board. The circuit boards plug into a hand-wired backplane that provides interconnections between the boards as well as connections to the keyboard assembly. The cards are retained by aluminum panels on each end that have plastic card guides to keep the cards in alignment. Of the nine circuit boards in the machine, only three have obvious functions. All of the rest of the boards seem to be a fairly random scattering of diode-resistor and transistor logic gate circuits and flip flops. Dr. Wang was quite protective of his designs, and rumor has it that efforts were purposely made to make it difficult to reverse-engineer the design of the machine.
1501A Instruction Register and Decoder (Left) & 1401A Display (Right) Boards
The front-most board in the machine appears to contain the instruction register (six flip flops) and a large array of diodes used to decode the instructions. The board is about half as tall as the other boards in the machine, mostly to allow the Nixie tubes on the board behind it to peek through the display panel. This instruction decoder board appears to break the six-bit instruction code (coming either from the programmer, or from the keyboard) into various signals that govern the sequencing of the calculator to perform the operation specified by the opcode in the instruction register.
Close up view of National Electronics Nixie Tubes used in LOCI-2 (Note Discrete Neon Tube for Decimal Point)
The 2nd board is the display board. This board contains all of the decoding logic to drive the unusual top-view Nixie tubes. The Nixie tubes are similar to the original design Burroughs Nixie tube, where the digits are viewed from the "top" of the glass envelope of the tube, rather than through the "side" of the envelope like most other Nixie tube implementations. The Nixie tubes plug into sockets, making for easy service replacement should a failure occur. Each Nixie has its own set of ten driver transistors and diode-based decoding array to turn a single 4-bit BCD digit into the one-of-ten signal to drive the Nixie. The Nixie display is not multiplexed...all of the BCD bits for the display register come into the display card as individual signals from the working register of the machine. The left-most tube in the display is a special Nixie that has a "+" and "-" sign in it (along with a strange upside-down 8, which isn't used in this application), used for indication of the sign of the number in the display.
The 1403A L Register (Left) & 1406A A Register (Right) Boards
The 1404A Timing & Log Process (Left) & 1405A Miscellaneous Function(Right) Boards
The 1408A DC and PC Registers(Left) & 1402A W Register(Right) Boards
The remainder of the boards, except for the last board, all make up the logic that makes the machine run. Three of the boards contain mostly flip flops arranged in nice arrays, making up the three main working registers (W, A, and L) of the calculator. Along with all of the flip flops, there are scads of diode-resistor/transistor gates that provide logic functions.
The Wang LOCI "Column Printer" (Option D)
Image Courtesy Sarah Hafner
The backplane of the LOCI-2 contains ten slots. The ninth slot (slots are numbered 1 through 10, front to rear) is for an optional Input/Ouput expansion. Some models of the LOCI-2 have this slot unpopulated, with empty cutouts for the edge connectors in the chassis, and block-off plates on the back panel where the I/O connectors would be. On LOCI-2's with the optional I/O expansion, slot nine is populated with edge connectors in the backplane, and two additional connectors on the back panel of the calculator, labeled "INPUT" and "OUTPUT". A number of different Input/Output interfaces were available for the LOCI-2, including two different interfaces which would allow the connection of a Teletype Model ASR-33 terminal (Options C, E, and H), as well as the "LOCI Printer" (see above, Option D) that provides a 12-column printer to record results of calculations on adding-maching tape. The column printer is housed in a large cabinet with a pull-out drawer containing the printer itself, with the rest of the cabinet containing power supply and interface circuitry.
The 1410A Core Memory Control Board
The rear-most board in the LOCI-2 controls the core memory used in the machine for memory register storage. The core plane is mounted on the rear of this circuit board, and connects to the circuit board with two small edge connectors.
LOCI-2's Core Memory Array
The core array appears to have 16 words of 12 bits each, and is four planes deep. This would make for a total storage of 16 12-digit BCD numbers. According to the LOCI-2 Reference Manual, LOCI-2 was available with four or 16 memory registers. The machines in the museum are both model LOCI-2A machines, which offer 16 memory registers, arranged in four banks of four registers. The original LOCI-2 only offered four memory registers, and would have had a smaller core memory stack, consisting of a 4 x 12 x 4 core stack. Each memory register is capable of storing a 10 digit number, the decimal point location, and sign.
The Backplane and some Power Supply Circuitry
The base of the machine contains the backplane and power supply. The backplane is a maze of individual wires that connect the circuit boards together. Each wire has a clip on the end that tightly grabs the terminal of the edge connector pin that it is connected to. This connection technology is rather unique -- usually wire wrap (a technology where a number of turns of bare wire is tightly wrapped around the terminal) was used for such connections. It is a testimony to this technology that it is robust enough to still provide solid connections over 30 years later.
View from the Rear, Showing Power Supply and Core Stack
The power supply of the LOCI-2 is a very simple linear supply. A good-sized transformer steps down the line voltage to a number of AC working voltages, which are rectified and filtered in the usual ways. There is no regulation for the supply voltages, instead, a high-wattage variable resistor is used to set the proper supply voltage of the 5.5V supply with the power supply under load. Power supply voltages are -12V and +5.5V DC.
The LOCI Card Reader (1st Design)
The LOCI Card Reader (2nd Design) and Punched Card
The LOCI-2 is a programmable calculator. Programs are 'stored' via punched cards. The LOCI-2 has no memory for storing programs internally, the program steps are simply read off of the card, one step at a time, and executed in order. The external (optional) card reader is plugged into a port labelled "CARD READER" on the back panel of the LOCI-2. Two versions of card reader were available for LOCI. Both functioned the same, but the physical construction of the readers were different. The reader shown in the photos here is the 2nd-design card reader. The card reader uses punched cards that were made for Wang by IBM (IBM Part #D56709), and consist of 40 columns of 12 rows each. The cards have pre-scored punch-out holes that can easily be punched out by using a pencil point. An accessory called a "Port-O-Punch" was available from Wang (though made by IBM for Wang) that served as a fixture to allow for easier punching of program cards, and collection of the punches. Each card holds 80 steps of program code, with each step being a six bit function code. The bottom six rows of the card contain steps 00 through 39 (left to right), and the top six rows contain steps 40 through 79. Once a card was prepared with a program, the card reader was opened, the card placed inside, and the reader closed. The reader reads the cards by using a 40x12 'bed of nails' array. A set of contacts is pressed against each area on the card where a hole can be, and if a hole is there, an electrical connection is made.
A Closer View of the "Bed of Nails" in the 2nd Design Card Reader
The card reader has circuitry inside it to allow the programmer in the calculator to select a given program step based on the content of the Program Counter, and relay the six bit code punched into the card to the calculator for execution.
LOCI-2 2nd Design Punched Card Reader Circuitry
The programming functions of the calculator is controlled by keys and switches located at the right end of the keyboard panel. The main key for controlling the programming functions of the LOCI-2 is a key labeled [RUN]. This key initiates action of the programmer as defined by the state of the mode switch. A single three-position toggle switch controls the mode of the programmer, with selections for "STEP", "AUTO" and "MANL" (manual). In step mode, the calculator executes a single instruction each time the [RUN] key is pressed. This is useful for stepping through programs to verify that they were punched properly into the card, as well as providing a means for debugging programs. When the mode switch is in "AUTO" mode, the calculator beings full-speed execution of the program at the current location of the program counter upon pressing the [RUN] key. When the mode switch is in the "MANL" position, a bank of six toggle switches is activated that allow a program code to be toggled into the switches, and be executed (without modifying the program counter) with a press of the [RUN] key. Three rows of neon indicators show the status of the programmer registers in binary form.
The top-most row of indicators shows the content of the "DECREMENT COUNTER". The decrement counter is used for program counting and looping functions. A number from 00 through 99 can be loaded into the decrement counter under program control. The decrement counter counts in Binary Coded Decimal. Once the decrement counter is loaded with a number, a program instruction can cause the counter to decrement by one. A program instruction can check the decrement counter for zero content, causing a branch to occur if the decrement counter is zero.
The middle row of indicators, labeled "PROGRAM COUNTER", shows the content of the program counter. The program counter is an eight bit register with somewhat odd counting behavior. The most-significant four bits of the program counter count in binary form, i.e., 0-15, but the least-significant four bits count in BCD form, e.g., 0-9. This means that the program counter has the capacity to count up to 160 steps, though a punched card only has 80 steps. An additional 80 program steps could be gained through addition of a second card reader.
The program counter can be preset to four 'program start' locations by four keys on the calculator keyboard labeled [P0], [P1], [P2], and [P3]. These keys set the program counter to 00, 03, 06, or 09 respectively. If the programmer is in "AUTO" mode, pressing one of the [Px] keys causes the program counter to be set to the appropriate starting step number and program execution to begin at that step. This operation allows the [Px] keys to be used as 'user-definable' function keys in programs.
An "official" Wang LOCI Programming Form
The program counter can also be set programmatically, via an instruction that loads the two upper digits of the display register into the program counter (essentially an unconditional jump). The program counter normally increments one program step at a time as program steps are executed. Branching instructions, however, cause the program counter to be incremented by three steps if the condition the branch is checking is true. Along with the unconditional and conditional branching instructions, the calculator has a subroutine capability. The "Store and Jump" instruction stores the content of the Decrement Counter and Program Counter in an auxiliary set of registers, and a branch taken to the subroutine at the address defined by the upper two digits of the W (display) register. When the subroutine is completed, the "Restore" instruction causes the Program Counter and Decrement Counter to be restored from the auxilliary registers, returning control to the instruction following the subroutine branch.
The bottom row of indicators show the six bit operation code punched into the card at the current location of the program counter, useful for verifying that a card was punched correctly.
|00||No Operation||20||0 (Zero)||40||W -> PC||60||P0|
|01||Clear Error||21||1||41||W -> XPC||61||P1|
|02||Clear W||22||2||42||W -> DC||62||P2|
|03||Clear A||23||3||43||DC -> W||63||P3|
|04||Sq. Root||24||4||44||W -> A||64||Store & Jump|
|05||1/Sq. root||25||5||45||A -> W||65||Restore|
|06||Square||26||6||46||W -> L||66||Decrement|
|07||1/Square||27||7||47||L -> W||67||Test Error|
|10||Step MSC||30||8||50||A -> S0||70||Test DC=0|
|11||WRITE||31||9||51||S0 -> A||71||Test A=0|
|12||X (Mult.)||32||RUN||52||W -> S1||72||Test W=0|
|13||+||33||Chg. Sign||53||S1 -> W||73||Test W<0|
|14||ANTILOG||34||Load Input MX||54||W -> S2||74||Test L<0|
|15||-||35||Load Output MX||55||S2 -> W||75||Car'ge Return|
|16||Decimal Pt.||36||PRIME||56||W -> S3||76||READ|
|17||Divide||37||STOP||57||S3 -> W||77||Undefined|
Front Cover of Very Early Wang LOCI Reference Manual (August, 1965) - Courtesy Frank Trantanella
Front Cover of Later LOCI-2 Reference Manual
The operator's panel layout of the LOCI-2 is probably now used as a study in how not to design for human factors. There are a lot of keys, and they are organized in such a way that it isn't always easy to find what you are looking for, for example, the  and [.] keys are located to the left of the numeric keypad..a seemingly odd location compared to the standard layout that we are used to today. The nomenclature on the keys is also somewhat cryptic. Along with these annoyances, the machine is not entirely straightforward to operate, with a myriad of registers, and an unusual entry method for all functions but addition and subtraction. All of these factors combined to make the machine a bit of a challenge to operate (and program), which likely prompted Wang to quickly begin development of a machine with a similar architecture, but that operated in a more straightforward manner, the Wang 300-series calculators.
The architecture of the machine is centered around three main registers, the W (Working) register, the A (Adder) register, and the L (Logarithm) register. The W register is the data entry register. The Nixie display always shows the content of the W register. The W register (which is made out of flip-flops) is where numbers are entered into the machine, and from which the display is generated. The [CLEAR W] key clears the W register, and is mainly used for correcting input errors.
The A register serves as an accumulator, where addition and subtraction operations are performed. The [+] and [-] keys act by adding/subtracting the content of the W register to/from the A register, with the result returned to the A register. Note that the result is placed in the (non-displayed) A register rather than in the W register. In order to view the result of an addition or subtraction, the [A->W] key must be pressed to copy the content of the A register to the W register for display. It appears that Wang realized that this was a bit unwieldly, and added a toggle switch at the lower-left corner of the keyboard called "AUTO DISP", that, when on, causes an automatic transfer of the A register to the W register on completion of an addition or subtraction operations. A [CLEAR A] key clears the adder register.
Lastly, the "L" register is where Wang's special logarithm circuit comes
into play. The L register is also an accumulator, but rather than
accumulating normal numbers, the L register accumulates logarithms.
The L register has a range of -49.9999999999 to +49.9999999999, the range
required to represent the base e logarithm of any number the machine
can handle. The multiply, divide, square root, squaring, and reciprocal
functions of the calculator all operate through the L register.
The L register can be loaded directly from the W register via the [W->L]
key, which causes no logarithm to be calculated, but rather just copies
the content of the W register into the L register. If the number in the
W register is too large, and error condition will result (though, the
error checking for the range is not completely robust, and strange results
can occur if too large a number is attempted to be directly stored in the
L register). The content of the L register can be recalled to the display
(W register) by pressing the [L->W] key. Multiplication works by
calculating the base e logarithm of the number in the W register, and
adding it to the current content of the L register, placing the resulting
total in the L register. Division does the same, but rather than adding
the logarithm, it subtracts it. Square root is performed by taking the
logarithm of the number in the display, halving it, and adding the
result to the L register. The [ANTILOG] key provides the translation
back to regular numbers from the logarithm, by calculating the anti-logarithm
of the number in the L register, and putting the result into the W register
for display. So, with this arrangement, let's explore how one would perform
a simple multiplication on the LOCI-2. First, the [PRIME] button is pressed
to clear the machine. Then, the first number in the multiplication problem
would be entered. Then, the [X] key is pressed. This causes the logarithm
of the number in the display to be calculated and added to the L register.
Then, the second number is entered, followed by the [X] key. This
calculates the logarithm of the second number, adding it to the log
of the first number already in the L register. At this point, the L register
contains the logarithm of the product of the two numbers. To display the
result, the [ANTILOG] key is pressed. This causes the antilogarithm of the
result in the L register to be calculated, and transferred into the W
register. As an example, below is a walk-through of performing
20.5 multiplied by 15:
There are four other math functions that operate on the L register. These include the [square] key (as mentioned before, performs an x2 operation); a [1/square] key, which squares the argument, then calculates its reciprocal; square root; and [1/square root]. Each of these functions operate on the argument in the W register, and accumulate the result in the L register.
One of the quirks of the logarithmic
method of performing math is that the base e logarithm of most
numbers is a transcendental number, meaning it can never be
represented exactly, no matter how many digits the logarithm is calculated
to. As a result, the LOCI-2 could give somewhat unexpected answers to
simple problems. As you can see above in the example, performing 20.5 x 15
on the LOCI-2 results in 307.4999999, rather than 307.5 as expected.
While technically accurate to one part in ten million,
results like this were quite confusing to non-technical users. This
perceived problem, along with the generally non-intuitive operation
of the machine, made the LOCI-2 difficult to sell into business or
non-technical applications. This was pointed out to Dr. Wang by
his accountant, who had a fascination for Wang's calculating machines,
and as a result, Wang put his engineers to the task of designing a new
machine that incorporated a round-off circuit so that our example calculation
would result in 307.5, and also improved upon the operational
method and keyboard nomenclature to make the machine easier to
operate by less technical users. This new machine, which actually
turned out to be an entire series of machines, was the Wang 300 calculator --
a product which completely turned around Wang Laboratories, and
set the course for a period of extremely rapid growth and preeminence
in the calculator business.
Along with the three working
registers of the machine, the "A" version of the LOCI-2 features a total
of 16 non-volatile (meaning that content is retained even when the machine
is turned off, even though the reference manual incorrectly states that
the memory could be changed by unplugging the machine) store/recall
memory registers, which reside in the core memory stack of the machine.
In keeping with the unusual architecture of the machine,
access to the memory registers is a bit different than most calculators.
The memory registers on the LOCI-2 are store/recall registers only --
no arithmetic can directly be performed on the memory registers. There
are a total of eight keys that access the memory registers, four for storing
numbers into registers, and four for recalling memory registers.
At first thought, this may not seem enough keys to handle
16 memory registers. You're right. The memory registers are
arranged in four banks of four registers (numbered zero through three) each.
A two-bit incrementing register called "MSC" determines which bank of
four memory registers is currently accessed by the memory store/recall keys.
A key labeled [STEP MSC] increments the MSC register each time it is pressed,
and serves as the sole method for the user to select which bank of memory
registers is currently being accessed. The [PRIME] key clears the MSC
register to "00", and subsequent presses of the [MSC] key advance the
memory bank count to "01", "10", and "11", then back to "00". The state
of the MSC register is displayed on two neon indicators that peek through
the keyboard panel. Of the four registers in each bank,
the first register is 'special', in that they transfer between the A register
and the memory register (keys [A->S0] and [S0->A]).
The remaining three memory store/recall keys transfer between the W register
The remainder of the keys on the
keyboard perform various utility functions. The [PRIME] key is
the master reset for the electronics. It clears everything (except
the memory registers), and resets the electronics. The [PRIME] key
must be pressed before using the machine after it is powered on, or
the machine will act VERY strangely, as it appears that there is not
an automatic initialization of all of the electronics at power-on time.
The [CLEAR ERROR] key is actually a misnomer, in that it really should
have been called "TOGGLE ERROR". A neon indicator labeled "ERROR" at
the upper left corner of the keyboard panel lights up when error
conditions occur, such as asking the machine to calculate the logarithm of 0.
The [CLEAR ERROR] key actually toggles the state of this indicator, e.g,
if ERROR is on, pressing [CLEAR ERROR] turns it off (as expected), however
if ERROR is off, pressing [CLEAR ERROR] turns the ERROR indicator on!
The ERROR condition does not lock out the keyboard or have any other
effect other than just to serve as a notification that something happened
which caused an error condition. The [CHANGE SIGN] key toggles the sign
of the number in the W register.
A couple of keys on the keyboard have different functions depending on
options the machine has. If the machine does not have the Input/Output
option, two keys labeled [.->] and [.<-] can be used to shift the decimal
point to the right or the left, and a [<-] key is used as a backspace key to
delete digit entry one at a time. On machines that have the I/O option,
these three keys are replaced with [READ] and [WRITE], and [C'RG RET] keys,
used for receiving input, sending output to, or returning the carriage
to home position on externally connected Input/Output devices.
The LOCI-2 is a fast calculator. Addition
and subtraction operations complete virtually instantly. Multiplies
and divides are just a shade slower because of the logarithm calculations
that must be performed. The 'all nines' divided by one benchmark that
I normally use to gauge the speed of a calculator doesn't apply to the
LOCI-2 because of the method by which it does division by using logarithms.
Because of this method, the complexity of a division problem does not
have any bearing on the amount of time that it takes for the calculator
to perform the operation. An indicator on the keyboard panel labeled
"RESPONSE" lights while the calculator is busy performing an operation.
This light never seems to stay lit for more than just a fraction of a second
for all math problems thrown at the machine. The programmer also operates
very quickly. With the card reader disconnected, the programmer sees
nothing but 'NO OPERATION' codes for all program steps. When the [RUN]
key is pressed to start the programmer, the "PROGRAM COUNTER" indicators
cycle so fast that they all appear on, with just the most significant
bit flickering ever so slightly to indicate activity. My guess is that
the machine takes less than 1/10 of a second to execute 80 'NO OPERATION'
Along with the three working registers of the machine, the "A" version of the LOCI-2 features a total of 16 non-volatile (meaning that content is retained even when the machine is turned off, even though the reference manual incorrectly states that the memory could be changed by unplugging the machine) store/recall memory registers, which reside in the core memory stack of the machine. In keeping with the unusual architecture of the machine, access to the memory registers is a bit different than most calculators. The memory registers on the LOCI-2 are store/recall registers only -- no arithmetic can directly be performed on the memory registers. There are a total of eight keys that access the memory registers, four for storing numbers into registers, and four for recalling memory registers. At first thought, this may not seem enough keys to handle 16 memory registers. You're right. The memory registers are arranged in four banks of four registers (numbered zero through three) each. A two-bit incrementing register called "MSC" determines which bank of four memory registers is currently accessed by the memory store/recall keys. A key labeled [STEP MSC] increments the MSC register each time it is pressed, and serves as the sole method for the user to select which bank of memory registers is currently being accessed. The [PRIME] key clears the MSC register to "00", and subsequent presses of the [MSC] key advance the memory bank count to "01", "10", and "11", then back to "00". The state of the MSC register is displayed on two neon indicators that peek through the keyboard panel. Of the four registers in each bank, the first register is 'special', in that they transfer between the A register and the memory register (keys [A->S0] and [S0->A]). The remaining three memory store/recall keys transfer between the W register and memory.
The remainder of the keys on the keyboard perform various utility functions. The [PRIME] key is the master reset for the electronics. It clears everything (except the memory registers), and resets the electronics. The [PRIME] key must be pressed before using the machine after it is powered on, or the machine will act VERY strangely, as it appears that there is not an automatic initialization of all of the electronics at power-on time. The [CLEAR ERROR] key is actually a misnomer, in that it really should have been called "TOGGLE ERROR". A neon indicator labeled "ERROR" at the upper left corner of the keyboard panel lights up when error conditions occur, such as asking the machine to calculate the logarithm of 0. The [CLEAR ERROR] key actually toggles the state of this indicator, e.g, if ERROR is on, pressing [CLEAR ERROR] turns it off (as expected), however if ERROR is off, pressing [CLEAR ERROR] turns the ERROR indicator on! The ERROR condition does not lock out the keyboard or have any other effect other than just to serve as a notification that something happened which caused an error condition. The [CHANGE SIGN] key toggles the sign of the number in the W register.
A couple of keys on the keyboard have different functions depending on options the machine has. If the machine does not have the Input/Output option, two keys labeled [.->] and [.<-] can be used to shift the decimal point to the right or the left, and a [<-] key is used as a backspace key to delete digit entry one at a time. On machines that have the I/O option, these three keys are replaced with [READ] and [WRITE], and [C'RG RET] keys, used for receiving input, sending output to, or returning the carriage to home position on externally connected Input/Output devices.
The LOCI-2 is a fast calculator. Addition and subtraction operations complete virtually instantly. Multiplies and divides are just a shade slower because of the logarithm calculations that must be performed. The 'all nines' divided by one benchmark that I normally use to gauge the speed of a calculator doesn't apply to the LOCI-2 because of the method by which it does division by using logarithms. Because of this method, the complexity of a division problem does not have any bearing on the amount of time that it takes for the calculator to perform the operation. An indicator on the keyboard panel labeled "RESPONSE" lights while the calculator is busy performing an operation. This light never seems to stay lit for more than just a fraction of a second for all math problems thrown at the machine. The programmer also operates very quickly. With the card reader disconnected, the programmer sees nothing but 'NO OPERATION' codes for all program steps. When the [RUN] key is pressed to start the programmer, the "PROGRAM COUNTER" indicators cycle so fast that they all appear on, with just the most significant bit flickering ever so slightly to indicate activity. My guess is that the machine takes less than 1/10 of a second to execute 80 'NO OPERATION' instructions.