Elektronika MK-52
   HOME

TheInfoList



OR:

The Elektronika MK-52 () is an RPN-
programmable calculator Programmable calculators are calculators that can automatically carry out a sequence of operations under the control of a stored computer programming, program. Most are Turing complete, and, as such, are theoretically general-purpose computers. ...
manufactured in the
Soviet Union The Union of Soviet Socialist Republics. (USSR), commonly known as the Soviet Union, was a List of former transcontinental countries#Since 1700, transcontinental country that spanned much of Eurasia from 1922 until Dissolution of the Soviet ...
from 1983 to 1992 at the Quasar and Kvadr plants in Ukraine. It belongs to the third generation of Soviet programmable calculators. Its original selling price was 115
rubles The ruble or rouble (; rus, рубль, p=rublʲ) is a currency unit. Currently, currencies named ''ruble'' in circulation include the Russian ruble (RUB, ₽) in Russia and the Belarusian ruble (BYN, Rbl) in Belarus. These currencies are su ...
. The MK-52 is a backwards compatible improvement to the Elektronika MK-61, the main changes being the addition of an internal
non-volatile Non-volatile memory (NVM) or non-volatile storage is a type of computer memory that can retain stored information even after power is removed. In contrast, volatile memory needs constant power in order to retain data. Non-volatile memory typ ...
EEPROM EEPROM or E2PROM (electrically erasable programmable read-only memory) is a type of non-volatile memory. It is used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a separate chip d ...
module for permanent data storage, a diagnostic slot, and a slot for separately sold ROM modules. The
machine code In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
and functionality of the MK-52 and MK-61 calculators were extensions of the earlier MK-54, B3-34, and B3-21 Elektronika calculators. The MK-52 is the only calculator known to have internal storage in the form of an EEPROM module. As with many Soviet calculators, the MK-52 has a number of undocumented functions. In November 1988, the MK-52 went into space on the Soyuz TM-7 spacecraft, where it could have been used as a backup to the onboard computers.


Architecture

The MK-52 has 105 locations of volatile program memory, an internal EEPROM module (with 512 bytes of memory), and 15 7-byte registers. It uses four AA-size battery cells or can be plugged into a power adapter. It has a relatively dim, ten-digit ИЛЦ2-12/8Л green
vacuum fluorescent display A vacuum fluorescent display (VFD) is a display device once commonly used on consumer electronics equipment such as video cassette recorders, car audio, car radios, and microwave ovens. A VFD operates on the principle of cathodoluminescence, ...
; these ten digits are apportioned into an 8 digit mantissa and a 2 digit
exponent In mathematics, exponentiation, denoted , is an operation involving two numbers: the ''base'', , and the ''exponent'' or ''power'', . When is a positive integer, exponentiation corresponds to repeated multiplication of the base: that is, i ...
. The MK-52 has an expansion port to which various
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
modules can be attached. Its system clock speed is approximately 75 kHz (derived from a К745ГФ3-2 four-phase clock generator chip), and it weighs approximately 400 grams. The MK-52 is the first Soviet micro-calculator with non-volatile memory; this is provided by a КР1601РР1
EEPROM EEPROM or E2PROM (electrically erasable programmable read-only memory) is a type of non-volatile memory. It is used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a separate chip d ...
, with a capacity of 4 kilobits and capable of 10,000 rewrites, ensuring security for programs and working memory when powered off. This memory is capable of storing up to 512 1-byte program words (or the contents of 72 7-byte registers) and exchanging its contents with the calculator's
RAM Ram, ram, or RAM most commonly refers to: * A male sheep * Random-access memory, computer memory * Ram Trucks, US, since 2009 ** List of vehicles named Dodge Ram, trucks and vans ** Ram Pickup, produced by Ram Trucks Ram, ram, or RAM may also ref ...
. The calculator is fully compatible with the second-generation models (B3-34 and MK-54), using the same command system and machine codes. On average, a program that takes all 105 steps of program memory and 15 registers on the MC-52 will be equivalent in capability to approximately 140-150 steps and 18 registers on the B3-34. Additionally, the MC-52 has an extended set of commands that can allocate integer and fractional parts of numbers, search for absolute and maximum values of numbers, and perform certain logical operations.


ROM

In addition, there is an external
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
which is a memory expansion unit with stored games and mathematical programs, produced by the manufacturer, that constitute the user library. Manufacturers have produced 4 types of
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
cartridges, three of them containing various mathematical functions, and one, the BRP-4, containing game programs: BRP-2 "Astro" (Russian: БРП-2 "Астро"), with a set of programs for navigational tasks, information about which was published in issue 12, of 1988, of the Russian-language monthly magazine '' Морском сборнике'' (''Marine Digest''); BRP-3 (Russian: БРП-3), containing 60 programs for solving mathematical problems. In 1988, 15,200 units of this ROM were manufactured, and were sold at a price of 16 rubles. BRP-4 (Russian: БРП-4) was produced in 1989, containing game programs. GRP "Geo". Another expansion port was used for diagnostics during manufacture; this port could also be used to connect the calculator to external peripherals.


Basic operations

The MK-52 has two main modes of operation: automatic mode and programming mode. General calculations and operations are performed in automatic mode, while programs are fed as input in programming mode. The keystroke sequence switches the MK-52 to automatic mode, while switches it to programming mode. Manual calculations in automatic mode are in accordance with
Reverse Polish Notation Reverse Polish notation (RPN), also known as reverse Łukasiewicz notation, Polish postfix notation or simply postfix notation, is a mathematical notation in which operators ''follow'' their operands, in contrast to prefix or Polish notation ...
logic. For example, to evaluate 2+3, the following keystrokes are required: + + + .


Bitwise In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral (considered as a bit string) at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic operat ...
binary operations

The MK-52 is fully capable of performing
Boolean Any kind of logic, function, expression, or theory based on the work of George Boole is considered Boolean. Related to this, "Boolean" may refer to: * Boolean data type, a form of data with only two possible values (usually "true" and "false" ...
operations on
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two values (0 and 1) for each digit * Binary function, a function that takes two arguments * Binary operation, a mathematical op ...
numbers. The following example demonstrates the OR
logical operation In logic, a logical connective (also called a logical operator, sentential connective, or sentential operator) is a logical constant. Connectives can be used to connect logical formulas. For instance in the syntax of propositional logic, th ...
on the binary numbers 111000 and 100001: Binary numbers are input into the calculator as hexadecimal numbers prepended by an 8. First, the operator must divide the numbers into groups of four digits, adding leading zeros if necessary, e.g. splitting 111000 into groups of four gives 0011 and 1000. The equivalent
hexadecimal Hexadecimal (also known as base-16 or simply hex) is a Numeral system#Positional systems in detail, positional numeral system that represents numbers using a radix (base) of sixteen. Unlike the decimal system representing numbers using ten symbo ...
values of these two four-digit binary numbers are 3 and 8, respectively, which equal hexadecimal 38. Similarly, 100001 is equivalent to hexadecimal 21. So, the numbers 8.38 and 8.21 are entered into the MK-52 and the OR operation is performed on them. The OR operation is achieved by pressing . The result displayed should be 8.39, which translates into binary 0011 and 1001, and, hence, the binary number 111001, which is the result. The following list details the MK-52's graphical representation of hexadecimal numbers: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, L, C, Г, E, (blank). Normal hexadecimal representation is 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.


Programming

The MK-52's programming commands are typed into the MK-52 in programming mode and are then executed. The MK-52 is fully capable of being programmed to manage memory and to use both
conditional Conditional (if then) may refer to: *Causal conditional, if X then Y, where X is a cause of Y *Conditional probability, the probability of an event A given that another event B *Conditional proof, in logic: a proof that asserts a conditional, a ...
and
unconditional branching A branch, jump or transfer is an instruction in a computer program that can cause a computer to begin executing a different instruction sequence and thus deviate from its default behavior of executing instructions in order. ''Branch'' (or ''br ...
. In programming mode, the screen displays information about the program in memory, represented by two hexadecimal-digit operation codes. For example, if 10 01 0E 03 is displayed, then this means that 0E is stored at program step 00, 01 is stored at program step 01, 10 is stored at program step 02, and the machine is prompting for data to be input, to be stored at program step 03. As an example, the following short program performs continuous addition to get an idea of the speed of the Elektronika MK 52 calculator: The keystrokes to enter the program for the Elektronika MK-52 calculator are as follows:





To execute it:

To stop it: or Calculator's rough speed can be measured by using a stopwatch, and terminating the program after a specific time elapsed.


Saving to EEPROM

Before entering a program to
volatile memory Volatile memory, in contrast to non-volatile memory, is computer memory that requires power to maintain the stored information; it retains its contents while powered on but when the power is interrupted, the stored data is quickly lost. Volatile ...
with the intention of saving this program to
EEPROM EEPROM or E2PROM (electrically erasable programmable read-only memory) is a type of non-volatile memory. It is used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a separate chip d ...
memory, the EEPROM program space to be saved to must be cleared first, which clears the volatile memory as well as the selected area of the EEPROM memory. Each program step requires 1
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
of memory and each data register requires 7 bytes of memory. When clearing, reading, or writing to the EEPROM memory, the address and range are specified by a six-digit number, preceded by a non-zero number, in automatic mode: e.g. 1aaaadd specifies that dd bytes are to be stored starting at memory address aaaa. A two-position data/program switch controls whether data (from the registers) or program memory is transferred; a three-position switch is used to select read, write, and clear operations.


Additional information

The Elektronika MK-52 originally sold for 115
rubles The ruble or rouble (; rus, рубль, p=rublʲ) is a currency unit. Currently, currencies named ''ruble'' in circulation include the Russian ruble (RUB, ₽) in Russia and the Belarusian ruble (BYN, Rbl) in Belarus. These currencies are su ...
. It was produced in a variety of colorways, including black and grey, turquoise and blue, white and grey, and orange. As typical for Soviet electronics, technical schematics were provided for the MK-52 when it was purchased, facilitating user modification and repair of the machine.


Error message

When an error was encountered on the machine, the display produced a message similar to the English word "error". The word, written in this fashion, cut down on the number of display segments used to display the error message, but this spelling, read as
Cyrillic The Cyrillic script ( ) is a writing system used for various languages across Eurasia. It is the designated national script in various Slavic, Turkic, Mongolic, Uralic, Caucasian and Iranic-speaking countries in Southeastern Europe, Ea ...
, would instead be pronounced "eggog" or "yeggog", depending on the language (the Cyrillic е is
iotated In Slavic languages, iotation (, ) is a form of palatalization that occurs when a consonant comes into contact with the palatal approximant from the succeeding phoneme. The is represented by iota (ι) in the early Cyrillic alphabet and the Gre ...
in Russian and Belarusian – and, by extension, in the Russian-derived orthographies created for non-Slavic languages by the Soviet Union – but not in other Slavic languages such as Ukrainian, Bulgarian, or Serbian).


Games

There is a host of games available for the MK-52. The MK-52's undocumented functions tend to be heavily used in the games due to their ability to make unusual calculations and produce specialized displays. A simple example of the modification of the display is accomplished by the repeated squaring of (and ignoring error messages).


Use in outer space

In November 1988, the MK-52 went into space on the Soyuz TM-7 spacecraft, where it could have been used to calculate the trajectory of landing in the event of an onboard computer failure.


Bugs

There is currently only 1 known bug in the MK-52: the MAX function returns zero if one of its two arguments is zero.


References

{{Reflist


External links


Russian to English translation of the MK-52's keyboard



Sergei Frolov's "Soviet Calculators Collection"

Website detailing programmable calculators





Alfred Klomp's page on "Hacking the MK-61"








easy programming on the MK-61 and MK-52.
MK-54


Emulators


Download of an emulator for all Soviet programmable calculators



Sources

Elektronika programmable calculators