+Home | Museum | Wanted | Specs | Previous | Next |
Rockwell 960 Programmable Calculator
Updated 9/31/2019
This great old calculator came to the Old Calculator Museum courtesy of the estate of Mr. L.B. (Mike) Brega. Mr. Brega's daughter, Ms. Judith McMahon. found the museum's WANTED page when searching for information about the Rockwell 960 calculator that she owned. Ms. McMahon EMailed the museum wondering about a power cord for the calculator, since it appeared to have gone missing. The calculator used a standard IEC-type power cord, the same used on just about every electronic device today, and that information was provided back to her. After some dialog about the concerns over applying power to an old calculator that had not been powered up in a long time, Ms. McMahon decided to offer the calculator to the museum. Ms. McMahon explained that the calculator was previously owned by her father, who was employed by Collins Radio, which was purchased by Rockwell in 1973. Mr. Brega stayed on with Rockwell Collins after the purchase by Rockwell. Over the years, he was involved in a number of interesting projects, including installation of secure communications equipment onboard the presidential command aircraft commonly referred to as Air Force One (though technically, any aircraft carrying the President carries the desination Air Force One). When her father passed away, the calculator was handed down to to her. The calculator, its original dust cover, and operator's manual were carefully packed up and shipped to the museum. On August 10th, 2018, the parcel arrived, and made the trip unscathed due to the careful packing the machine received.
As usual, the calculator was carefully inspected. One obvious problem was
found quickly. The power switch, located on the lower right side of the
calculator, was unhappy. The plastic paddle of the switch was loose due
to the plastic becoming brittle and a pivot point had broken. After a couple
of cycles of the switch, the paddle fell out of the switch housing.
The power switch was replaced with
a switch of similar type, with a metal, rather than plastic, switch paddle.
Once the power switch was repaired, the calculator had to be disassembled quite
a bit to get to the power supply section, which is located underneath the
stamped aluminum chassis of the machine. The power supply was
disconnected from the main circuit board of the calculator, and some testing
was done to determine if the power supply was working properly. It appeared
that the power supply was indeed working, though, without schematics or other
service documentation, it was not exactly clear what exact voltages should
be present. The voltages delivered by the power supply seemed reasonable
for the type of circuitry and devices in the calculator, and they were stable,
with very little AC ripple riding on the DC voltages. The calculator was
re-assembled, and powered up using a Variac to slowly bring the line
voltage up. Once the voltage was at 100% of line voltage, there was no
sign of life at all from the calculator. Checking the power supply voltages
at the main circuit board showed that the power supply seemed to be dead.
None of the voltages that had been observed earlier were present. Some
further checking revealed that the magnetic card reader/writer was presenting
a hard short-circuit across the +15V supply, which caused the whole power
supply to shut down. Disconnecting the magnetic card reader/writer by
unplugging its connector from the main circuit board, and powering the
calculator back up resulted in the calculator coming to life, showing
"0." on the display, and printing:
" 0.CA"
on the printer. This was a good sign, as this action is always performed
when the calculator is first powered-up to show that it is cleared and
ready for operation. After some tinkering around,
it appeared that the calculator was mostly functional, but some keys were
not responding when pressed. It turned out that
some of the sockets on the connector from the keyboard that plugs into square
pins on the main logic board had slipped upward within the connector shell
such that they were not making positive contact. With some adjustments to the
connector socket, all of the keys on the keyboard began working as
expected.
Profile View of Rockwell 960
The next step was to figure out what was wrong with the magnetic card reader/writer. It was removed from the chassis, and disassembled. A fairly serious problem was immediately visible, though not related to the short-circuit issue. The rubber wheel that pulls the magnetic card in and drives it back out at the end of the read/write cycle, had turned to an oily, sticky black goo. This would certainly have to be fixed, but that was secondary to the issue with the card reader/writer device shorting out the power supply. The card reader/writer has two circuit boards, one that is related to control of the motor that powers the transport of the magnetic card, and another that contains amplifier circuitry for the read/write head. Probing around the circuitry with an ohmmeter found that the short appeared to be on the amplifier board. It turned out that a tantalum capacitor connected between the +15V supply and ground was creating the short circuit. Old tantalum capacitors have a nasty habit of failing this way. Fortunately, the power supply circuitry in the calculator was designed to shut down in the event of such a situation, preventing the typical result of a shorted tantalum capacitor -- a loud BANG followed by smoke. A replacement tantalum capacitor with the proper capacitance and working voltage was found in the museum's stock of parts and put in place of the failed part.
With the failed capacitor replaced, reconnecting the magcard reader/writer module resulted in a fully-operational calculator, with the exception of the magcard reader/writer drive wheel. That had to be tackled next. The wheel has a brass base material, with a rubber coating around its circumference. A strong solvent was used to dissolve most of the deteriorating rubber. The remainder was cleaned off with solvent and a stiff-bristled brush. The brass wheel was then cleaned with a detergent to remove any traces of the solvent. A silicone O-ring was found that had the proper inside and outside diameter to fit in place of the failed rubber material. The O-ring was secured to the perimeter of the brass wheel with a strong contact cement. Once the adhesive had cured, the card drive assembly was put back together, and the mag-card reader/writer installed back in the calculator. The calculator did not come with any magnetic cards, however, the museum has a Monroe 1860 calculator (designed and built for Monroe by Computer Design Corporation) that uses a very similar magnetic card reader (more on this later). The museum has a supply of magnetic cards for that calculator. One of these cards was used for testing the rebuilt magcard reader/writer in the Rockwell 960, and it worked just fine. I was able to successfully record program steps and memory registers to one of these magnetic cards, and read them back into the calculator with no problem. The only difference between the cards provided by Rockwell for their calculators was the printing on the front side of the card identifying Rockwell and graphics relating to identifying the two "side" of the card. It appears that the printing on the Rockwell-provided magnetic cards was printed in a light-blue color. By the way, if anyone out there has any magnetic cards for the Rockwell 900-series calculators, the museum would appreciate you contacting us, as we'd be interested in acquiring a few of them for display with the calculator. Click the Email button at the top of the exhibit page to contact the museum.
Switching gears from the repairs, we'll delve into the history of Rockwell's foray into the calculator business. Rockwell has a rather historic place in calculator history, although they didn't really enter the calculator marketplace until fairly late in the game. The historical aspect of Rockwell is that it was the first integrated circuit manufacturer to successfully mass-produce a Metal-Oxide Semiconductor (MOS) Large-Scale (LSI) integrated circuit chipset (four chips, along with a fifth chip that generated the clocking signals for the chipset) to implement all of the logic of four-function, eight digit electronic calculator.
The Victor 3900 and its Main Logic Board with General Micro-Electronics MOS ICs
The word successfully is highlighted above because another integrated circuit manufacturer, General Micro-electronics (GM-e), had developed a 23 chip MOS chipset (23 unique chips, of which one was used seven times for a total of 29 chips in a functioning calculator) in 1965 under contract to Victor Comptometer, for what became the Victor 3900 calculator. At that time, this accomplishment was monumental, as at this time, MOS Large Scale Integration integrated circuit technology was in its infancy. While a number of Victor (and later Philco-Ford-badged) 3900 calculators were built and sold, the machine was generally considered a market failure due to problems with the ICs, which had low fabrication yield, and a high failure rate. GM-e, who designed and fabricated the IC's, as well as building the calculator for Victor, had a difficult time producing calculators in the quantities needed because of the amount of rework required to make a calculator that functioned due to an inability to make enough good ICs to be able to build the calculators. The assembly line was constantly waiting for a sufficient supply of good ICs, slowing down the production of calculators. As a result, not many of the calculators made it in to the hands of customers, and many of those that did suffered problems that were difficult and expensive to fix. This market failure of the Victor 3900 caused Victor Comptometer to give up on marketing its own electronic calculators until the late 1960's, and instead marketed, sold, and serviced electronic calculators made by other manufacturers under OEM agreements. The failure of the 3900 led to serious economic problems for GM-e, which floundered under a heavy debt load, and was eventually purchased by Philco-Ford in March of 1966. For a detailed history of the Victor 3900, see the Old Calculator Museum's essay.
The Sharp QT-8D, Rockwell Chipset, and Close-Up of one of the Rockwell chips (Note Rockwell Logo)
Thus, while technically the GM-e chipset was the first MOS Large-Scale Integration calculator chipset, the failure of the Victor 3900 in the marketplace is why the term "successful" qualifies Rockwell's four-chip calculator chipset as the first. The Rockwell-made chipset was developed as the result of Sharp Corporation seeking an American IC manufacturer to fabricate a MOS LSI chipset based on a logic design that it had come up with. The technology to make MOS LSI chips only existed in the US at that time, thus the reason why Sharp sought the help of an American company. Initially, Sharp was not met with much interest from American IC makers, but in the end, Rockwell's Autonetics division, which had developed its own MOS LSI fabrication capabilities (mainly for military electronics) ended up signing with Sharp to produce the chips it needed for it's revolutionary electronic calculator. Sharp used these chips in the history-making Sharp QT-8D, which it introduced in August of 1968. After the proprietary chipset developed for Sharp, Rockwell developed a number of general-purpose calculator chipsets and later, single-chip calculator ICs, that were sold on the open market into the mid-1970's.
In September of 1972, Rockwell acquired the electronic calculator company known as Unicom Systems, Inc., which was a wholly-owned subsidiary of American Micro-systems, Inc. (AMI), also in the MOS LSI calculator IC business. AMI had become quite well known for producing proprietary calculator chips for a number of calculator manufacturers since the late 1960's. AMI developed some of its own calculator ICs, and spun off the Unicom subsidiary to make calculators using their own chips. When Rockwell purchased the Unicom division from AMI, for a brief time, Rockwell sold calculators under the Unicom brand-name, but quickly scrapped the Unicom brand and began selling the calculators (made with AMI chipsets) under the Rockwell brand. It is at this point that Rockwell formally entered the electronic calculator marketplace, with the calculator division nested within what had become the microelectronics business unit within Rockwell. Sadly for the company, their timing was not all that great, because just around the time that Rockwell entered the calculator business, it was shortly before a huge shakeout in the electronic calculator industry becan to occurr, due to Japanese IC manufacturers "dumping" (a term used to describe the practice of selling products at a significant loss in order to apply market pressure to competitors) cheap electronic calculators and calculator chips into the North American and European markets. While Rockwell survived the shakeout, it never really made much profit on its calculator business and was pretty much considered an also-ran in the marketplace. By the end of 1976, Rockwell had shuttered two of its three calculator manufacturing plants, causing the loss of nearly 2,000 jobs. In 1977, while still struggling with financial losses, the company finally gave up on the calculator market, and closed down the operations of its calculator division, selling off its excess inventory to liquidators and exiting the calculator marketplace.
The Busicom 141-PF Electronic Calculator and Main Circuit Board with Intel 4004 microprocessor(in white ceramic package)
Stepping back in time a bit, a big change in the electronic calculator marketplace occurred in October of 1971, with the introduction of an electronic calculator by Busicom, a Japanese calculator manufacturer well-known for their low-priced calculators. The newly-introduced Busicom 141-PF did not use a calculator chipset. Instead, the machine used a revolutionary device developed jointly by Busicom and fledgeling chipmaker, Intel, called a microprocessor. This single chip contained all of the logic to create a basic 4-bit computer Central Processing Unit (CPU). With the addition of some Random Access Memory (RAM); Read-Only Memory(ROM) to contain the program that operated the calculator; and some I/O interfacing chips, Busicom's compact, fully-featured business-oriented printing desktop calculator was created. While it took some time for microprocessors to become inexpensive enough to fully replace specialized calculator chips for basic calculators, the microprocessor did start to take hold in higher-end calculators designed with advanced math functions and programmability, such as the Rockwell 900-Series calculators. Examples of other manufacturer's calculators that used microprocessors instead of specialized calculator chipsets were the Monroe 2880 (Rockwell PPS-4), Victor 4900 (Rockwell PPS-4), Texas Instruments SR-60 (TI TMC05xx), and HP 9815A (Motorola 6800).
Busicom's calculator, while revolutionary, was somewhat expensive for a basic business calculator, and that, combined with overwhelming competition from other Japanese calculator manufactures including Sharp, Casio and Canon, Busicom fell upon hard times financially. As a result, the exclusive arrangement that Busicom had with Intel for its microprocessor chips was rescinded in return for a cash payment to Busicom, which it used to pay down some of its debts. No longer limited by the exclusivity agreement, Intel put the 4004 and its support chips on the general market as the MCS-4 family shortly after the introduction of the 141-PF calculator. The MCS-4 family chips became very hot sellers, with the microprocessor serving as the brains for everything from microwave ovens to complex manufacturing process-control systems. The success of the MCS-4 family put Intel in a leadership position in the microprocessor marketplace that stands to this day.
The introduction of the Intel MCS-4 family set in motion a huge amount of investment by competing chipmakers toward development of their own microprocessor chips. Rockwell became the second chipmaker to develop a microprocessor. In August of 1972, the company introduced its own 4-bit microprocessor called the PPS-4 (PPS stood for Parallel Processing System). Like the Intel 4004, the PPS-4 was a 4-bit processor. Four bits was convenient for calculators, since it takes four bits to represent a single decimal digit. The PPS-4 was the third microprocessor generally available, preceded by the Intel 4004 and 8008. The PPS-4 processor and its fairly sizable offering of support chips (RAM, ROM, I/O, and peripheral inteface devices) became quite popular, and became commonly used in cash registers, fax machines, home appliances, pinball machines, and even toys, not to mention calculators.
The Sharp PC-1001
First Electronic Calculator to Utilize the Rockwell PPS-4 Microprocessor Chip
The first electronic calculator to utilize the PPS-4 microprocessor, surprisingly, was not marketed by Rockwell. Beceause of Sharp's previous relationship with Rockwell, Sharp was the first customer to make use of the PPS-4. Somewhere around mid-1973, Sharp introduced a dimuitive desktop calculator that provided advaced math functions along with simple learn-mode programming called the Sharp PC-1001. This calculator used the PPS-4 microprocessor; a single 1K-bit RAM (256x4) chip for working storage, memory registers, and program step storage; two ROM chips that stored the program that operated the calculator; and one I/O chip that interfaced the keyboard, display, and status LEDs.
Given that Rockwell had its own microprocessor chip, it made sense that the company would use it to create their own electronic calculators. The result was the 900 series of mid- to high-end printing/display desktop calculators with programmability and a magnetic card reader/writer for storage of programs and memory register data. The line included the 920, 930, 940 and 960 calculators. The 900-series was introduced sometime in the 1975 timeframe, though exact date of introduction is not known.
All of the calculators in the series offered learn-mode programming, a magnetic card reader/writer for storing program steps and data for later read-back into the calculator, as well as ten "scratchpad" memory registers, a varying number of "main" memory registers, and a minimum of 192 steps of program storage. All machines provide both printout and display of calculations. They all have nested subroutine capability (to five levels), conditional test & branch, and absolute address and label based branching. Convenient program editing features include inserting and deleting instructions. Also included in all machines is the ability to list out program steps in mnemonic form, as well as providing a trace feature that prints out each step of a program as it is executed. All models also feature optional add-on memory that can expand the number of memory registers and program steps available.
The Rockwell 920
Image Courtesy Don DiGalbo
The 920 is the entry-level machine, providing functions suited toward basic business and engineering use. It provides 1/x, xy, natural logarithm, ex and square root.
The Rockwell 930
The Model 930 provides the same features of the 920, but adds 11 additional keys to the keyboard that can be configured as user-programmable keys, branching to specific program entry-points when pressed.
The Rockwell 940
Image Courtesy Gerard Timmerman
The 940 has all of the features of the 930, but the added 11 keys on the keyboard execute pre-programmed financial calculations including interest calculations, present and future value calculations, amortization, and depreciation, among others. These keys can also be redefined to user-programmed functions as with the 930.
The Rockwell 960 Calculator without Top Cover and Keyboard
The Model 960 (as exhibited here) was the "top-of-the-line" machine, offering all of the features of the other models (with the exception of the pre-programmed financial functions of the 930), along with adding a great many more math functions. It was targeted at scientific and engineering activities, and was offered in three different versions, varying in the number of memory registers and amount of program step storage available. The base model 960-1 provided 17 main memory registers (along with the default 9 scratchpad memory registers) and 256 steps of program storage. The 960-2 upped the number of main memory registers to 50, as well as increased the number of program steps to 512.
The Model/Serial Number Tag on the Exhibited Rockwell 960
The 960-3, exhibited here, provided the maximum amount of memory and program steps, with 80 main memory registers, and 1000 program steps. The introduction to the operators manual for the Rockwell 960 states: "Your Rockwell 960 Programmable calculator has been designed as an excellent scientific or engineering calculator as well as a powerful micro-computer". The term "micro-computer" is somewhat apt (though it stretches the term a bit), as the model 960-3, with its vast program storage space and sizable memory register capacity, can be programmed to perform some rather complex functions. Though it lacks I/O interfacing capabilities of competitor's programmable calculators like the Wang 720C or Hewlett Packard 9810A, it is a capable programmable machine with a rich set of instructions that make it a powerful desktop computing machine.
The Main Logic Board in the Rockwell 960-3 Calculator
Note Daughter Card Containing Extra Memory
All of the machines in the the Rockwell 900-series use Rockwell's PPS-4 4-bit microprocessor, along with a number of support chips in the PPS-4 line that provide RAM, ROM, and I/O interfacing for the keyboard, display, printer, and magnetic card reader. The PPS/4 processor used is from Rockwell's first-generation of PPS/4, which requires a separate clock generator integrated circuit to provide the specific clock waveforms required by the processor. The Rockwell 10660 chip is the CPU, with a 10760 IC (in the round can) providing the clocking using a common inexpensive color TV burst frequency crystal at 3.579545 MHz. This frequency is divided by 18 to result in a clock frequency for the CPU of approximately 199 KHz.
Photomicrograph of the Rockwell PPS-4 Processor Chip 10660
Five A5200-series ROM chips (A5231, A5232, A5233, A5234 and A5266), are mask-programmed at the factory to contain the operational code for the calculator. The ROM chips are 2048 by 8-bit read-only memories, making for a total of 10.24 K-bytes of code that run the calculator. A 10814 display controller chip handles all aspects of managing the 16-digit Burroughs Panaplex II display, releiving the CPU from having to keep the multiplexed display refreshed. A 10696 General Purpose I/O chip is used to interface the magnetic card reader, as well as providing outputs for driving the status LEDs of the calculator. The 10815 chip provides the circuitry to scan the keyboard array and buffer keyboard entries (storing up to nine keypresses for processing, buffering keypresses during long math operations or while the printer is printing), as well as driving the Shinshu Seiki Co., Ltd. (Epson) Model 320 mini-printer. Lastly three Rockwell 10932 RAM chips (each of which holds 512x4 bits) provide the working storage for state information, calculator working registers, memory registers, and program step storage. These three chips combine to provide 768 bytes of random access memory.
Back View of the Burroughs BR 16252 Panaplex II Display
The Rockwell Large Scale Integration chips are packaged in what is called "QUIP" configuration, with QUIP standing for QUad Inline Package. The zig-zag configuration of the 42 pins on the ICs makes for a higher pin density than the more standard DIP (Dual Inline Package) more commonly seen. The IC packages can have ceramic or plastic bodies, with a metal cover over the chip that is sealed and secured by a thin layer of glass with an unusually low melting temperature. Along with the twelve LSI chips, there are four 16-pin plastic-packaged chips with part number ULN-2002. These are high-voltage, high-current darlington transistor drivers that are used to convert the PMOS output levels of the 10815 printer controller chip to levels required by the printer. Also included are two ceramic packaged 14-pin DIP chips with part number 4854-0104-1. These chips are used to convert the outputs of the 10814 display driver chip to voltages compatible with the discrete transistors that drive the Burroughs Panaplex-II planer gas-discharge display panel.
The Rockwell 960 Main Board Identifying Components
At the bottom left of the main circuit board, a 36-pin array of square pins labeled J1 is where the calculator's keyboard plugs in. A white twelve-pin connector labeled J5, located to the right of the display panel, is where the power supply voltages are delivered from the power supply board. A 22-pin connector labeled J4 is where the magnetic card reader/writer plugs into the main board. Along the right-side of the board, a 28-pin connector labeled J2 provides an "expansion port" where an expanded memory board plugs in, providing additional memory capacity for the calculator. This board is added on to the Model 960-2 (partially populated with chips) and the 960-3 (fully populated with chips) to provide additional memory register and program step storage. Lastly, at the top of the circuit board, behind the display panel, a 36 position edge card connector provides the connection for the Shinshu Seiki Co., Ltd. Model 320 mini-printer.
Power Supply Board for Rockwell 960
The rather complex power supply for the calculator has its own circuit board that is located underneath the chassis for the calculator, mounted in the base of the calculator's cabinet. The power supply uses a transformer mounted to the base of the calculator to create secondary AC voltages from the mains power. A number of secondary windings provide AC voltages that are rectified, conditioned, and regulated by the power supply board into the DC voltages that are used by the integrated circuits, the display, the card reader, and the printer. Power supply voltages include +15V, -12V, -14V, and +188V. The +188V supply is for the Panaplex II display. The +15V supply is used by the magnetic card reader and printer, while the -12V and -14V supplies are used by the integrated circuits.
The Shinshu Seiki (EPSON) Model 320 Printer
The model 320 printer is Shinshu Seiki's second design mini-printer, with the rather famous EP-101 being their first design. Shinshu Seiki, which became known as Epson in April of 1975, developed the EP-101 (and follow-on models of similar drum-and-hammer design) as as part of a huge effort to create the electronic timing systems used in the 1964 Olympics held in Tokyo, Japan. Prior to the '64 Olypmics, Swiss timepiece makers dominated the development of precision timing systems used in sporting events. The President of Suwa Seikosha (Seiko), the parent company of Shinshu Seiki, created an initiative for his company to develop the official timekeeping system used for the upcoming Olympics to be hosted by Japan in Tokyo. The initiative was launched after the 1960 Rome Olympics. Shinshu Seiki developed proprietary printing mechanims for interfacing to the electronic timing equipment developed by Suwa Seikhosha so that printed record of event times could be made. Seiko ended up winning the contract for the Olympic timing systems for the '64 Olympics. After the Olympics, it became apparent that there was potential for a lucrative market for a small, fast, and reliable printing device. The designs used for the Olympic timing systems were refined for lower cost and smaller size, making them more suitable for embedding in all kinds of electronic equipment. The resulting printer, the EP-101 "mini-printer", was announced in September of 1968, and was an immediate success, selling like hotcakes.
The production line for the revolutionary Shinshu Seiki EP-101 Mini Printer, 1969
The printer was very quickly adpoted as the gold standard printer for electronic calculators, as well as all kinds of other equipment. The EP-101 and its variants were used in calculators sold by Canon, Hewlett Packard, Computer Design Corporation(Compucorp), Wang Laboratories, Busicom, Cintra, and others. The EP-101 used a drum and hammer mechanism, which was fast and reliable, but somewhat expensive to manufacture, and also was a bit noisy. A design effort was begun to develop a lower-cost, yet more compact and highly-reliable mini-printer as a follow-on to the 100-series printers. The 320-series mini-printer was the result of this effort. The Model 320 printer uses plastic printwheels that rotate together, but are stopped individually at the appropriate character position by small solenoids. When the entire line of print is properly positioned, the mechanism presses the printwheels against the ribbon, imprinting the characters on the paper. The extensive use of durable plastics in the Model 320 significantly reduced the cost and size of the printer, making it very desirable for the intended applications. Along with the reduction in cost and size, the 320 printer was also significantly quieter than the 100-series printers, making it more attractive for office environments, where the rather noisy earlier drum and hammer printers could be a bit of a distraction.
The Underside of the Shinshu Seiki Model 320 Mini-Printer
The EP-320 printer used in the Rockwell 960 provides 22 columns of characters, and can print at approximately 3 lines per second. The printer uses a standard cotton two-color ribbon (black over red), allowing for printing red characters as well as black. The ribbon has an auto-reverse feature, so that when the ribbon reaches the end, the ribbon spools will switch to rotate the opposite direction, allowing the ribbon to be cycled mutliple times through its length. Twenty-two tiny solenoids activate pawls that stop the rotation of each print wheel at the proper position as commanded by the printer controller chip. Along with the solenoids for the print wheels, there is another small solenoid that can move the ribbon between the black and red portion. A larger solenoid triggers the print cycle. The printer is powered by a small high-torque motor that drives the entire mechanism. A slotted disc that turns in sync with the printwheels has a small lamp on one side, and a phototransistor on the other side. This arragement allows the position of the printwheels to be sensed by the printer controller chip.
The action of the printer is controlled by a two position switch on the front panel of the calculator labeled "PRINT" with "ON" and "OFF" positions. With this switch in the "OFF" position, the printer will not print except for certain conditions: when the [PRINT] key is pressed in MANUAL mode (causing the current content of the display to be printed); by a [PRINT] command within a program; at Power-On; when the operational mode of the calculator is changed; or if an error or overflow condition occurs. With the PRINT swich in the "ON" position, the printer will print out all operations, annotating the printout with a record of the functions executed in MANUAL mode, or when programs are running.
The RAM Expansion Board with Five 10932 512x4 RAM Chips
As mentioned earlier, the Rockwell 960 came in three different models; the 960-1, 960-2, and 960-3, with the differences between the models being the number of memory registers and program steps available. All of the 960 models used the same main logic board, with the 960-2 and 960-3 benefitting from the addition of a memory expansion board that plugs into the RAM Expansion row of square pin connectors located at the right hand side of the main board. The expansion board is mounted such that it is upside-down, with the chips facing the main board. The board plugs into the square pin connector, and locks into place with two plastic standoffs that snap into holes in the board. The board contains five Rockwell 10932 512x4 RAM chips that provide additional memory. With no memory expansion board in the 960-1, the calculator has a total of 1.5K bytes of RAM. On the model 960-2, two of the RAM chips on the expansion board are disabled via the omission of jumper straps that enable the chips, making for a total of 3K bytes of RAM. On the 960-3, all of the RAM chips are enabled, providing a total of 4K bytes of RAM. On power-up, the calculator software determines the size of the memory installed in the machine, and configures the number of available memory registers and program step storage based on the available memory.
The Sankyo Seiki "SANAC" Magnetic Card Reader/Writer Module
The magnetic card reader/writer is used for offline storage of programs and main memory register content. The magnetic card reader is an OEM product, purchased by Rockwell from Sankyo Seiki Co., Ltd. in Japan, the developer of the card reader. Sankyo Seiki initially developed this card reader, calling it "SANAC" (for Sankyo Access Control), for use in access control systems. However, the device also found use in automated teller machines, vending machines, machine tool controls, laboratory instrumentation, not to mention as in electronic calculators as a way for programs and data to be recorded for later reload, since the MOS RAM program and memory register storage is lost when the calculator is powered off. A very similar Sankyo Seiki SANAC module was also used by Computer Design Corporation (Compucorp) in a number of their programmable calculators, as well as the Monroe-badged/Compucorp-developed Monroe 1860 and Monroe 1880 calculators.
The Rockwell 960 is a fully-algebraic calculator that follows the mathematical rules of precedence. Math problems may be entered as they would be written on paper. Parenthesis keys [(] and [)] provide the ability to override the precedence rules. A yellow LED indicator on the keyboard panel lights up when parenthesis are pending closure. Parenthesis may be nested up to three levels deep. Attempting to nest parentheses greater than three levels will result in an error condition. The usual four primary math functions operate as expected, using the [+], [-], [X], and [÷] keys, along with the [=] key to finish a calculation and present the result.
The [CHANGE SIGN] key toggles the numeric sign of the number in the display. The [ENT EXP] key puts the calculator into exponential number input mode, allowing the power of 10 exponent to be entered by the following two digit key depressions. For example, to enter 6.02x1023, the following sequence of keys would be pressed: [6] [.] [0] [2] [ENT EXP] [2] [3]. The [CHANGE SIGN] key can be entered any time during the entry of the exponential component of the number to toggle the sign of the exponent. The [CLEAR ALL] key clears any math operation in progress, sets the entry register to zero, sets all of the scratchpad memory registers to zero, and clears the FLAG bit. The [CLEAR] key can be used to clear an incorrect entry; to clear any math operation in progress; and to clear any overflow or error condition. The [CLEAR] key does not affect the content of the scratchpad or main memory registers. If an error or overflow condition is detected, keyboard entry is ignored other than the [CLEAR] or [CLEAR ALL] keys. Pressing either of these keys will clear the error condition, re-enabling the keyboard.
The 960 operates in floating decimal point mode by default, but a fixed decimal point location can be set by pressing the [DEC SET] key, followed by a digit key indicating the number of digits behind the decimal point. For example, to set six digits behind the decimal, the [DEC SET] key is pressed, followed by the [6] key. The fixed decimal setting is only enforced for the final result of calculations, and the result is rounded to the number of digits selected. To switch back to floating decimal mode, the [DEC SET] key is pressed, followed by the [.] key. The 960 can also be set to display results in engineering notation, with the exponent part of the number always fixed to a multiple of three, and the mantissa portion never exceeding 999.999999999. Engineering notation is set by pressing the [DEC SET] key, followed by the [Xy] key. The 960 performs all calculations to 12 significant digits. It appears that the machine maintains no additional guard digits. When the calculator has to display or print a number that exceeds twelve significant digits, it automatically will switch into scientific notation (or engineering notation, if set into that mode), displaying and printing numbers with ten significant digits of mantissa, and two digits of exponent. Leading zeroes are always suppressed, and digits in front of the decimal point are automatically displayed and printed with commas delimiting each group of three digits for ease of reading.
Detail view of Rockwell 960 Keyboard Panel
All versions of the Rockwell 900-series calculators provide ten so-called "scratchpad" memory registers, numbered zero through nine, along with a special scratchpad register called the "Pointer" register, designated by the decimal point [.] key. More on the Pointer scratchpad register later. The scratchpad registers are completely independent of the main memory registers in the Rockwell 960, which are addressed using separate keys and a two-digit memory address. The scratchpad registers can have a number stored into them by indexing the [STR n] key, and successively pressing a digit key (0 through 9 or the [.] key) to address the register. The content of the display will be placed into the designated register. Numbers can be recalled from a scratchpad register by indexing the [RCL n] key, followed by the register identifer as above. The content of the scratchpad register will be non-destructively recalled to the display (and printed, if the printer is enabled).
Along with storing and recalling numbers into the scratchpad registers, the [= +n] key will terminate any calculation entered, and add the result of the calculation to the scratchpad register defined as above. For example, performing 2 x 3, then pressing [= +n] followed by [4] will add the result of the 2 x 3 multiplication (6) to scratchad memory register 4. Along the with [= +n] key, the scratchpad memory registers can be used for direct arithmetic operations, including addition, subtraction, multiplication, division, and exponentiation. In order to perform direct arithmetic on the scratchpad registers, the [STR n] key is pressed, followed by the math operation desired (e.g., [+], [-], [X], [÷], or [xy]), followed by the scratchpad register number to be operated on. The math operation is performed with the number in the display and the content of the scratchpad register, and the result is stored in the designated scratchpad register, without affecting the number in the display. For example, if the display contains 234.5 and scratchpad register 2 contains 6.26, and [STR n] followed by [X], followed by [2] (designating scratchpad register 2), 234.5 will be miltiplied by 6.26, and the product of 1467.97 will replace the value in scratchpad register 2, and the display will retain the value of 234.5. Along with this mode of operation, by pressing the [RCL n] key instead of the [STR n] key to begin the operation, the math operation is performed on the number in the display and the content of the selected scratchpad register, but the result is placed in the display, with the designated scratchpad register remiaining unchanged. Using the example above, pressing [RCL n], followed by [X], followed by [2] will result in 1467.97 replacing the number in the display, and 6.26 remaining in scratchpad memory register 2.
A Look at Printout from Rockwell 960
Showing 5.8539325066112.5=3,918,288,289, followed by SIN(45.)=.07071067812
In addition to the ten scratchpad memory registers, but completely separate from them, the 960 provides what Rockwell calls main memory registers, the number of which vary depending on the model of the calculator. The 960-1 has 16, the 960-2 has 48, and the 960-3 (as exhibited here) has 80 of these main memory registers. The main memory registers begin at register 00. These main memory registers are accessed by the [STR nn] and [RCL nn] keys. To store the number in the display into one of the main memory registers, the [STR nn] key is pressed, followed by two digit keypresses to identify the main memory register to have the display number stored into. If the main memory register desired is register 9 or less, a leading zero must be entered. For example if the display constains 3.1415 and this number is desired to be stored into main memory register number 5, the [STR nn] key would be pressed, followed by [0] [5]. To recall a number from one of the main memory registers, the [RCL nn] key is pressed, followed by the two digit memory address, and the content of the main memory register will be recalled to the display (and printed, if the printer is turned on, more on that later). Like the scratchpad memory registers, the main memory registers are also capable of direct arithmetic operations including addition, subraction, multiplication, division and exponentiation. The method for performing direct main memory register math is the same as described above for the scratchpad registers.
Another interesting feature of the main memory registers is that they are capable of being addressed indirectly. Indirect addressing of the main memory registers allows things like list processing and matrix manipulation to be performed, which would otherwise be impossible to do. The "Pointer" scratchpad memory register (scratchpad memory register ".") can be used as a pointer into the main memory register address space. The last two digits of the absolute value of the integer portion of the number in the pointer scratchpad memory register are used as the address of the main memory register to be addressed. In order to indirectly store or recall into a main memory register, the [INDIR] key is pressed after the [STR nn] or [RCL nn] key. This action takes the last two digits of the absolute value of the integer portion of the Pointer scratchpad memory register and uses that number as the address of the main memory register to be stored into or recalled. If last two digits of the absolute value of the integer portion of the Pointer scratchpad register is less than 10, a zero is assumed as the first digit of the main memory register address, e.g., if the Pointer scratchpad register contains 908.3023, main memory register 08 would be addressed. If the value in the Pointer scratchpad memory register is such that the last two digits of the absolute value of the integer portion of the number cannot be determined, memory register 00 is addressed. An example of this case would be if the Pointer scratchpad memory register contained -6.4734x1047, the actual value of the last two digits of the absolute value of the integer portion of this number can't be known, so main memory register 00 would be addressed.
While the 960 is billed as a scientific calculator, it has an incredibly large repertoire of functions that augment the usual scientific functions, including statistical and units conversion functions. The machine provides reciprocal [1/x]; full trigonometric functions ([SIN]/[COS]/[TAN] along with hyperbolic versions (precede with [HYP] key), and inverse trig (precede with [INV] key)) functions; Natural [LN] and Base 10 (Common) Logarithm [LOG], 10x and ex (precede [LOG] or [LN] with [INV] key); Degrees↔Radian conversion [θ to RAD]; Polar<->Rectangular conversion [TO POLAR]; degrees/minutes/seconds (entered in the form DD.MMSS)↔decimal angle conversion [DMS to θ]; integer and fractional component extraction [INT/FRAC]; square root [√]; exponentiation [xy]; factorial [n!]; summation [Σ](with automatic accumulation of item count[scratchpad register 1], sum[scratchpad register 2], and sum of squares[scratchpad register 3]); along with calculation of standard deviation and mean [S.D. MEAN]. Also included are built-in Metric↔English conversions [CONVERT] (yards↔meters[0], ounces↔grams[1], pounds↔kilograms[2], inches↔centimeters[3],feet↔meters[4], statute miles↔kilometers[5], cubic inches↔cubic centimeters[6]; US Gallons↔Liters[7]; Imperial Gallons↔Liters[8]; and Degrees Fahrenheit↔Degrees Centigrade[9]). The [CONVERT] function can also be set up to use user-defined conversion constant in the "Pointer" Scratchpad Register with the conversion occurring when the [.] key is pressed. The conversion functions are executed by pressing the [CONVERT] key followed by the conversion code from 0 through 9 for the built-in functions, or [.] for the user-defined conversion. The conversion can be done in reverse (e.g., Degrees Centigrade↔Degrees Fahrenheit) by pressing the [INV] key before the [CONVERT] key (e.g., [INV] [CONVERT] [9]). Lastly, the machine provides a single-key recall of the constant Pi by pressing the [π] key. Functions relating to angles (such as trigonometric functions) accept arguments or generate results in degrees, radians or gradients as set by the front panel three-position rocker switch labeled "θ".
There are a few interesting aspects of some of the functions of the calculator. The factorial function will return an answer for factorials greater than 69! (1.711224524x1098) that is the common logarithm of the result. This provides an approximation of factorial for results larger than the capacity of the calculator. For example, calculting 123! would provide a result of 205.084149922, which approximates the factorial result of 1.213807794x10205. The [INT/FRAC], [TO POLAR] and [S.D. MEAN] functions, all provide two results. The ability to determine which result is to be used when these two-function keys execute is not intuitively obvious. When one of these keys is pressed, the calculation(s) designated on the key are performed and two results are generated. The first result is posted to the display (and printed if printing is enabled), and the second result is stored in a special register called the "Exchange" register. Each press of the [EXCHANGE] key swaps the value in the display with the value in the Exchange register. For example, if the display containes 9.3875 and the [INT/FRAC] key is pressed, the integer portion of 9.3875 (9) is shown on the display, and the fractional portion is placed in the Exchange register (0.3875). If the [EXCHANGE] key is pressed, the content of the Exchange register will be swapped with the number in the display, with 0.3875 showing up on the display, and the Exchange register will contain 9.
All of the calculators in the Rockwell 900-Series are programmable, and have the same general programming features. The machines are Learn-Mode Programmable, meaning that when the calculator is in program mode, keypresses are encoded and stored into the program memory, keypress at a time. Special keys provide program control functions, such as stopping the program [STOP], performing conditional testing, branch [JUMP] and subroutine call [GO SUB]/return [RETURN], and symbolic branch point labeling [LABEL]. In general, most of the keys on the keyboard consume one step of program memory, but some functions, for example, the [JUMP] function, require two steps of program memory. A special register called the Program Counter keeps track of where the next program step will be stored in program memory. This counter is initialized to 000 when the calculator is powered on, or when the [CLEAR ALL] key is pressed. The Program Counter can also be set to an arbitary program step address (which can range from 000 to the last step in program memory) while the calculator is in MANUAL (normal calculator) mode by pressing the [JUMP] key, and then indexing the three digit program step address that the Program Counter should be set to. Three digits are required, meaning that program step addresses less than ten must have two leading zeroes, and program step addresses less then 100 must have one leading zero. For example, to set the Program Counter register to step number 14, the [JUMP] key is pressed, followed by [0] [1] [4]. After each program step is stored in program memory, the Program Counter is automatically incremented, causing program steps to be sequentially stored in program memory. If the Program Counter ends up containing an address that is outside the storage step capacity of the calculator, an error condition is flagged.
There are four keys on the keyboard that control the operating mode of the calculator. These keys are [MANUAL], [PROGRAM], [LIST], and [EDIT]. These keys are not program functions, in that they cannot be entered into a program. The [MANUAL] key puts the calculator into normal calculator operating mode, which is the mode the calculator comes up in when powered on. The [MANUAL] key is used to exit any of the three programming modes. When any of the three programming modes are active, a yellow-colored LED lights up above the mode key to indicate the operating mode of the calculator.
In MANUAL mode, program execution is initiated by pressing the [RUN] key. There is a green LED indicator in the [RUN] key that lights while the calculator is executing a program. During program execution, the display is blanked except when a [STOP] instruction is encountered, at which point the indicator in the [RUN] switch goes out, and the display will show the current value in the diplay register. During program execution, the [PRINT] command will cause the number in the display register to be printed.
To enter the mode to enter program steps into the program memory, the [PROGRAM]
key is pressed. When Program mode is entered, the printer, even if disabled
by the printer control toggle switch, will print out:
"................P"
to further indicate that
the calculator is in Program mode.
When in Program mode, the left-most three digits of the display will show
the current content of the Program Counter, with the rest of the display
positions blanked. If the printer is enabled when in Program mode
the printer will print out the current value of the Program Counter
in the left-most three print positions, followed by a line of decimal
points, e.g.:
"000............."
to indicate to the operator the current value of the Program Counter.
As each program step is entered by pressing a key on the keyboard with the
desired function to be stored, the display will update to show the program
counter has advanced, and the printer (if enabled) will print out the
Program Counter in the left-most three columns, followed by a line of decimal
points, followed by a mnemonic code of up to five symbols that identify
the program step stored in at that address in program memory. For example,
if the [√] key were pressed with the Program Counter at step 015,
the printer would print out:
"015............. √"
With the printer enabled, the printout will
contain a running listing of the program as it is being entered.
As mentioned above, there are a few program functions that require two steps
of program memory. These functions are [JUMP], [GO SUB], [STR n], [RCL n],
[STR nn], and [LABEL]. When these functions are entered, the printout is
modified to show that two steps are consumed by the operation. In the case of
these keys, assuming the Program Counter is at 048 and the function entered
is [JUMP] [0] [0] [7] (indicating that the program flow should jump to
program step 007), the printout will be:
"048,049......007J"
This printout indicates
that program steps 48 and 49 were used for this instruction, and the "007J"
is the mnemonic code indicating that the instruction is a Jump to
program step 007. The display will also show that the step consumed
two program steps by displaying "048,049". For more information on the
programming capabilities of the Rockwell 960, see the
User Manual
for the calculator in the Old Calculator Museum's
Articles & Other Information
section.
The other two operating modes of the calculator are [LIST] and [EDIT]. The [LIST] mode is used to list out the content of program memory. Program steps are listed out by printing the step number(or numbers in the case of two step instructions) and a mnemonic code of up to five characters in length to identify the operation for the step. Listing can be done a step at a time, or continuously, with the listing stopping when a NO OPERATION code is found. When the calculator is powered-on, program step memory is automatically filled with NO OPERATION codes, so that as programs are entered, there will be NO OPERATION codes after any entry. A NO OPERATION code can be entered into program memory by pressing the [RUN] key.
The [EDIT] mode allows program steps to be deleted or inserted. When deleting a program step, the following program steps are automatically moved up to fill the space vacated by the deleted step. Program steps can also be inserted, with program steps pushed downward for each step inserted. When deleting or inserting program steps, one must be careful, as programs written with branches to absolute progaram step addresses can have the addresses change.
An Example of the User-Definable Keyboard Overlay
The Rockwell 960 provides the ability for the ten math function keys at the right side of the keyboard to be configured as user-definable function keys. A switch on the calculator's front panel labeled ƒ selects whether these ten keys represent the function printed on the keycaps (NORMAL position of the switch) or will cause an immediate GO SUB operation to a hard-coded LABEL within program memory and begin execution at that point (with the function key switch in the CUSTOM position). The LABEL defined for each key starts at LABEL 00 for the [INV] key, continuing with LABEL 01 for the [SIN] key, sequentially down the row of keys to LABEL 04 for the [HYP] key, then LABEL 05 for the [LN] key, etc. If the label for a given function key can't be found when a function key is pressed, an error condition is flagged. The calculator was originally supplied with a number of heavy-stock paper overlays with a cutout that fit over the function keys, with areas on them for the user to write the definition of the custom-programmed keys. At this time, the museum does not have any of these custom key overlays. If you have any of these function key overlays please contact the museum, as we would be interested in acquiring them.
The magnetic card reader/writer is used for creating offline storage for programs or main memory registers, by allowing the content of program memory or main memory registers to be written out to a small plastic card coated with a magnetic material. Each card has two "sides", which are labeled "A" and "B". When a card is inserted into the slot on the top of the calculator's cabinet with the "A" marking at the bottom, the A "side" of the card will be operated upon. Likewise with the "B" marking. Each side of the magnetic card can store either 256 steps of program memory, or 32 main memory registers.
Control Switches of Rockwell 960
The magnetic card reader/writer is controlled by a three-position switch on the keyboard panel labeled "MCR". The switch is a momentary contact switch, with the center (TEST) position being the default position of the switch. The upper part of the switch is labeled "LOAD", and the lower part of the switch is labeled "REC". When the switch is in the default position and a magnetic card is inserted into the reader's slot, the card will be drawn into the reader, read, and compared to program memory or main memory registers to verify that the data on the card matches the data in program memory or main memory registers matches the data stored on the card. Once the card has been read, it will be ejected from the card reader. If any difference is found between the content of the card and program memory or main memory registers, an error condition will be flagged. The idea of "TEST" mode is to verify that the card was properly read or written.
To load the content of a magnetic card into program memory, with the calculator in MANUAL mode, the Program Counter is set by using the [JUMP] key, followed by the three digit memory address in program memory that will be the starting address that the card will be loaded into. To store main memory registers, the [RCL nn] key is pressed, followed by the two digit memory register where the read-in of memory registers will begin. Then, upper part of the the magnetic card reader control switch is pressed (LOAD position) and held, and at the same time, the magentic card with the desired program or data is gently pushed into the card reader slot. As soon as the card begins to be drawn into the machine, the switch can be released. The content of the magnetic card will be read into program memory or main memory registers as selected. When the load is completed, the card will be ejected out of the card reader.
To record program steps to the magnetic card, the [JUMP] key is indexed, followed by the three digit program step address the program steps should begin to be loaded into. To record memory registers to the card, the [STR nn] key is pressed, followed by the two digit address of the memory register where the recording should begin. The bottom portion of the magnetic card control switch is pressed (REC) and held, and the magnetic card to be recorded is gently inserted into the slot. The card will be drawn in and the program steps or memory registers as specified will be written to the card. When the data has been written, the card is ejected from the card reader/writer.
For a microprocessor-driven calculator, the Rockwell 960 is reasonably fast.
It is not nearly as fast as earlier microcode-driven bipolar logic
calculators such as the
HP 9100B,
Cintra/Tektronix 909 or the
Wang 720C, but it certainly has
adequate speed for all but the most intensive calculations. Research
has not been able to find published performance figures for the calculator, but
by observation, some basic speed information was able to be determined.
The four basic math functions complete literally in an instant, with no
noticible delay from the time the [=] key is pressed until the answer
appears in the display. Trigonometric functions take at most 400 milliseconds,
69! (factorial), the largest factorial calculable within the range of
the calculator, takes around 1.5 seconds.
If keys are pressed while long calculations are occurring (or while the
printer is busy printing), up to ten keypresses are buffered, and
will be processed in the order pressed when the calculation completes.
Program execution of 1000 "No Operation" instructions takes about 4 seconds
(approximately 250 No Operation instructions per second).