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

The computer had an unusual architecture, in that all data flowed through a central spinning drum magnetic memory. This enabled a low hardware cost, with the tradeoff of low-speed performance. The machine was marketed as an entry-level computer suitable for small businesses.

Pricing and applications

Upon introduction in May 1960, the Monrobot XI sold for US$24,500. In March 1961, the US Army reported that seven units had been made. In November 1961, the price remained unchanged and leasing ran US$700 monthly. By 1966, there were about 350 machines in the field, but by 2013 no machines were believed to remain in existence.

The manufacturer also marketed other computer systems in the family, such as the Monrobot IX and Monrobot MU, but the Monrobot XI appeared to be the most popular model.

In 2021, a collector in North Carolina revealed that he owns half a dozen complete Monrobots, along with ancillary items, manuals, and tape programs.

Development history

Physical appearance and operating environment
The bare-bones Monrobot XI resembled an ordinary steel desk in length, breadth, and height, surmounted by an ordinary typewriter and a breadbox-sized control panel with indicator lights and switches. A paper tape reader and punch were the only machine-readable data media peripherals on the base configuration. At a weight of , its purveyors pronounced it "portable". It could operate outside of an air-conditioned room (tolerating +-25% voltage margins at  ambient temperature), using a conventional mains power line (15 A, 110 V, 60 c.p.s. service) and about half as much electrical power (850 W) as a toaster.

Architectural philosophy
Unlike virtually all electronic digital computers ever built, as an early machine, the Monrobot XI was one of the small family of computers which totally lacked random-access memory (RAM), an alternative tecnhnology which would have allowed it to access all memory words equally rapidly. Even at the time it was introduced, it was not rare for electronic digital computers to use magnetic-core memory for RAM; the price (per bit) of which would eventually fall from over US$1 in the early 1950s to about US$0.20 by the mid-1960s. 

Instead to keep the cost of the machine very low, the Monorobot XI used a form of memory in which words were only periodically accessible in sequential order, via an electromechanical moving device called magnetic drum memory. Thus, physically it bore some resemblance to the theoretical Turing machine of computer science, albeit with the idealized data tape being of finite length and joined end-to-end, and then finally replicated 32 times in parallel. The long latency of memory access, which followed from exclusive reliance on such a macroscopic moving part, made the Monrobot XI operate very slowly, despite the use of non-mechanical electronics for logical functions.

The Monorobot XI might best be thought of as a modernized (solid-state), low cost version of the IBM 650, which had been the world's first mass-produced computer, leased at US$3,250 per month, almost 800 of which were made between 1954 and 1958, a total of 2000 by 1962. Both the IBM 650 and Monrobot XI used a magnetic drum for primary memory, but the former used vacuum tubes and bi-quinary coding, rather than transistors and binary coding, for its electronics.

All input and output was performed one character at a time, under direct program control. Only one input device could be active at a time, but one to three output devices could operate simultaneously in synchronization.

Persistent electro-mechanical memory
The Monrobot XI's rewritable, persistent ("nonvolatile") memory consisted of a rotating magnetic drum storing 1,024 words of 32 bits, each of which could record either a single integer, or a pair of zero- or single-address instructions. The average access time of 6 milliseconds (ms) derived from the fact that the drum made a full rotation every 11.7 ms (spinning at 5,124 rpm). Even the 8 "high-speed" registers of the central processing unit (CPU) physically resided on the drum, in two dedicated tracks, but by being replicated 16 times (with 16 times as many read/write heads heads distributed around the drum periphery), they could be read or written 16 times as fast as the bulk of persistent memory.

The whine of the drum could easily be heard, as it continuously spun for as long as the machine was powered up. A perforated metal screen at the side or back of the cabinet could be removed, affording a direct view of the reddish-brown iron-oxide-coated drum, surrounded by multiple stationary magnetic read/write heads. There was no special provision for protection from dust, as the magnetic heads were rigidly mounted at fixed distances from the magnetic surface, and did not use "flying head" technology. The diameter of the drum was approximately .

Electronics
Except for neon lamps in the control panel and 10 to 30 blue-green electroluminescent lamp vacuum tubes employed for output displays in later versions, the electronics used only discrete solid-state components, including 383 transistors (mostly 2N412) and 2,300 diodes (mostly 1N636). The arithmetic unit alone used 190 transistors and 1,675 diodes. This astoundingly small active component count (383) - little more than in the Manchester Baby (250), the world's first (1948) stored-program Turing-complete computer – contrasts starkly with the many billions of transistors present in modern microprocessors used in handheld cellphones. The low component count was a key benefit of its slow electromechanical memory, which exploited synchronization with a spinning drum's rotational angle, rather than adding electronic switches, to accomplish multiplexing of bits. For comparison, even Intel's first (1971) microprocessor, the four-bit Intel 4004, required about 2,300 transistors in its monolithic design.

Construction was via pluggable printed-circuit boards, allowing economical partial replacement of a defective module as the principal means of repair. This continued an electronics construction tradition pioneered when the relatively unreliable short-lived vacuum tubes had been used as active components, prior to the advance to more modern, highly-reliable solid-state transistors used in the Monorobot XI. Unlike vacuum tubes, which were always plugged into sockets, discrete transistors were often permanently soldered into place.

System timing
The arithmetic unit performed computations using the binary number system, with machine-language programming using hexadecimal digits (called "sexadecimal" in the programmer's manual), and employing the unusual character set of {0,1,2,3,4,5,6,7,8,9,S,T,U,V,W,X}. Addition of 32-bit fixed-point integers required 3 to 9 milliseconds (ms), and multiplication required 28 ms to 34 ms. The longer durations reflected the mean latency (6 ms) of accessing a persistent memory location, rather than a register, to retrieve the second of the two operands. 

Division (500 ms) and more-advanced floating-point functions were implemented in software. Advanced built-in mathematical functions included square root, logarithm, and antilogarithm (on both decimal and natural bases), plus trigonometric functions (in degrees or in radians). A total of 27 machine opcode instructions were defined. Addressing the 1,023 word memory was allocated 10 bits. An optional 2,048 word drum could be installed, and addressed via two extra address bits. The system was in many ways presented as an advanced programmable calculator, in keeping with the heritage of its manufacturer. Simple subroutine calls and returns were supported, as was autoincrement of operands.

The system clock and all timings were synchronized with the rotation of the storage drum, since all data flow passed onto or off of its central data store. Programs could be hand-optimized for maximum speed by carefully considering the timing of the drum rotation and the physical location of instructions and data.

Programming

The computer could be programmed using an assembly language system called QUIKOMP, but its simple machine language instruction set and slow operation speed encouraged many programmers to code directly in numeric opcodes. A reference card was available to help in remembering the numeric opcodes and data codes. Bits were idiosyncratically numbered on the control panel from 16 (MSB, leftmost) down to 1 (LSB, rightmost), although the programmer's manual numbered them from 15 to 0 in a more standard manner.

The minimal loader program had no provisions to support multiple users on a single machine. To accommodate multiple users economically, time-consuming manual data entry could be performed offline, by use of several separate key-to-punch papertape machines (called "add-punch" machines), whose numeric-only keyboards were slightly-modified versions of mechanical desk calculators. Because the mechanical calculator-style keyboards could only generate decimal (base 10) codes, the numerical opcodes were specified in decimal, even though the actual processing was in binary.

Editing and copying of punched tapes was also possible offline, and tapes could be spliced using special adhesive tape and alignment jigs. Experienced programmers soon learned to read the numeric codes visually from the punched paper tapes. When an "add-punch" tape had been proofread and corrected, it was ready for loading via a paper tape reader into the Monrobot XI for execution and debugging. 

The console terminal typically was a modified IBM typewriter. An option was a heavy-duty Flexowriter, which rattled and shook the entire machine, especially when the heavy carriage forcefully returned to the beginning of a new print line. Output was via printed paper typed by the typeprinter, or punched oiled paper tape. An 80-column punched card reader/punch could optionally be added to the base configuration.

A single 16-bit register could be displayed on the control panel, primarily for troubleshooting or diagnostic purposes. The control panel could also be used to single-step, halt, or start the processor, for debugging or troubleshooting. There were also provisions for connection of an oscilloscope for more advanced technical troubleshooting.

Eight different control panel "sense switches" could be used to enter simple data into a running program, or to select different modes of program operation under control of software.

The Monrobot computer series in popular culture
An  episode of the animated television series Futurama, originally airing in 2001, featured a humanoid robot resembling mid-20th century sex symbol Marilyn Monroe, named "Marilyn Monrobot", as a character within a film viewed by the episode cast.

References

External links
 detailed technical specifications of the Monorobot XI
 pg 75 (on the Monrobot XI) in Digitale Kleinrechner by Günter Schubert (Springer-Verlag, Mar 13, 2013)
 cover page of A Brief History of the Monrobot XI Computer by Donald O. Caselli, May 15, 2011
 illustrated memoir (March 15, 2007) by John Mann, about use of the Monorobot XI at Scotch College in Melbourne, Australia during the 1970's
 photograph of Monrobot XI control panel
 photograph of Monrobot XI QUIKOMP reference card

Computer History Museum catalog entries
 Monrobot XI datasheet (promotional material)
 Monrobot XI text (promotional material)
 Materials related to the Monrobot XI (promotional material & manual) 

Transistorized computers