MK-52
Encyclopedia
The Elektronika MK-52 is RPN
Reverse Polish notation
Reverse Polish notation is a mathematical notation wherein every operator follows all of its operands, in contrast to Polish notation, which puts the operator in the prefix position. It is also known as Postfix notation and is parenthesis-free as long as operator arities are fixed...

-programmable calculator which was manufactured in the Soviet Union during the years 1983 to 1992.

The functionality of the MK-52 is identical to that of the MK-61, except the MK-52 has an internal non-volatile EEPROM
EEPROM
EEPROM stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration...

 memory module, for permanent data storage, diagnostic slot, and slot for ROM modules. Programming language and functionality of MK-52 and MK-61 are extensions of the MK-54, the B3-34 and B3-21 Elektronika
Elektronika
Electronika is the brand name used for many different electronic products such as calculators, electronic watches, portable games and radios in the Soviet Union and, nowadays, in Russia...

 calculators. It is the only known calculator to have internal storage in the form of an EEPROM module. All Soviet calculators are renowned for having a very large number of undocumented functions.

The MK-52 has 105 steps of volatile program memory
Volatile memory
Volatile memory, also known as volatile storage, is computer memory that requires power to maintain the stored information, unlike non-volatile memory which does not require a maintained power supply...

, an internal EEPROM module (with 512 bytes of memory) and 15 memory registers. It functions using either four AA-size battery cells or a wall plug. It has a relatively dim, ten-digit (8 digit mantissa
Mantissa
* The mantissa is the significand in a common logarithm or floating-point number.* Metaphorically, it is the part of the self that eludes conscious awareness or self-understanding.* An addition of little importance.Mantissa may also refer to:...

, 2 digit exponent) green vacuum fluorescent display
Vacuum fluorescent display
A vacuum fluorescent display is a display device used commonly on consumer-electronics equipment such as video cassette recorders, car radios, and microwave ovens. Invented in Japan in 1967, the displays became common on calculators and other consumer electronics devices...

. The MK-52 has an expansion port to which various ROM (Read-only memory
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

) modules may be attached. Its system clock speed is approximately 455 kHz (derived from a ceramic resonator
Ceramic resonator
A ceramic resonator is an electronic component that when combined with other appropriate components, can produce oscillations at a specific frequency...

), its weight is approximately 0.4 kilograms and its original selling price was 115 Roubles
Soviet ruble
The Soviet ruble or rouble was the currency of the Soviet Union. One ruble is divided into 100 kopeks, ....

.

The MK-52 was used as a backup to the onboard computers of the Soyuz spacecraft
Soyuz spacecraft
Soyuz , Union) is a series of spacecraft initially designed for the Soviet space programme by the Korolyov Design Bureau in the 1960s, and still in service today...

 on the Soyuz TM-7
Soyuz TM-7
-Mission parameters:*Mass: 7,000 kg 15,400 lb*Perigee: 194 km *Apogee: 235 km *Inclination: 51.6°*Period: 88.8 minutes-Mission highlights:...

 mission to the Mir
Mir
Mir was a space station operated in low Earth orbit from 1986 to 2001, at first by the Soviet Union and then by Russia. Assembled in orbit from 1986 to 1996, Mir was the first modular space station and had a greater mass than that of any previous spacecraft, holding the record for the...

 space station.

Basic operations

Should it be required, one can refer to the Russian to English translation of the MK-52's keyboard.

Note that throughout this page, square brackets represent actual keys, for example, [+] represents an 'addition' key.

The MK-52 has two main operating modes; 'automatic mode' and 'programming mode'. General calculations and operations are performed in automatic mode; programs are input in programming mode. To switch between modes, one must press [F] [CHS] (looks like [/-/]) to switch to automatic mode and one must press [F] [EE] (looks like [Bn]) to switch to programming mode.

Basic operations in automatic mode are conducted in accordance with RPN (Reverse Polish Notation) logic. For example, to evaluate 2+3, the following keystrokes are required: [2] [enter] (looks like [B^]) [3] [+].

Programming

In simple programming, commands are typed into the MK-52 in programming mode and are then executed in order. The MK-52 is fully capable of memory management and both conditional
Conditional
Conditional may refer to:*Causal conditional, if X then Y, where X is a cause of Y*Conditional mood , a verb form in many languages*Conditional probability, the probability of an event A given that another event B has occurred...

 and unconditional branching, but these and more advanced capabilities are beyond the scope of this article (for the moment).

In programming mode, the screen displays information about the program in memory. 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 currently prompting for data to be input for program step '03'. Individual program operations are represented by two-digit operation codes in programming mode.

Saving to EEPROM

Note that before entering a program to volatile memory
Volatile memory
Volatile memory, also known as volatile storage, is computer memory that requires power to maintain the stored information, unlike non-volatile memory which does not require a maintained power supply...

 with the intention of saving this program to EEPROM memory, the EEPROM program space to be saved to must be cleared first, as performing the clearing operation clears the volatile memory as well as the selected area of the EEPROM memory.

Each program step requires 1 byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...

 of memory and each register requires 7 bytes of memory.

When clearing, reading or writing to the EEPROM memory, the 'address' and 'range' are specified in the form of a six-digit number, preceded by a non-zero number (which is ignored) in automatic mode, i.e. '1aaaadd' means 'dd' bytes, 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.

Example of operation

This example demonstrates the entry of a program (which simply adds 1 to the input number and displays the result) and the saving and loading of this program to/from the EEPROM module.

Step 1: Clear the memory

The program will be four steps long (as will be explained in step 2) and, hence, requires 4 bytes of EEPROM. The memory is cleared using the following procedure:

Switch the clear/write/read switch to 'clear' and ensure that the data/program switch is set to 'program'.

In automatic mode, enter '1000004' (4 bytes starting at address '0000').

Press [Addr] (a key that looks like [A^] in the bottom left).

Press [R/W] (a key that looks like [^v] above the bottom left key).

Step 2: Enter the program

Switch the clear/write/read switch to 'write'.

Enter programming mode.

Enter program. For the one described above, the following procedure may be used:

- initially the screen should display " 00", prompting for input.

[enter] (looks like [B^])

[1]

[+]

- the screen should now display "10 01 0E 03".

[R/S] (looks like [C/n])

- the screen should now display "50 10 01 04".

The program should now be in volatile memory.

Note that the program contains four steps. Each program step requires 1 byte of memory, hence the '04' at the end of the '1000004' command.

Enter automatic mode.

One may now press [RTN] (looks like [B/0]) to return to the start of the program.

One may now enter a number, then press [R/S] to run the program. The result (the input number plus 1) should then be displayed.

Step 3: Write to memory

Switch the clear/write/read switch to 'write'.

If it is not still displayed, then enter '1000004' in automatic mode.

Press [Addr] (a key that looks like [A^] in the bottom left).

Press [R/W] (a key that looks like [^v] above the bottom left key).

The program should now be written to the EEPROM module. You may now power off the machine in the knowledge that the program is stored safely.

Step 4: Read from memory.

Power on the machine.

Switch the clear/write/read switch to 'read'.

Enter '1000004' in automatic mode.

Press [Addr] (a key that looks like [A^] in the bottom left).

Press [R/W] (a key that looks like [^v] above the bottom left key).

The stored program should now be transferred to volatile memory and ready for use.

Similar procedures may be used to read and write register data (set the two position switch to data for these procedures).

Additional information

Bitwise
Bitwise
Bitwise may refer to:* Bitwise operation, a basic function in computer programming* Bitwise IIT Kharagpur, an algorithm-intensive programming contest by CSE IIT Kharagpur...

/binary operations:


The MK-52 is fully capable of performing binary
Binary numeral system
The binary numeral system, or base-2 number system, represents numeric values using two symbols, 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2...

 number operations. The following example demonstrates the OR
Logical disjunction
In logic and mathematics, a two-place logical connective or, is a logical disjunction, also known as inclusive disjunction or alternation, that results in true whenever one or more of its operands are true. E.g. in this context, "A or B" is true if A is true, or if B is true, or if both A and B are...

 logical operation between the binary numbers '111000' and '100001':

First, the numbers are made into groups of four digits, adding leading zeros if necessary, i.e. making '111000' into groups of four gives '0011' and '1000'.

The equivalent decimal values of each of these four-digit binary numbers are '3' and '8', which gives a hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

number of '38', equivalent to the binary number '111000'. Similarly, '100001' is equivalent to '21' in hexadecimal.

Binary numbers are input into the machine as hexadecimal numbers prepended by an '8.'.

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 [K], then [CHS] (which looks like [/-/]).

The result displayed should be '8.39'. This translates to the two binary number groups '0011' and 1001 and, hence, the binary number '111001', which is the result of the OR operation performed on the two binary numbers '111000' and '100001'.

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, T, E, (blank). Normal hexadecimal representation is 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E.

Games:

There are a host of games available for the MK-52 (as can be found from one link below). The MK-52's undocumented functions tend to be heavily used in the various games of the machine due to their use in producing unusual calculations and specialised displays. A simple example of the modification of the display may be observed by the repeated squaring of, say, 1 x 10^50 (ignoring error messages).

Colours:

The MK-52 was available in a variety of colours. Known colours are: black/grey, turquoise/blue, white/grey and orange.

Schematics:

In what would be considered an unusual practice today (but was common for Soviet electronics), technical schematics were provided for the MK-52 when it was purchased, prompting user modification and repair of the machine.

EGGOG:

To the amusement of many, when an error is encountered on the machine, the display produces a message similar to the English 'Error'. The word, written in this fashion, cuts down on the number of display segments used to display the error message. The result is that, in Russian, this spelling is not pronounced 'error', but 'eggog'.

Known bugs/errors

There is currently only one known bug in the MK-52. That bug is that the MAX function gives a result of zero if one of the two arguments of the function is zero.

External links


Emulators

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK