Litton/Monroe 1860 Statistical Desktop Programmable Calculator
This particular Litton/Monroe 1860 initially appeared to be a bit of a mystery. It appears to have been an experimental guinea pig for engineering or development purposes, though it is impossible to say for sure. There are some signs that the machine has been through quite a bit of experimentation...from the hand-wired switch on the back panel of the machine that has a label-maker warning that the power should be turned off before the switch setting is changed; to the label-maker label on the main calculating engine board saying "TEST BOARD"; to date codes on IC's that are scattered over a fairly wide time range...along with widely varying package types for the chips. All of these clues combine to make me think that perhaps this particular 1860 may have been an internal development mule used to prove out new chip designs, test out extensions and improvements, and generally used for product development and testing, either at Monroe, or at Computer Design Corp., the company that designed the calculator.
The hand-wired switch on the back panel of the machine has become somewhat less of a mystery, as other machines in Monroe's 1800-series have been discovered that have the same or similar switches on the rear panel. Most of the machines have a two-position switch, but one has also been found with three positions. It appears that this switch has something to do with selecting the separation of memory registers from program step storage, allowing switch selection of more memory registers at the expense of program steps, or fewer memory registers in favor of more program steps. The switches on machines found thus far end up being wired into the memory addressing circuitry, which is a clue that the switch somehow changes to decoding of memory addressing, but the specifics of the effect of this switch remains elusive. In each case, the switch looks like it is a field-added modification rather than something installed at the factory.
A less mysterious aspect of the machine is that it wasn't made by Litton/Monroe. It's well-known that Litton/Monroe did very little design of the electronic calculators they sold on thier own. Early on, they designed and manufactured a few machines such as the Monroe EPIC 2000 and EPIC 3000 calculators, and perhaps the somewhat later Monroe 820/820A machines, but sometime in the latter half of the 1960's, they opted to form OEM agreements with other established electronic calcuator manufacturers, and market machines made by these manufacturers under the Monroe brand name. The Monroe 1860 is virtually the same machine as the Compucorp 445 Statistician, with the differences being cabinetry and style-specific. The similarity between Monroe-badged calculators and their Compucorp-built counterparts is very clear, with similar keycap nomenclature, keyboard style, and general operational style. Calculators sold by Monroe were only cosmetically different from the Compucorp machines by virtue of slightly different cabinet styling and color schemes. An obvious clue that the 1860 was made by Compucorp is the Magnetic Card Reader assembly in the machine that clearly says on it "Made by Compucorp, A Division of Computer Design Corp.". For more information about Computer Design Corp. and its history, see the Old Calculator Museum essay entitled The History of Compucorp.
Monroe 1860 sans Top Cover
The 1860 is one in a line of four Monroe 1800-series high-end programmable calculators. The 1810, the entry-level calculator in the series, provides user-definable function keys (which are simple linear learn-mode programs), but does not provide program editing functions. The 1830, cuts back on the number of user-definable function keys offered on the 1810, reassigning these keys to programming functions. Both the 1810 and the 1830 provide a selection of business and scientific functions. The 1860 (as exhibited here) is geared toward statistical functions, and the 1880 is set up as a mathemetical/scientific calculator. Both the 1860 and 1880 dispense with the user-definable keys of the 1810/1830, in favor of additional math functions All of the machines in the 1800-series share a common hardware architecture, with a multi-chip Large Scale Integration microcoded CPU, 7K-bytes of ROM containing the microcode for the system, and 1.5K-bytes of RAM used for housekeeping. Additional RAM provides for memory registers and program step storage.
The Monroe CR-2 Mark Sense/Punched Card Reader
Monroe CR-2 Mark Sense Card
Click image for detailed view
Sincere thanks to Andrew M Andrews III for donation of a large box of these cards
The Monroe PL-2 Plotter
The 1860 and 1880 models of the series provides comprehensive Input/Output capabilities, allowing connection of a wide-range of peripheral devices via a bit-serial I/O bus, 8-bit parallel input, DMA (direct memory access) and true interrupt processing ability. In reality, these calculators were architected more like small computer systems than calculators. Peripherals avaialable for the 1800-series calculators include The Model 300 I/O Writer with Model 305 Interface unit (a Diablo HyType II daisywheel serial printing terminal, with an interface unit that connects the calculator to the terminal); the Model 310 Data Coupler (allowing interface of external instrumentation); the Model 395 Telprinter Interface (allowing connection of just about any RS-232 serial device; including teletypes, CRT-terminals, modems or printers); the Model 392 Cassette Tape system; the Monroe CR-2 mark sense/punched card reader; and the model PL-2 and PL-3 pen plotters.
A Monroe 1800-Series Calculator Outfitted with the Model 392 Cassette Tape System
The Litton/Monroe 1860 is a printing-only programmable desktop calculator. The machine uses a 2 1/2 line per second, 21-column drum and hammer impact printer (made by Seiko) that is rather noisy. The printer can be disabled with a front panel switch, but then there is no way to get answers out of the machine other than through an external output device.
A View of the Print Drum (5's row)
The drum and hammer print mechanism bears a little more explanation. Basically, a metal drum has lines of raised characters on it, e.g., a line of '1' characters, followed by a line of '2' characters, etc. The drum rotates at approximately 60 RPM. The drum is quite heavy, mainly to help in regulating the rotation of the drum to a constant speed (the flywheel effect). Positioned in a row in front of the drum is a line of solenoid-activated hammers, which, when activated with a short, but high-energy pulse, cause the hammer to swing forward to strike the drum at just the right time to cause the appropriate character for that print position to be printed. The paper is positioned in front of the drum, with a ribbon between it and the hammer, so when the hammer strikes, the inked impression of the character on the drum is placed on the paper. When a complete line has been printed, another solenoid activates the paper advance mechanism to move the paper to the next line.
The Print Hammers
The 1860 is a rather complex machine internally. The machine is divided up into five main sections: The printer mechanism, the magnetic card reader, the calculating electronics, the power supply, and the keyboard. Since the machine uses dynamic RAM memory technology, which loses its contents when power is removed, there has to be some way to save programs and data so that they can be reloaded when power has been lost.
First-Design Magnetic Card and Card Storage Envelope for Monroe 1800-Series Calculator
Thanks to Janet Harrison & family for donation of this artifact.
Ten-Pack Envelope of Magnetic Cards and Card Storage Envelopes
Thanks to John Engels for donation of this Item (including ten unused cards and storage envelopes.
Ten-Pack Envelope of Magnetic Cards and Card Storage Envelopes
Second-Design Magnetic Card and Card Storage Envelope, Circa 1974
Thanks to Jeff Ritow for donation of these artifacts.
The magnetic card reader provides this capability. The machine does have a standby mode on the power switch which powers down most of the machine, but leaves the memory subsystem powered up, retaining programs and data. However, in the event of a power failure or accidental power down of the machine, all content of the memory would be lost. With the magnetic card reader/writer, the programs and data in memory registers can be written out onto a card, and read back in at any time. A slide switch located above the slot into which the card is inserted selects whether the card is to be read or written. The magnetic cards have two sides, with each side holding 256 program steps, or 32 data registers. A small notch can be cut out of each end of the card that allows either or both sides of the card to be write-protected.
The 1860's Mag-Card Reader/Writer
he 1860 is built upon a fairly large motherboard, into which plug a total of nine circuit cards. Three circuit cards combine to run the magnetic card reader/writer. The cards that control the reader are smaller than the rest of the cards, and have mostly small-scale IC's, some linear IC's, and a mix of discrete components. The remaining six cards make up the brains of the calculator. One card controls interfacing to the printer and the external peripherals, with a connection to a sizable connector on the rear panel of the machine); one card handles the keyboard; another card has the main calculating engine; another card contains the ROMs that provide the microcode for the CPU; another card contains the RAM (twenty RAM chips, a mix of Mostek- and AMI-made MK4008 chips, which contain 1024 bits of memory each) for program/data/working storage; and the last card contains the drive circuits for the RAM array (e.g., memory refresh, address decoding, etc.). The calculating engine chipset, which consists of eight LSI chips, is actually spread across three boards -- the printer driver board, the calculator board, and the keyboard board. The chips are all 40-pin LSI devices manufactured by AMI, with part numbers ranging from ACL-02 through ACL-07, as well as ACL 09. The ACL chipset was designed by Compucorp as a follow on for their first-generation AMI-fabricated HTL chipset. The ACL chipset leveraged improvements in higher-levels of integration allowing what used to take eighteen different devices using the HTL chipset, into eight ACL chips that provide even more capabilities than the HTL chipset.
Some time after the AMI-fabricated ACL chipset was available, Compucorp arranged for Texas Instruments to become a second-source for the ACL chips. The Texas Instruments-fabricated chips were designated as the TCL chipset. The ACL and TCL chipsets are functionally identical, but due to differing chip construction, the ACL and TCL chips were not pin-for-pin compatible. Most of the circuit boards in Compucorp calculators that used the ACL chipset had alternate pin locations for an ACL chip to be replaced by a TCL chip. For the remainder of this exhibit, the term "ACL" shall refer to either the AMI and Texas Instruments-fabricated parts interchangeably. The ACL chipset serves as the basis for a wide range second-generation Compucorp-designed electronic calculators, and later, even served as the core of some small business computer systems marketed by Compucorp.
Each of the ACL chips has a primary function, although most of the chips have a number of secondary functions combined within each chip. The ACL 02 chip is primarily involved in scanning the keyboard and encoding keypresses into a form that is usable by the rest of the logic. The ACL 03 chip's primary function is that of addressing the read-only and read-write memory in the machine. The read-only memory consists of the microcode ROMs that provide the operational code that implements the functionality of the calculator. The read-write memory provides for data storage; including storage used by the microcode to keep track of the state of the calculator, registers used for the mathematical functions, memory registers that are accessible by the user or user-written programs, as well as program step storage for user-written programs. Along with address decoding, this chip also provides the refresh logic for the dynamic RAM chips. The ACL 04 chip's main function is that of interpreting the microcode instructions and generating control signals that are used throughout the machine's logic to orchestrate the implementation of the microcode instructions.The ACL 05 chip contains what is called an index register, and the logic used to manage it. The index register is not accesible to the user, but is instead used by the machine's microcode as a means for accessing sequental data in the machine's read-write memory, as well as a counter for keeping track of various incremental functions within the microcode. The ACL 06 chip performs two main functions -- data entry (accepting data from the ACL 02 keyboard scanner, from program steps, or from peripheral devices), as well as containing the main adder circuitry for performing math operations. The ACL 07 chip provides the logic for controlling the operation of the adder in the ACL 06 chip. Lastly, the ACL 09 chip provides the control for the Seiko-made drum and hammer line printer.
The Six Main Boards of the 1860 (from left top - RAM, RAM Address Decode & Drive (with memory partitioning switch), CPU, Microcode ROM, Printer Control, Keyboard Interface)
The 1860 is a very well-equipped machine. The machine has full algebraic logic, with parentheses which can be nested to two levels deep. The 1860 has two sets of memory registers. The first set consists of ten scratch-pad registers, numbered from zero through nine. These registers are used as working registers for many of the higher-level math functions (such as Standard Deviation and Linear Regression), but can also be stored into and recalled by pressing the appropriate memory store/recall key, followed by a single digit on the numeric keypad. The second set of memory registers starts out at a base of 64 registers, and is expandable in 64-register increments up to 512 memory registers. The machine exhibited here appears to have 128 memory registers. These are general purpose registers and can be stored into or recalled by pressing the appropriate memory function key, followed by a two digit number indicating which memory register is to be stored/recalled. The [SET GROUP] key allows for access to additional pages of memory, accepting a single-digit entry that defines the page of memory (from 0 to 8) to be accessed by the memory reference keys. The memory registers are volatile, meaning that their content is lost between power cycles, though the content of the memories is retained as long as the machine is plugged into a live power outlet when the calculator is in STANDBY mode.
Left side of Keyboard
For higher-level math functions, the 1860 includes a mix of scientific and statistical functions. Scientific functions include square root, raising a number to a power (ax), reciprocal (1/x), Natural (base e) and Base 10 Logarithm, ex and 10x, factorial, integer and fractional extraction functions, and recall of the constants Pi and e. Strangely lacking are any trigonometric functions. On the statistical side, the machine can calculate the mean (average), standard deviation, and standard error of a list of numbers (entered via the [Σ2n] key), Linear Regression, calculation of permutation and combination functions, and some other statistics functions which my ignorance of statistical methods precludes me from being able to explain (such as tdep). As with most Compucorp-designed machines, to get the result of the second function on keys which have multiple functions, you enter the operand(s) for the function, then press the key with the function on it, then press the [2ND FUNC] key to get the result for the secondary function.
The Center Group of Keys
Note legend defining some for of the [φ] key functions
The 1860 and 1880 calculators could be ordered in a number of different memory configurations. The memory in these machines was split between program step storage, and memory register storage. The base model 1860/1880 calculators came with 64 memory registers, and 512 steps of program storage. Configurations up to 512 memory registers, and 4096 steps of program storage were available. When outfitted with over 4000 program steps, and over 500 memory registers, the 1860/1880 calculators were capable of some extremely complex programs that could rival capabilities of small minicomputer systems. Memory registers could be expanded in increments of 64 memory registers, and program step storage in increments of 512 steps. The particular 1860 exhibited here is a Model 1860-11, which indicates 128 memory registers, and 1024 steps of program storage.
The 1860 is a powerful programmable calculator, with an extensive set of programming features. Programs are essentially sequences of keystrokes which are stored into memory when the mode switch on the machine is set to the "LOAD" position. Keystrokes are coded into an 8-bit number and represented to the user on the printout as a 3-digit octal number, from 000 through 377. Not all of the keycodes are used -- the machine appears to skip over any instruction which is undefined when it is executing instructions. An additional set of programming-related keys provide functionality such as branching (to address or labels), conditional tests, program editing functions (delete step, insert step), and control functions (HALT, RESUME). A [LIST PROG] key is used to print out area of program memory to the printer. Programs can be run at full speed, or single stepped (when the RUN/STEP/LOAD switch is in the STEP position) by pressing the [RESUME] key for each instruction to be executed. The [ENTER CODE ] key allows arbitrary instruction codes to be programmed directly. For example, pressing this key, followed by    will enter the instruction code 006 into the next available program memory location. (Code 006 is the keycode for the  key on the keyboard).
The Rightmost Group of Keys
The 1860 is a fixed-decimal point machine, with the [SET D.P.] key on the keyboard allowing selection of decimal point location from 0 to 9 digits behind the decimal point. Pressing the [SET D.P.] key followed by a single digit from zero to nine makes the selection. The machine has a capacity of 13 digits, which, if exceeded, causes the machine to go into scientific notation, with 13 digits of mantissa and 2 digits for exponent. Numbers can be entered in scientific notation by entering the mantissa, followed by the [EXP] key, then entering the exponent. The [CHG SIGN] key is used to toggle the sign of either the mantissa or exponent part of a number.
Close up of RAM (top) and ROM Chips
The [Φ] key, as with other Compucorp-designed calculators, selects special functions. Pressing this key, followed by a single numeric keypress causes a special function to be executed. A legend on the keyboard panel defines these special functions, which include things like clearing memory registers 0 through 9, performing standard deviation, mean, and standard error functions, extracting the integer or fractional part of a number, performing factorial calculations, and more. The [FLAG] key is provided for testing or setting a various flag bits which can be used for conditional branching. The state of the SENSE switch (located next to the "RUN/STEP/LOAD" switch) can be queried by program instructions to allow the operator to select different operational modes for programs written to check the state of the SENSE switch. For example, a program could accept a list of numbers while the SENSE switch is off, but once the switch is turned on, the program will stop accepting numbers, and perform a calculation on the numbers, (for example, averaging a list of numbers), and print the result.
A cute printout of the Peanuts character Snoopy made by special program on Monroe 1860
Image Courtesy of Charles Wolff
The programmability of the ACL chipset went beyond the ability to simply execute its Learn Model key-code based programs. Within the instruction set of the ACL processor, there was the ability to execute specific functions within the operating microcode of the calculator. With knowledge of the addreses of various microcode routines within the firmware ROMs, a skilled programmer could exercise a level of control over the calculator that was simply not possible through the normal Learn-Mode programming of the machine. The printout shown above of the Peanuts comic-strip character "Snoopy" is a prime example of using the built-in microcode routines to take control of the printer to allow it to print out abitrary data. Mr. Charles Wolff wrote to the museum in September of 2018, having saved this snippet of a printout from a Monroe 1860 calculator used in the California State Department of Health for statistical work. A Monroe service technician gave the statistician that used the machine a magnetic card with this program on it. Sincere thanks for Mr. Wolff for sending a photo of this printout to the museum.
The Back Panel, with I/O Interface Connector and added on Memory Partitioning switch
The 1860 has a green-jeweled incandescent indicator at the right end of the keyboard panel that is labeled "IDLE". This indicator serves to show the status of the machine. When the machine is ready for operation, it lights up. When the machine is busy performing calculations, or is running a program, the light goes out. In error conditions, the indicator blinks. (along with OVERFLOW or ERROR being printed on the printer). The [RESET] or [CLEAR x] keys will clear an error condition. The machine is very vigilant about detecting and reporting error and overflow conditions. It correctly caught every error condition that I threw at it. As far as calculating speed goes, it is difficult to tell, as its far more difficult to guess how long an operation took without a display. The printer is not terribly fast, and as such any measurements taken from "time from function key pressed to time answer printed" would probably be misleading, not to mention that the time it takes to print any given result can be variable depending on where the print drum happens to be positioned at the instant printing starts. The general feel I get is that the machine is relatively fast, with 69 factorial (the largest factorial the machine can calculate without overflowing) taking about 1.5 seconds to generate.