Commodore 500E Calculator
The Commodore 500E is an interesting lead-in to the story of how Commodore got into the electronic calculator business. Jack Tramiel founded Commodore in 1954, as a typewriter service company. As time went on, the company licensed the design of a Czechosolvakian typewriter, and began manufacturing typewriters for sale under the Commodore brand. Intense competition in the typewriter market led Tramiel to come to the conclusion that in order to survive, his business would have to diversify. In the early 1960's, Commodore began manufacturing low-cost mechanical adding machines. As with the typewriters, competition in this market led Tramiel to yet again search for the next "big thing" in business machines to keep his company afloat. That step led him to Casio Computer Co. in Japan.
In 1957, Casio Computer Co. was founded to develop a relay-based electrical calculator. Casio's founders believed that relay technology held the key to building desk-sized calculating machines that were vastly superior in speed and capability to the mechanical machines of the time. In June of that year, Casio introduced its first machine, the 14-A. The 14-A demonstrated that relay-based calculators were not only practical, but also very reliable and much faster than mechanical calculators. Casio continued to develop its relay calculators, creating ever-more capable machines, including plugboard programmable calculators that blurred the line between calculator and small computer. However, relays were not the wave of the future. In 1961, Sumlock Comptometer in England had developed an all-electronic desktop calculator (the ANITA) using Thyratron tubes, demonstrating that desktop electronic calculators were where the market was going to move. By 1963, many companies were working on development of fully transistorized electronic calculators, and in 1964, the market exploded, with entries from Sharp(then Hayakawa Electric), Friden, IME, Canon, Mathatronics, Wyle Laboratories, and more machines from Sumlock. Casio was caught off-guard by the development of purely electronic calculators, getting a late start on their own electronic calculator development. It took until the fall of '65 before it had its own transistorized desktop calculator, the Casio 001.
Casio met with good success selling the 001 and its follow-on machine, the "Root 001" (which added automatic square root), in the Japanese market, although these machines had some reliability problems that led Casio management to worry that selling them outside of its homeland could become a service nightmare. Part of the problem was that Japanese transistor manufacturers were still making Germanium-based transistors, which were somewhat temperamental devices. The Americans had figured out how to make transistors using Silicon, which led to much more reliable (as well as faster and lower-power) transistors. It took the Japanese manufacturers (primarily Hitachi and Toshiba) a while before they perfected the manufacturing processes to make reliable Silicon-based transistors. As it was impractical for Casio to buy transistors from US manufacturers, they had to wait until their homeland manufacturers could produce reliable Silicon transistors at a reasonable price. Once that happened, Casio was ready with a new design for a calculator that would use Silicon transistors. With the reliability that Silicon transistors provided, Casio would be able to offer its calculators to the world with the knowledge that their machines would be much more reliable than their earlier calculators. With exporting this new machine in mind, Casio embarked on building out the infrastructure to support a world-wide distribution and service network, with a major focus on the very lucrative North American market.
The new Casio 101 was introduced in Japan in July of 1966. The 101 was designed to address the international market, with modifications to power supply circuits to be able to run on the varying power grids of countries outside of Japan, which has an unusual 100 Volt AC power grid, along with other design changes to reduce cost and increase serviceability. The 101 was purposefully designed to be the machine that Casio would offer up to distributors for export. In September of '66, a deal was struck with Remington, who had a large distribution network of office machine retailers in Australia. The agreement provided for Casio to supply Casio 101 calcultors to Remington, and they would sell the machines through their network in Australia under the Remington badge. The Casio badge on the front of the machine was replaced wtih a Remington badge, but the model and serial number tag on the back still said Casio. At around the same time, a somewhat modified version of the 101, called the Casio 101E, was introduced. This machine dispensed with the rotary switches on the front of the 101 that provided a way to set a seven digit constant value, a feature that carried over from Casio's relay calculators, and proved not to be that useful. Removing the eight rotary switches and the circuitry associated with them resulted in a tangible cost savings, that translated to a lower price for the consumer - a critical selection parameter in the hugely competitive electronic calculator marketplace that had emerged in the mid-1960's. Success of the Australian distribution and service agreement with Remington gave Casio the confidence that their machines were ready for the world market, and in March of '67, an official deal was inked between Casio and Commodore for Commodore to market Casio's machines under the Commodore badge, with Commodore's established presence in North America performing all of the marketing, sales, distribution and service.
It appears, although not verified at this writing, that Commodore did not market the Casio 101 as part of the deal with Casio. Instead, the first electronic calculator that would be sold by Commodore was the Casio 101E, which was sold by Commodore as the Commodore 500E.
In order to maintain a degree of brand differentiation between Casio's machine and that sold by Commodore, the 500E has the addition of a rotary switch to set the fixed decimal point location of the memory register. Casio's 101E did not have this selector, with the memory register decimal point location set based on the numbers entered into the memory register. This capability for a switch selectable fixed decimal point location for the memory appears to have been designed into the 101E from the beginning, with differing wiring in the backplane selecting the way the machine operates. The rotary switch has twelve positions, with ten of the positions used. Settings are provided for setting the memory decimal point location from zero through nine digits behind the decimal point. The two unused switch positions select zero digits behind the decimal. Also, there are slight differences in the cabinetry between Casio's machines and Commodore's machines. These changes were likely made to Commodore's machines to provide some brand differentiation. It is interesting to note that this machine is very similar in appearance to a somewhat later-design Casio/Commodore machine in the museum, the Commodore AL-1000. The upper and lower parts of the cabinet, as well as general construction between the two machines is very similar. It is also notable that the Casio version of the AL-1000 (also called the AL-1000) uses the exact same cabinet design as the Commodore version of the machine, perhaps providing an indication that Casio updated its cabinet design to match up with the more modern styling used by Commodore.
The Nixie Tube Display
The 500E has ten digits of display, indicated by ten large side-view Nixie tubes. The tubes are made by NEC and are type CD-66 tubes. The CD-66 tube was used in quite a number of Japanese-made calculators, including machines of similar timeframe made by Sharp (the Compet 20) and Toshiba (the Toshiba BC-1411). The display is very easy on the eyes, with large 5/8-inch tall digits. Each Nixie tube contains the digits zero through nine and a right-hand decimal point. The Nixie tubes are retained in a rubber cradle that holds the tubes in place and provides some shock isolation for the delicate tubes. Each Nixie is driven by its own display decoder/driver circuit, which takes a 4-bit Binary-Coded Decimal (BCD) digit, and converts it to a 1-of-10 signal that turns on a driver transistor, and allows current to flow to the selected digit. For example, if the 4-bit code is 0101 (Binary-Coded Decimal for 5), the digit 5 would light up in the tube. This individual per-digit decoding/drive circuitry consumed over 100 transistors just by itself. This driver-per-digit design was common on early electronic calculators from many manufacturers, but, while simple, required a lot of components, and thus was costly. This method was soon replaced by a concept called multiplexing, whereby there was one decoder circuit, and each Nixie tube was lit for a short period of time, sequentially, sharing the decoder/driver circuit amongst all of the digits in the display. This would result in what appeared to the human eye as a continuous display, because the digits were strobed quickly enough that the eye didn't notice the scanning process. Multiplexing significantly reduced component count and cost. The Casio 101E and Commodore 500E were the last of Casio's electronic calculators to use the decoder/driver-per digit design.
Commodore 500E Keyboard Detail
The 500E uses three working registers, the display register, the temporary register, and the memory register. Each working register consists of ten groups of four flip-flops each. Each flip-flop can store a single 0 or 1. Each group of four flip-flops can store a binary-coded decimal number ranging from 0 through 9 (along with 6 other undefined states). With ten groups of four flip-flips (for a total of 40 flip-flops), a complete ten-digit number can be stored. Each flip-flop uses two transistors, so the register storage uses a total of 240 transistors just to hold the digits. Each of the working registers consumes one full circuit board in the calculator. Later calculators from Casio utilized small magnetic core memory elements for register storage, dramatically reducing the component count.
Operation of the machine is conventional for machines of the time, using arithmetic logic for addition and subtraction, and algebraic logic for multiplication and division. Addition and subtraction are done by entering a number to be added or subtracted from the existing total, then pressing the large [=] key to perform the addition, or the [=] key to subtract the number from the running total in the display. Multiplication and division are performed by entering the first number, pressing the [X] or [÷] key, then the second number, followed by the large [=] key to calculate the result. There are two keys for clearing the calculator; one labeled [AC] which performs a master clear of the machine (except for the memory register), and the [KC] key, which clears the display only, allowing for correction of incorrectly-entered numbers. Lastly, the [→] key shifts the display one digit to the right, effectively deleting digits, to allow for easier correction of a mis-entered digit. An unexpected aspect of this function is that it will shift the decimal point off the right end of the display, causing it to re-appear at the left end of the display.
The memory function provides an accumulator-style register, providing the ability to store the content of the display in the memory register (using the [M] key); to recall the memory register to the display, leaving the memory register intact (via the [F] key); adding the number in the display to the memory register (using the [+] key), and subtracting the number in the display from the memory register using the [-] key. The only ways to clear the memory register is to recall it to the display using the [F] key, then pressing the [-] key to subtract this number from the memory register, or clearing the display by pressing the [AC] or [KC] keys, then using the [M] key to store zero in the memory register.
The hand-wired backplane of the 500E
The three white alternate action switches on the keyboard panel labeled [PW], [Σ], and [FA] control the power, memory summation mode, and fixed or automatic decimal point placement mode respectively. Pressing the [PW] switch applies power to the machine, resulting in garbage in the display for about 1/2 second, after which the machine's power-on clear circuitry clears the display to "0000000000." The memory register is also automatically cleared at power-on. The [Σ] key, when locked down, enables the machines automatic summation mode. Each time the large [=] key is pressed to complete the calculation of multiplication or division, the result of the operation is automatically added to the memory register, resulting in a running sum of products or quotients accumulating in the memory register. This mode is useful for calculations such as invoicing, where a list of quantities of items, and item costs can be entered line at a time to calculating total costs, with the memory register accumulating the total cost of all of the items in the list. The [FA] switch selects whether the machine operates with fixed decimal (when the switch is in the up position), or automatic floating decimal when the switch is depressed. In fixed mode, the decimal point is positioned based on the location of the decimal point in the entered problem. For addition and subtraction, the resulting decimal point location is fixed at the maximum number of digits behind the decimal in the chain of calculations. For example, performing 100.25 + 6.055 - 3.99999 would result in "00102.30501", with five digits behind the decimal being the maximum number of digits behind the decimal used in the calculation. For multiplication in fixed decimal mode, the resulting decimal point location is determined by the total number of digits behind the decimal in both the multiplier and multiplicand. For example, performing 2.25 X 6.305 would result in "00018.18625", because there are a total of five digits behind the decimal point in the two numbers. In division, the decimal point location is determined by the location of the decimal point in the dividend. As an example, performing 2 ÷ 3 would result in "0000000000.", because there are no numbers behind the decimal point in the first number of the problem. Another example, 2.00000 ÷ 3 would result in "00000.66666" in the display, because the dividend has five digits behind the decimal. Performing multiplications in fixed mode can result in incorrect answers if the total number of digits behind the decimal point in the multiplicand and multiplier exceed nine. For example, performing 12.000000 X 12.0000 results in "00000012.00" as a result, which is clearly an error. Also, fixed point mode multiplication can result in erroneous answers even when no decimal points at all are involved. Performing 9999999999 X 1 results in "1000000008." for an answer, which is obviously incorrect. Performing the same multiplication in floating mode provides the correct result. When the [FA] switch is in the down position, the decimal point location is computed automatically to provide maximum precision in the result. In automatic decimal point mode, the calculator attempts to push the integer part of multiplication and division results to the left end of the display in order to provide the maximum number of digits of accuracy behind the decimal. This mode is best used for engineering, statistical or scientific calculations where the most accuracy possible is desired. For example, performing 2 ÷ 3 with the machine in automatic decimal mode will result in "0.666666666" shown in the display.
Detail of the Nixie Display of the Commodore 500E in operation
The 500E does not provide support for negative numbers. If a result is less than zero, the 10's compliment of the result is displayed. In other words, subtracting 1 from 0 results in "9999999999." This deficiency does create some limitations when using the machine for financial functions, as automatic credit balances aren't possible. The operator must be watchful for cases where the machine "goes below zero". Pressing the [=] key will automatically convert a ten's compliment number back to its normal form. For example, performing 10 - 13 (by entering 10, followed by the large [=] key, then entering 13, followed by the [=] key will result in the display showing "9999999997." Pressing the [=] key at this point will result in "0000000003." being shown in the display. It is up to the user to keep track of the fact a negative result occurred.
The 500E is a very complex machine. The machine uses a total of nine plug-in circuit boards along with three other circuit boards. Each of the nine plug-in boards are 12" wide by 7" tall in size. The display circuit board that contains the Nixie tubes and their decoder/driver circuitry doesn't plug in, but instead is connected by a large number of hand-soldered ribbon cables to the display register circuit board, resulting in a two board sandwich. The keyboard connects to another smaller circuit board that provides circuitry for conditioning the signals from the keyboard switches. All of the plug-in boards have edge-card connections along the bottom edge of the circuit board. Some boards have two edge connector locations, while others only have one. The boards plug in to a hand-wired backplane that uses gold-plated edge connector sockets. The circuit boards have components on one side of the board, and etched traces on the other side. Jumper wires on the component side of the boards provide additional connection paths when trace routing constraints on the wiring side of the board require additional connections. Component lead holes are not plated through. The circuit board material is copper-clad phenolic. White silkscreen on the component side of the board provides component value and type identification, as well as provides other information such as signal names for assisting technicians who are involved with troubleshooting, as well as board identification and other information. Each board is packed full of discrete components, with diode-resistor gating and transistors for flip flops and other active logic elements.
The Model/Serial Tag on the Commodore 500E
The boards are numbered, front to back, from 1 through 9. Designations on the boards indicate the internal Casio model designation (in this case, 10B), followed by a dash, followed by the circuit board number, followed by a space, and then the boards revision code (beginning with A and progressing through the alphabet) inside a circle. The first board, 10B-1, contains the Display Register, and is plugged into the backplane backwards from the rest of the boards, with the components facing toward the rear of the calculator. This is because this board has myriad ribbon-cable type wires connected to the back side of the board that run to the display decoder/driver/Nixie tube circuit board. The remainder of the circuit boards plug into the backplane with their components facing the front of the calculator. The next three circuit boards area entitled "MAIN" (MAIN1:10B-2, MAIN2:10B-3, and MAIN3:10B-4), which appear to contain the majority of the state sequencing and control logic for the machine. Boards 5 and 6 (10B-5 and 10B-6) contain the temporary register and memory register flip-flop arrays. Boards 7, 8 and 9 contain what are called the "SUB" boards, SUB1:10B-7, SUB2:10B-8, and SUB3:10B-9. These boards appear to be the arithmetic unit of the calculator, where the logic to perform basic addition and subtraction exist. Multiplication and division are performed by repeated additions and subtractions orchestrated by logic on the MAIN boards. The last board contains a fairly large (3" x 7") area on the circuit board that is not populated by components. It is not known what purpose this area of the circuit board performs when it is populated with components, but clearly on this model of machine it is not intended to be used, as there is a large red "X" marked in this area on the component side of the circuit board. Transistors in the machine are made by Hitachi and Toshiba, and are all Silicon-based transistors. Transistor types include 2SC641, 2SC371, and 2SC284(Nixie Drivers). This particular 500E appears to have been manufactured toward the later part of the first quarter of 1968, based on date codes on some of the components.
Keyboard Construction Detail
The keyboard design of the 500E is unusual. Most every calculator of the time used magnetic reed-switches for simplicity, reliability, and minimal contact bounce. The 500E uses simple spring contacts for the keyboard, which is quite surprising for such an otherwise robust design. The keycaps press directly on one contact of the switch, making a connection to a fixed contact, closing the circuit for the key. This type of design would seem to be prone to problems as the contacts age and suffer from free-air pollutants and moisture, however, the keyboard has a very nice feel to it, and even though the machine is over 40 years old, the keyboard operates fine, with no bounce at all, indicating that the designers devoted a lot of effort to conditioning the signals from the keyboard to minimize the possibility of wear and corrosion from causing instability. Along with electronic protection, a plastic shield is secured over the keyswitch array, helping protect the switch contacts from environmental contamination. The keyboard is hard-wired to a small circuit board that contains 22 identical circuits which are used to condition the output from each keyboard switch. This conditioning circuit board is also hard-wired into the backplane of the machine, sending the various conditioned keypress signals to the various boards where the signals are acted upon. It is surprising that hard-wiring is used to connect the keyboard and keyboard conditioning board into rest of the machine, as this would make the keyboard or the keyboard conditioning board rather difficult to replace, requiring a lot of unsoldering and re-soldering of individual wires.
The Power Supply Circuitry of the 500E
The 500E's power supply is a conventional linear design. The power supply, which is located under the keyboard, is quite simple, with basic rectifier circuits to turn the AC output of the transformer into choppy DC, filter capacitors to clean up the choppy output of the rectifiers, and zener diode and pass-transistor regulation circuitry for the logic voltages. The high voltage for the Nixie tubes (approx. 180V) is also generated on the power supply board, using a special winding in the transformer to provide the basic voltage which is rectified and filtered, but unregulated. All components of the power supply reside on the power supply circuit board with the exception of the transformer, which is bolted to the main chassis of the machine, and one of the power supply pass transistors, which is secured to a heatsink on the right side of the machine. The power supply is hard-wired into the backplane of the machine, making it a rather difficult assembly to replace.
Commodore 500E with Dust Cover
Digit entry is right to left, with each numeric key depression resulting in the existing digits shifting to the left, with the new digit entered in the right-most display digit. There is no zero suppression, either leading or trailing. The machine has no overflow detection. Operations which overflow the machine simply return a result that has the high-order digits truncated, or, in the cases of multiplication and division, results that are indeterminate. Input overflow is not detetected in any way - entering more digits than the machine has in capacity will result in the digit entry starting over at the right end of the display, sometimes resulting in strange results when pre-existing digits are modified by the digit being entered. Division by zero results in the calculator looping indefinitely, with all decimal points lit at approx. 70% brightness. Pressing the [AC] key clears this condition and returns the machine to normal operation.
Speed-wise, the 500E runs pretty much on-par when compared with machines of similar vintage. Addition and subtraction yield virtually instantaneous results. Multiplication and division solution times vary depending on the magnitude of the numbers in the problem. Multiplication of 999999 by 999999 results in the correct answer of "9999800001." in roughly 1/3rd of a second (300ms). Division of all-9's by 1 takes about 8/10ths of a second (800ms). During calculation, the displays are left active, and since they are continuously driven, the displays flicker with activity during the time calculation is being performed.