Monday, December 11, 2006

Soviet Calculators vs. Evolution :)

This article is devoted to those irreplaceable assistants in our life - the calculators. The history of the development of Soviet calculators, their features and interesting characteristics of the most relevant models are described.

The first calculators

Russian AbacusThe first mechanical device used in Russia for computational purposes was the Russian abacus (schoty). This device became "the national calculator" and was used in cashier's offices down to the middle of the 90's. It is interesting to note that the textbook "Trade calculations" published in 1986 devotes a whole chapter to methods of calculation by using abacuses.

Simultaneously with the abacuses, still during the pre-revolutionary years (1917), the logarithmic (slide) rulers were used in scientific circles, practically without change, since the XVII century. They were in service "serve smb. faithfully" up to the appearance of calculators.

In an effort to automate the processing of calculations, the mankind begins to invent mechanical calculating devices. It is known that the Russian mathematician Chebyshev designed a calculator at the end of the XIX century, unfortunately the drawings were lost.

The most popular mechanical calculator during the Soviet years was the "Felix" Arithmometer based on the Odhner's system. The image of the Arithmometer shown at the left was taken from the "Small Soviet Encyclopedia", 1932 edition.

In the Arithmometer it was possible to make four arithmetic operations - addition, subtraction, multiplication and division. Later models, for example model "Felix-M", had toddlers to indicate the points on a rule, and the lever used to shift the carriage were improved. To perform calculations the handle had to be turned - once for addition or subtraction, and several times for multiplication and division.

Computing machine VMM-2Certainly, turning the handle to perform calculations was a good and even interesting mechanical solution, but what happened if you worked as an accountant simultaneously with several other people in the same room making hundreds of simple operations during a day? The noise caused by turning gears-counters became very inconvenient and affected the productivity of the shop.

At some point, people got tired of turning the handle, and the human mind found the way to invent electrical accounting machines, where arithmetic operations were made automatic or semi-automatically. The image on the right shows a full keyboard machine VMM-2, popular during the 50's. (Goods Dictionary, Vol. VIII, 1960). This model had nine digits and worked up to the 17th exponent. It measured 440x330x240 mm and weighted 23 Kg.

After 1945, during the post-war years, scientists started to develop the first electronic-computing-machines (EVM). At the beginning of the 60's, despite of development of the Soviet relay computing machines «Vilnius» and «Vyatka» (1961), there was a huge gap between computers and the most powerful keyboard adding devices.

"Electronika" CalculatorBy 1961, Leningrad University had completed the design of the EKVM - Electronic Keyboard Computing Machine, one of the first desktop keyboard computers in the world. It used small-sized semi-conductor components and ferrite cores.

In general, it is considered that the first mass electronic calculator appeared in England in a 1963. Its circuits were built on printed-circuit-boards and contained a few thousand transistors. The calculator had the size of a typewriter, and it only executed arithmetic operations with multi-digit numbers. The Soviet "Elektronika" calculator shown at the left is a typical representative of this generation of calculators.

In the Soviet Union, the distribution of the EKVM desktop calculator started in 1964 with the serial production of the EKVM «Vega». The EDVM-11, an electronic ten-key computing machine with trigonometric functions was launched in 1967.

The further development of computing devices is closely connected to the microelectronics achievements. By the end of the 50's, the "know-how" of integrated circuits containing groups of electronic inter-connected components started its fast development, and by 1961 the first computer model based on integrated circuits was built. It was 48 times less in weight and 150 times less in volume than semi-conductor computers performing the same functions. The first EKVM based on integrated circuits appeared in 1965. Approximately at the same time started the production of the first portable EKVM's made with chips and powered by a set of built-in batteries. By 1971 the dimensions of the EKVM became «pocket», and in 1972 appeared the first calculators with scientific-technical subroutines able to calculate transcendental functions. These calculators had additional memory registers and allowed to enter numbers both in natural form, and in the form of exponential floating point numbers with a wide range of values.

The development and production of EKVM's in the Soviet Union went parallel with its development in other industrially advanced countries of the world. The first samples of chip based EKVM's appeared in 1970. The serial production of the «Iskra» (Spark) model began in 1971. The production of the first domestic micro-computers based on IC's started in 1972.

The first Soviet pocket calculator

The first Soviet desktop calculators appeared in 1971 and they won popularity very fast. EKVM's based on large-scale integration circuits worked silently, consumed little energy, and performed fast and accurate calculations. Soon the cost of microcircuits started to decrease, and it became possible to consider the development of pocket size calculators with prices accessible to the wide consumer.

Calculator "Elektronika B3-04" (C)Sergei FrolovIn August, 1973 the Soviet electronic industry established a one year objective aimed to develop an electronic pocket calculator based on microprocessor chips and with liquid crystal display. A group of 27 engineers were assigned to this complex problem. It was a huge project which involved: producing the drawings, circuit and patterns consisting of 144 thousand points required to fit a microprocessor with 3400 elements within a 5x5 mm crystal.

After five months of work the first prototypes of the calculator were ready, and nine months later, three months before the established due date, an electronic pocket calculator named «Elektronika B3-04» was handed over to the State Commission. The new electronic gizmo started selling at the beginning of 1974. It was a significant victory of the Soviet labor system which shown the possibilities of the electronic industry.

 Display of B3-04A liquid crystal display was used for the first time in this calculator. The digits were displayed with white marks on a black background (see figure at the left). To activate the calculator the user had to press a curtain and open the cover. The calculator had a very interesting operational algorithm. To calculate (20 - 8 + 7) it was necessary to press the following keys [C] [2][0] [+ =] [8] [-=] [7] [+=]. Result: 5. To multiply the result, say by 3, the calculation could be continued by pressing the keys: [X] [3] [+=]. A [K] key was used for calculations with a constant.

B3-04 Circuit BoardThis calculator used a multi-layer transparent circuit board. Part of the board is shown at the left.

The calculator contains four IC's: a 23-digit shift register K145AP1, a display controller K145PP1, an operational register K145IP2, and a microprocessor K145IP1. The block voltage transformer uses a microcircuit of transformation of levels.

It is interesting to note, that this calculator required only one AA battery.

The first Soviet calculators

The habitual language used today when working with calculators only appeared at the beginning of the 70's. In general, the first models of calculators had their own operational language, and the user had to learn the specific procedures related to each calculator. Let's take, for example, the C3-07, the first calculator of the Series "C" manufactured by the Leningrad factory "Svetlana." By the way, as a parentheses, it is interesting to note that all calculators produced by the factory "Svetlana" were independent of other Russian electronic appliances. All electronic calculators manufactured during those years received the common designation "B3". The desktop electronic clocks received the code "B2", electronic watches - "B5" (for example, B5-207), desktop electronic devices with vacuum display were identified with codes "B6," "B7," and so on. The "B" is the first letter of "Home appliances" in Russian. Svetlana's calculators where the only ones identified with a letter "C" - Svetlana means the light of an electric lamp (CBETLAHA - SVET LAmpochki NAkalivaniya) and is also a popular women's name in Russia.

Keyboard of C3-07Here is the keyboard of the C3-07 calculator. This was a very surprising calculator, especially because of its keyboard and display. As it is can be seen in the image, the calculator combined not only the functions [+=] and [-=], but also the multiply-divide functions [X -:-]. Try to guess how to multiply and to divide in this calculator. A hint: the calculator does not recognize two sequential keystrokes on the same key, only one keystroke is possible for each key. The answer is no less than surprising: to multiply, say 2 by 3, it is necessary to press the following keys [2] [X-:-] [3] [+=], while to divide 2 by 3, the following sequence is applied: [2] [X-:-] [3] [-=]. The addition and subtraction is made in a similar way (as the one applied in the B3-04 calculator) that is, to perform the difference 2 - 3 the following sequence is used: [2] [+=] [3] [-=].

 Display of C3-07Another surprise is the eight elements used to build a number in the display as shown in the figure at the left.

Starting with this model, all simple calculators made by the Svetlana's factory operated with exponential numbers up to 10e16-1, even when the display had only a capacity of eight or twelve digits. If the result exceeded 8 or 12 digits (depending on the model), the decimal comma disappeared and the display showed the first 8 or 12 digits of the number.

Speaking about the operational language of early calculators, it is necessary to mention that in the B3-02, B3-05 and C3-07 calculators of the type "Iskra", the result of the calculations used all digits of the display filling with zeroes the unused positions. It was certainly inconvenient to find on such calculators the first (and last) significant digit. By the way, in model C3-07, which was mentioned before, there was an attempt to lessen a little bit this problem by applying an unusual method - on this calculator the zero has half of the height. Also, these calculators had a very inconvenient, but quite explicable for early calculators, feature: the required accuracy of the calculations was set by the number of significant digits entered on the first number. For example, to calculate the quotient of division 23 by 32 to three decimal digits, the number 23 had to be entered with three decimal digits: |23,000| [-:-] |32| [=] (0.718). So long as the operator didn't press the reset button, all subsequent calculations were made with three decimal digits, and the decimal point would remain fixed in the same position all the time. These calculators, by the way, were referred to as "fixed point" calculators. Later calculators, in which the point moved on the display, were referred to as "floating point" calculators. Now, the terminology has changed, and "floating point" is used to describe displays where a number is represented by a mantissa at the left and the exponent order at the right.

Elektronika B3-09MOne year after development of the first B3-04 pocket calculator, appeared the new perfected MK models: B3-09M, B3-14 and B3-14M. These calculators were built with one K145IK2 microprocessor, and one microchip used as oscillator clock. The calculator B3-09M is shown at the left. The same casing was also used for the B3-14M. These models had already a "standard" operational language which included calculations with a constant.

These calculators could work with a power unit, or with four (B3-09M, B3-14M) or three AA batteries (B3-14).

Although the three calculators used the same chip, they had different functionality. In general, "removing" some functions was a typical practice in many models of Soviet calculators. For example, the B3-09M calculator did not have square root function, and the B3-14M was not good for percent calculations. As an additional feature, the decimal point took the place of a full digit. This made easier to read the information, but the last sign digit was lost. Before starting an operation (after turning the power on) it was necessary to press the "C" key in order to clear the registers.

The first soviet engineering calculator

Elektronika B3-18AThe next huge step in the history of Soviet calculators was the development, completed by the end of 1975, of the B3-18, the first engineering calculator. As stated in the article "Fantastic Electronics" published in "Science and Life" magazine, No. 10, 1976: "...this calculator has crossed the Rubicon of arithmetic, its mathematical capability has stepped into trigonometry and algebra. "Elektronika B3-18" is able to raise instantly a square and extract a square root, it can raise any number to any degree in just two steps within the limits of eight digits, can convert dimensions, calculate the logarithms, antilogarithms, and trigonometric functions ... It is difficult to understand the huge amount of work that this machine performs in few seconds while it folds huge numbers to perform an algebraic or trigonometric operation before lighting the result in the display..."

And this was true, a huge amount work was made. To make this possible, 45,000 transistors, resistors, condensers and conductors were packed in a uniform crystal with the size of 5x5.2 mm. This was equivalent to fifty TV sets of those years pushed into the square of an arithmetic exercise-book! However, the price of such calculator was considerable - 220 roubles in 1978. As an example, in those years the salary of an engineer who just graduated from a technical institute was 120 roubles per month. But it worth to purchase one. The logarithmic slide rule was no longer necessary, and the margin of error was no longer a concern. Now it was possible to throw the tables of logarithms into the shelf.

By the way, a prefix function key "F" was used for the first time in this calculator.

Nevertheless it was not possible to include all the desired functionality into the microcircuit K145IP7 of the B3-18 calculator. For example, in order to evaluate a function in which the Taylor decomposition of a number was required, the working register was cleared, and therefore the previous result of the operation was erased. In this context it was impossible to make sequential calculations such as 5 + sin 2. For this purpose it was necessary first to find the sine of 2, and only then add the result to 5.

So the main effort was made, and the result was a good but very expensive calculator. In order to make the calculator accessible to the mass segments of the population, it was decided make a cheaper model based on the B3-18A. To avoid reinventing the wheel, engineers took the easiest way: removing the prefix key "F" and all the function keys from the calculator. So the calculator became a simple calculator and was named "B3-25A." Only the developers and calculator repairmen knew about the secret alteration made to produce the B3-25A...

The further development of calculators

After the B3-18, the B3-19M calculator was developed with the participation of engineers from the Soviet Union and the German Democratic Republic (GDR). This calculator used RPN (Reverse Polish Notation). Once the first number is entered, pressing the input key pushes the number into the stack Enter number into stack, then the second number is entered, and only then the required operator key is pressed. The stack in this calculator consists of three registers - X, Y and Z. This calculator was the first to accept and display numbers in floating point format (with mantissa and exponent). It used a 12-digit red LED display.

Elektronika C3-15In 1977, another very powerful engineering calculator was introduced, the C3-15. This calculator had increased calculation accuracy (up to 12 numbers), worked with exponents up to 9.999999999e99, had three registers of memory, but most remarkable: worked with algebraic logic. That is, to calculate the expression 2 + 3 * 5 it was no longer necessary to calculate first 3 * 5, and then add 2 to the result. This expression could be written down in a "natural" way: [2] [+] [3] [*] [5] [=]. Besides, the calculator supported up to eight levels of brackets. This calculator, together with its desktop brother MK-41 were the only ones having a "/p/" key. This key was used for calculations under the formula sqrt (x ^ 2 + y ^ 2)

Elektronika B3-26In 1977, the K145IP11 microprocessor was developed and it was used as the basis for a whole series of calculators. The first of them was the well known B3-26 calculator (displayed on the right). Then the (B3-09M, B3-14, B3-14M) and (B3-18A, B3-25A) calculators were crafted with identical look, just by removing some functions.

Based on the B3-26 calculator, the B3-23 (with percents), the B3-23A (with square root) and the B3-24G (with memory) were made. By the way, priced at 18 roubles, the B3-23A calculator subsequently became the cheapest Soviet calculator. The B3-26 was soon named as MK-26 and so was its brother MK-57 and the MK-57A, which had similar functions.

Svetlana's factory launched model C3-27, which in reality did not have success, and soon was replaced by the very popular and cheap model C3-33 (MK-33).

Elektronika B3-35One more direction in the development of microcalculators were the engineering calculators B3-35 (MK-35) and B3-36 (MK-36). B3-35 differed from B3-36 by having a simpler design and costing five roubles less. These calculators were able to convert degrees into radians and vice versa, multiply and divide numbers in memory, and also calculate a factorial.

It was very interesting the way these calculators calculated a factorial - simple sort out. The calculation of the factorial for the maximum value of 69 took more than five seconds on the B3-35 calculator.

These calculators were very popular in the USSR, although they had, on my opinion, a defect: they displayed too few significant figures, as many as the precision guaranteed in the manual. They usually had five to six digits for transcendental functions.

The desktop variant MK-45 was based on these calculators. By the way, many pocket engineering calculators had their desktop counterparts, for example: EPOS 73A (B3-26), MK-41 (C3-15), MKSCH-2 (B3-30), and MK-45 (B3-35, B3-36).

Elektronika B3-32The calculator MKSCH-2 - became the standard "school" calculator - Except for some demonstration units, it was produced by the Soviet industry for exclusive use at schools. This calculator, as well as the non-RPN B3-32 calculator (shown at the left) was able to calculate the roots of a quadratic equation and find the roots of a system of two equations with two unknown variables. On its appearance this calculator is completely identical to the B3-14 calculator.

All key inscriptions follow the western standards. For example, the key to record a number in memory was designated "STO" instead of "P" or "x - > P". The key to recall a number from memory was designated "RCL," and so on.

Despite the capability to handle numbers with large exponents, this calculator used the same eight-digit display of the B3-14 calculator. The developers decided to display floating point numbers with the mantissa and the exponent, leaving room only for five significant digits. To address this problem, the calculator was provided with a "CN" key. For example, if the result of a calculation was the number 1.2345678e-12, the display showed 1.2345-12. By pressing [F] [CN], the display showed 12345678. The decimal point was omitted.

The first Soviet programmable calculator

Elektronika B3-21The first Soviet programmable calculator B3-21 (shown at the right) was developed by the end of 1977 and sold at the beginning of 1978. It was one large step forward. Before, users had to repeat calculations many times, and calculators had a maximum of three memory registers. Now users were able to write programs and store instructions and numbers in memory. The term "programmable calculator" caused awe and some shivering of voice. It was a very expensive calculator - it cost the whole 350 roubles! Soon calculators were conferred a mark of quality.

The first models of the Elektronika B3-21 had a red LED display. The comma used one full position in the display. Later the display was changed to green fluorescent but this made its operation slower by 20 %.

The calculator worked with Reverse Polish Notation, this required to enter first the two numbers and then the operator. After entering the first number it was necessary to press the upward arrow key ENTER. Except for two operational registers X and Y, the calculator had a circular stack consisting of six registers. The stack of numbers was connected to the register X. Special keys allowed to move the numbers clockwise and counter-clockwise within the circular stack. In addition to the circular stack and the X and Y registers, this calculator had seven storage registers (#2 to #8).

The calculator had two operation prefix keys - "F" and "P." The "F" key was black and the "P" key was red. Prefix keys were also used to store and recall numbers from the registers. The "P" key was used to store, while the "F" key was used to recall.

But still the main feature of the B3-21 calculator has not been mentioned yet - the ability to program! The calculator supported 60 steps of program, and the addresses were named with a module of six, therefore the addresses had the following order: 00, 01, 02, 03, 04, 05, 10, 11 and so on. Each key had an operation code. The calculator had functions for unconditional transfer, transfer to subroutines, and also conditional branching. The branching keys used two memory locations on the calculator - one cell to store the operation code, and another to maintain the branch address. The required transfer address was equal to the code corresponding to the transfer key minus 1. For example, in order to jump to address 33, it was necessary to press keys [BP] and [3] (code 34). The operation codes were taken from a table.

Book "Calculator - your move!"Suddenly, the first programmable calculator became very popular in Russia. Now the user could not only write complex programs, but also play games with the calculator. It was an unprecedented innovation! Literature on engineering programming with the programmable calculator started to appear. At the left, a very popular book of those years devoted to games and other useful programs for the B3-21..

Elektronika MC 1103The introduction of the programmable calculator B3-21 allowed to automate production control operations. Several desktop variants of this calculator - MK-46, MK-64 and MC1103 (figure on the right) were manufactured. They were large desktop calculators with special sockets in the back. These sockets were linked to an additional register 9 used to store the "experiment name" code. In these calculators it was possible to input the data both from the keyboard, and from external systems such as gauges, analog-digital converters and other devices. They processed the data to carry out operations such as size tolerance in quality control, and to print the data and results with the help of external systems. The MK-64 (AKA MC1103) differed from the MK-46 by the availability of a built-in digital-to-analog converter. Many MK-64 calculators were installed in physics laboratories of specialized technical schools, as they used to say, to measure the voltage of a battery.

The most popular Soviet calculator

Elektronika B3-34The first programmable calculators B3-21, MK-46 and MK-64, although worked under the control of a program, had only two operational registers X and Y, and working with the circular stack was very inconvenient. This was changed in 1980 by the programmable calculator B3-34, with fluorescent display and priced at 85 roubles. It was another step forward! It had a stack based on four registers, 98 steps of program memory, 14 registers of memory instead of the seven available on the B3-21, and most importantly - the capability to organize cycles and work with index registers. It was a pleasure to work with this calculator.

Soon, in 1982, appeared its analogues, the B3-34 and MK-54, with fluorescent display and a more beautiful design, and costing on 20 roubles cheaper at the expense of using a power supply of different type. The desktop variant MK-56 was also developed.

One behind another, the most popular scientific and technical magazines, such as "Science and Life", "Engineering - youth" and "Chemistry and Life," started to teach how to work with the calculator. "Science and Life", started in October 1983 a special section named "Man with the calculator", talking about how to work with the B3-34, and including plenty of useful and game programs. The magazine "Engineering - Youth", beginning in 1985 included a column on programming the B3-34 under the name "The Calculator - your assistant" The True Truth, and then organized the "Club of Electronic Games", which printed the most fascinating and fantastic stories: "The True Truth" and "Way to the Earth", here the readers were given the chance "to run into" the engineering of "landing" on a lunar surface and carry out a flight back from the Moon to the Earth by a ship, not adapted to such lunar flights, called the "Kon-Tiki". School kids and adult calculator users waited with impatience the next number of "Engineering - Youth" to continue their flight back to the Earth...

This calculator worked under the Reverse Polish Notation system, therefore, after entering the first number, the ENTER key is pressed, then the second number is entered and the corresponding operator key is pressed. For example, to multiply 2 by 3, it was necessary to press the keys: 2 Key B-strel.jpg (742 bytes) 3 Key Multiply (result - 6). A stack consisting of four registers - X, Y, Z, T was used to store the operands. To enter a number after obtaining a result and to recall a number from one the memory registers (0.. 9, A.. D), the content of the X register, which is the display register, had to be moved to the Y register, causing Y to move to Z, and Z to T. Registers X and Y were used for most operations requiring operands.

In programming mode the code for each command takes one cell of memory. Branching commands (transfers, loops, conditional transfers) take two cells. One cell for the operation code , and a second for the transfer address. In contrast with the B3-21, the transfer address can now be entered directly, instead of finding the correspondent operation code in a table. For example, to enter a transfer command to address 33 with the B3-21 it was necessary to enter [BP] [3] (the 3 key corresponded to code 34), in the B3-34 calculator it was only necessary to enter [BP] [3] [3]. Although now one more keystroke is required, it is no longer necessary to look for the operation code in a table.

More details on how to work with the B3-34 calculator, are described on the special page devoted to the use of the B3-34 located here.

However, the most interesting aspect of the B3-34 calculator and its analogues is the availability of undocumented features. These were useful not only to write programs, but also to build special display messages. There are so many undocumented features that they could deserve writing an additional article.

Elektronika MK-61 (left), MK-52 (right)The B3-34 calculator and its analogues, the MK-54 and the desktop MK-56, became so popular, that the developers from the "Crystal" Kiev factory decided to continue this line. In 1985 the new models MK-61 and MK-52 were introduced. They had one more memory register, 5 programs of 97 steps each, and ten additional functions. In addition, the MK-52 calculator had 512 bytes of permanent memory, which was not erased when the power was disconnected. This memory was able to store both programs and data. The MK-52 calculator also had special sockets for the connection of available program modules known as BRP (blocks of memory expansion). When designing the BRP blocks the developers again killed two rabbits at once by soldering in one block the matrix for two sets of programs. By connecting a jumper, say, in rule 1, one had the block BRP-3 with a mathematical set of the programs, then re-soldering the jumper to rule 2 - the block became the BRP-2 with astro-navigational functions. Of course, this implied to lose the manufacturer warranty since to do that it was necessary to remove a sealed screw. This was divulged in one of the issues of "Science and Life" magazine by a reader who in turn was told by one of the "Crystal" developers. I can imagine what would happen to this developer.

By the way, the MK-52 flew to the space in the "Soyuz TM-7", where it was supposed to compute the landing trajectory in case the onboard computer would fail.

Late models of calculators

Early calculators consumed a lot of energy from its batteries, providing a maximum of two hours of independent work. 220 volts were not always available, and replacement batteries where only available in large cities. Therefore, engineers and developers began to develop calculators with less power requirements. By that time, displays based on liquid crystals with low power consumption had already been invented.

Elektronika B3-30The B3-30 (shown at the left) became the second calculator based on liquid crystals after the B3-04. Developed in 1978 and consuming only 8 mW (for comparison, the B3-26 calculator consumed 600 mW), this calculator had a function, unusual for Soviet calculators, to return the inverse of a number. This function is now available practically in all modern simple calculators. To calculate 1/5, the following sequence was used: [5] [-:-] [=]. In 1979, the B3-30 calculator was replaced by the B3-39 model, in which the microchip used a new low-level logic. The power consumption was decreased by eight times to only one mW. This allowed to build this calculator without a voltage converter.

One year after, for the Moscow Olympiads of 1980, the MK-53 calculator was manufactured with an onboard watch, an alarm clock, and a stop watch. This calculator required one less battery than the B3-39. This became possible at the expense of using an even lower level microcircuit, the K145VV3-2, which was considered to be "Bodiless".

A new milestone in the development of calculators was the MK-60 which was powered by a solar cell. In general, this was a simple calculator with one memory register, nothing special except for the solar batteries.

Elektronika B3-38The creativity of the engineers didn't rest, and deciding that miniaturization was important, they developed in 1979 a new super-small, but very clever calculator, the B3-38. It included all the last achievements of micro-electronics. Its dimensions were the smallest available at the time - 91 x 55 x 5.5 mm. It was able to perform not only scientific, but also statistical calculations. This calculator had two prefix keys - F1 and F2.

A similar calculator was introduced in 1982, but with larger size, the MK-51. Soon it became very popular, although it had a basic defect - the worst power switch ever made. Engineers had decided to include a mechanism consisting of a semicircular toddler, which closed the contacts on a wiring attached directly to the printed circuit board. Certainly, with the pass of time the contact points got rusted and became defective.

These calculators used for the first time the "digit by digit" (CORDIC) method for the calculation of transcendental functions which has replaced the Taylor finite-series approximations of a number. CORDIC was the standard in almost all modern calculators all over the world, except at the USSR. In two words, the "digit by digit" method allows to calculate an attribute by iteration and tabulation. It is characterized by the simplicity in the execution of operations (algebraic addition and shift), the significant similarity of the algorithms applied for various functions and, most importantly, for the high speed and accuracy of the calculations. The margin of error in calculations for an 8-digit argument was at most +/ - 1 in the seventh or eighth digit.

Finally, one of the latest models among engineering calculators was the MK-71 standard calculator powered by solar components. As a matter of fact, it was a continuation of the series B3-38 and MK-51. As opposed to the B3-38 and MK-51 models, this calculator, as well as the C3-15, used an algebraic logic with five levels of brackets for calculations. It also worked with simple fractions, and could display the results in degrees, minutes and seconds. It had hyperbolic functions, and a mechanism to round-off the result to a required accuracy. In addition, it was a ten-digit calculator.

Demonstration CalculatorThere is one more direction in the development of calculators - the demonstration calculators. As a matter of fact, these were normal calculators wired to large displays and magnetic buttons. A hand magnetic pointer was used to activate the keys. I only have one photo of the demonstration calculator made on the basis of the MK-36. On one occasion I attended a demonstration in my school with a calculator compatible with the MK-54 measuring 1.5 meters, but by the end of August it had been thrown out on the rubbish dump...

Computer Calculators

Personal computers appeared at the beginning of the 80's. In 1983, the first Soviet personal computer "Agat" (agate) with a 6502 processor was introduced, and several schools began teaching programming languages.

Elektronika MK-85In 1986 appeared the "Elektronika MK-85," the first Soviet calculator with micro-computer "BASIC" programming language. At 145 roubles, it was quite expensive; but despite this, all the store counters selling "Elektronika" in Moscow and Leningrad were sweep away when it appeared. Only by 1988 it was possible to purchase one of this calculators with no rush. It had -not without a purpose- the same BASIC programming language used in true computers!

The MK-85 came in two variants - with one (MK-85) or six (MK-85M) kilobytes of memory. The calculator allowed to work with numbers which exponents were as large as +/ - 4096. Although it is also true that finding the sine of a number with a power close to 4096 could not only take quite some time, but also cause the loss of programs entered previously. The programs, by the way, were not erased from the calculator memory after turning the power off - too novelty. In normal mode the calculator worked very, very slowly. For example, the calculation of the sine of 3 required whole 3.5 seconds. It was possible to put the calculator in "accelerated mode" by pressing the "+" key. Then the same calculation took "only" 0.5 seconds, but you could see the batteries literally "decay" in front of your eyes, and very soon you had to replace them. The accelerated mode was only recommended when the calculator was connected to an external power supply.

The calculator had a 16-digit display, and one line had capacity for up to 63 symbols. A user was able to input up to 10 programs, and it was possible to debug a program by using a debugging mode. Besides, the calculator had 26 memory registers, which could be increased at the expense of a reduction of the programs memory area.

It is very interesting to notice that such advanced calculator used the Taylor method instead of the "Digit by digit" method to calculate the transcendental mathematical functions. That was strange.

Elektronika MK-90Finally, to end this historical digression about the world of calculators -the super-calculator MK-90 of the Minsk "Crystal" factory. I have not enough information on this calculator because it is not included in my collection. This calculator came with BASIC language and a large graphic screen display. It had the 16-bit processor used in the Elektronika 60 (DEC-compatible), 16 kilobytes of RAM, 16 kilobytes of ROM (11824 bytes were user accessible). The display had 120 x 64 pixels (8 lines, 20 symbols).

With the MK-90 the evolution of Soviet calculators reached to an end. The Minsk based "Crystal" factory still manufactures the MK-90 and some more simple calculators of the MC series. Similar factories in Russia have ended the production of calculators. Meanwhile, the foreign models have been enhanced so much. In these machines, the availability of 32 kilobytes of memory, large graphic display (even with color), communications with a personal computer, and decent speed have become the standard.

Rare models of calculators

The rare models of calculators relate not only to old models, but also to models manufactured for trial purposes, special consignments, or the ones removed from production after a brief period of time. In general, I have not enough of information on such calculators, and sometimes the information comes only from a mention in the books.

The B3-18 calculator is the first rare model. It was removed from production as soon as the B3-18A, and B3-18 appeared. The same thing can be told about the B3-19 (B3-19M). Also, models B3-26A, and B3-36A were experimental batches of calculators with red LED.

Elektronika MK-40The MK-40 is a very rare model - it is the only Soviet printing calculator. The MK-47 should also be mentioned. This calculator is similar to the B3-21, but allowed to write down the user programs on magnetic cards.

Among late models made for trial consignments, the "Elektronika SP" made in 1982 was presented as a pocket dictionary-interpreter (!). It stored in memory about 1000 Russian words with English and German language equivalents. Besides being a calculator, it allowed to access the words by entering the initial characters. It was able to display one of 52 completed or unfinished phrases, and also recall words and phrases on 11 themes. This calculator had a 15-segment, 16-digit display and required only five volts. This device was based on the one-crystal microprocessor K1801VE1, and had 64 Kbit of ROM type K596RE1.

Calculators bugs and features

This section is a brief review on errors and special features of Soviet calculators. Taking into account the special circumstances of the development of Soviet calculators, including the geopolitical aspects, it becomes clear that if Soviet engineers developed the calculators not basing the design on a level-by-level scanning of the microcircuits of their imported analogues, they were constantly introducing some highlights into their work. There were either errors in the calculations performed by the calculators or interesting discoveries.

As an example, the family of calculators belonging to series B3-26 (B3-23, B3-24G, MK-57), indicated the availability of a number in the memory register by displaying a dot in the leftmost display position. On the other hand, this calculator perfectly calculated square roots for negative numbers. The square root of -4 was reported as -2, and no error messages were displayed.

In the B3-32 calculator, when the developers realized that there was a dot at the left of the display which was not involved in any operation, they decided to involve it. In this model this dot lights up while a key is pressed and turns off when it is released. Any more problems to solve?.

In the calculators of the B3-35 family (B3-36, MK-66, MK-45) although the developers implemented the calculation of a factorial by an ordering method (1 * 2 * 3 * ...), they forgot to block the keyboard when an error message was displayed, so the user was able to continue the operations with the erroneous results.

In the B3-21 calculator, the developers included a function e^x which stored the sine of the argument in the Y register, and the cosine in the X register. Then, by simple division, the user could obtain the tangent. Very convenient. However, an error was detected on the first series of these calculators: when adding a number containing seven nines in the mantissa and a nine in the eighth digit, which is not displayed - to a number larger than four, an error occurs. for example, adding 9.9999999 to 10 yields 120.

When executing complex operations like getting the sine of of a number, one of the registers in the circular stack could be trashed. To check if a calculator has this problem, enter [2] [P] [sin] [P] [,]. If the display shows 1. -00, then the calculator has the bug.

In addition, some models perform incorrect jumps to the subroutine if a PP operator is entered into a cell of program memory with address 55, 65, 70, 80, 91 or 92, and an operator with a code equal to the subroutine transfer index is executed . This is a little difficult to understand, but if address 55 contains the symbols | PP | 9 | 9 | S/P |, instead of jumping to address 93 (code for key | 9 | - 94), the calculator fills the register X with the number 99. This could easily cause bewilderment and a nervous breakdown to the programmer, who was sure that the program has been written correctly.

Curious users can find in the MK-71 calculator a very remarkable feature. The switch for "grades-radians-degrees" falls easily into an intermediate position - between degrees and radians, or between radians and grades. Who had hit upon this idea before? At this point, the calculator turns into a very unusual mode of calculations reminding the operation of the MK-51 calculator. First, now the numbers in the microprocessor have a mantissa of length 8 instead of ten, the missing digits are still kept in memory but are no longer visible to the user. Secondly, some function keys have a different functionality! The key showing degrees now calculate the 1/x function when used with the factorial function "F". The 1/x key - switches the method of calculation of trigonometric functions (degrees - radians - grades). The display, however, still shows the corresponding "F", "P", "K" icons! If the "F" key is combined with the 1/x key the calculator mode passes to statistical calculations. The "hyp" key now process the information in degrees, minutes and seconds, and goes back to its normal mode if the "F" key is pressed. Segments of the leftmost positions in the display are used to indicate that a number is stored into the "P" memory, or the inverse (shift, 2nd) mode "F" is active, or a constant "K" is being applied to the calculations.

And now, the B3-34, the most common calculator in Russia. This calculator has plenty of errors and operational features. Only some of them will be described, the ones that once were mentioned in a book as being features "... are a consequence not of errors made by the developers of the microprocessor, but of their attempts to find a compromise between the software requests and simplicity of the design. " When executing operations under a programmed mode, the functional operators preceding the /-/ operator default to a sign change. After some operators transfer the control to the end of a subroutine, instead of returning the control to the V/O operator, the next operator is executed. Here such "feature". The operator X^Y was executed incorrectly in order to keep significant figures in the operands. For example it is possible to enter [5] [5] [5] [5] ENTER [X] [4] [F] [X^Y]. If 39.062487 is displayed, the operator X^Y is calculated incorrectly. These errors were corrected subsequently, but there were errors on building negative integer numbers, the MK-61 and MK-52 calculators chose zero as the largest value when the function to evaluate the maximum of two numbers [K][max] were used. Take my word, "we have" tried.

Author:Sergei Frolov