Post Reply 
12-07-2019, 08:29 AM
Post: #21
Thanks for linking that post Leonid! The google translated version is a little wonky in places, but that's definitely the most complete description of the technical details of the elektronika calculators I've ever seen (in an easily google translatable form). Some comments about Sergei Frolov's article and my translations (if you don't want to read google's version) roughly in order:


The ring stack of the B3-21 seems like it would be tedious to use (having never used it or seen a B3-21 in real life myself) having to keep track of what numbers are in the ring where. (It has an X and Y register and a 6-register ring stack which circles around to/from the X register.) The only reason for the ring stack I can think of is it would be easier to implement the ring in hardware than random-access registers, but the B3-21 does also have 7 memory registers (numbered 2 through 8) that are random access at least for the user (although implemented using shift registers). By the time it was developed (1975), there were already a lot of 4-level and 3-level RPN calculators in the west which they surely could have copied. All the later models use a normal 4-level RPN stack (plus lastX).

Pre/post/no-auto-increment Registers

For the B3-34/MK-61/MK-52 series, the article did explain that having certain registers be post/pre increment vs. decrement vs. no change saves program steps. That does make sense now that I think about it, especially since there's only about 100 or so program steps available.

Shift Register Memory and Internal Number Representation

The B3-34/MK-61/MK-52 series apparently have 2,352 bits of working RAM total across several chips, organized as one huge shift register, with an extra 14 nibbles (56 bits) in the coprocessor for the MK-61/MK-52 series. Numbers are represented in BCD using 12 nibbles: 1 for the sign of the mantissa, 8 digits for the mantissa, and apparently 3 for the exponent (which is only 2 digits, but also needs to encode the sign, and also encodes/signals various not-a-number "numbers" like Error). Numbers are stored using 14 nibbles, even though they only require 12 nibbles. Coincidentally, 14 nibbles (56 bits) is exactly how many the HP 35 uses for representing numbers (two more nibbles are used for two more mantissa digits on the HP 35).

Three Levels of Program/Microcode

Each of the main processor chips on the B3-34/MK-61/MK-52 was internally microcoded at two levels, plus a third top level for the actual program. At the higher level of microcode, there are 128 different "sync" instructions which encode 9 lower-level microcommands each, with each of the 128 sync instruction controlling 42 clocks. In 42 clocks, the calculator is able to move (up to) three 14-nibble numbers, process one simple operation on an 8 digit number, or do other tasks depending on what lower-level microcommands each sync instruction specifies. The lower-level microcommands in the sync instructions are encoded using 6 bits each, so there are 128*9*6 bits == 6,912 bits total dedicated to the "sync" micro instructions in mask ROM. These take up the majority of the area of the die.

At the lowest level of microcode, there are 68 different microcommands of 27 bits each, so there are 1,836 bits total dedicated to the lowest-level microcommands in mask ROM. I'm not sure how the (9x) 6 bits in each sync instruction manage to encode 68 (as opposed to 64) different microcommands (9 microcommands per sync instruction), but the article does say that there are 68 different microcommands available not 64.

Finally, at the highest level is the actual program. There are 256 cells holding (7-bit encoded) "sync" instructions for a total of 1,792 bits total dedicated to the highest level program. In total, it seems that each of the main processor chips has 6,912+1,836+1,792 bits == 10,540 bits total of masked ROM, and these are highlighted in three separate green boxes in the photo in the article. The masked ROMs take the majority of the area in the processor. Ring-shift registers (in two separate orange/yellow boxes in the picture) also take a significant amount of area on the die.

Why only 8 digits

It's interesting that these calculators have enough memory in their shift registers to dedicate 14 nibbles to each digit -- enough to represent a 10-digit number plus mantissa and sign -- but they only use 8 digits for the mantissa. There are even more bits wasted in the shift register elsewhere in the "Ms" section. Apparently the intention was to allow these to be used for *either* 56 extra program steps or 8 additional registers, similar to many HP calculators, but this never made it into the final product. Looking at the pictures of the die, and the overall architecture, it makes sense why though. The "sync" microcode instructions take the vast majority of the area of the die, and in the ROM dumps it looks like all 6,912 bits are used. There's simply no ROM space left to operate on 10 digits instead of 8 digits.

Like western calculators, available ROM space is more of a limitation than anything else. (They barely had enough ROM space to get the existing functionality mostly correct.) And also these calculators would have been even slower than they already are if they had tried to operate on 10 digits, and the vacuum fluorescent display would have been more expensive to manufacture and require at least 2 extra pins.


Anyways, there are 2 of these microprocessors on the B3-34 (down from the 3 microprocessors needed on the B3-21) and 3 on the MK-61/MK-52, so there's a grand total of just over 20k or 30k of masked ROM total in these calculators. Each of these microprocessors (more accurately called microcontrollers, since they have built in RAM/ROM) is identical other than the masked ROM. Other versions of these microcontrollers were even used in completely different calculators (e.g. the algebraic B3-32 and MK-44) with different masked ROMs.

The reason given in the article for splitting the functions of the calculator into 2 or 3 identical (other than masked ROM) microcontrollers was to increase yields. This definitely makes sense given that even in the west, yields for finished die were often in the low single digit % into the late 70s, and weren't much better in the early 80s. (It wasn't until the 80s with DRAMs and increased competition from the far east that semiconductor companies started to take yields/eliminating defects more seriously.) I can only imagine how bad yields must have been in the soviet union back then.

ICs in the Internal Pictures of the MK-52

In the internal pictures of the MK-52 in the article, the bare hybrid chips on the left side of the board are as follows:
  • 1302-2: in the center of the other bare hybrids, with a tan-colored dot: the main control processor (also interfaces to keyboard/display)
  • 1303-2: to the left with a red-colored dot: arithmetic coprocessor
  • 1306-2: to the far top left with a green dot and labeled DD6: extra functions coprocessor for the K-shifted functions on the MK-61/52

There are also two bare hybrid chips to the right of the main control processor with brown dots, and these are serial RAM shift registers that form a part of the long 2,352 bit (+56 bit) shift register chain/bus of the system. To the right of that is the clock generator IC with a blue dot. To the right of that in a plastic package is just a quad NAND gate. The large plastic-packaged IC on the MK-52 is the EEPROM. Finally at the far right of the board (partially obscured under the far right resistor array) is a system bus I/O bare hybrid.

Microprocessor Organization

The three main ICs (К745ИК1302-2, 1303-2, and 1306-2) have different bond outs although they are the same die (besides the masked ROM), and are arranged as processor/coprocessors. The main processor can put an operation on the bus and wait for one of the coprocessors to respond with the answer.

The reason why certain functions which result in an Error (e.g. taking the square root of a negative number) take so long is the coprocessors signal an error to the processor by *not* (eventually) setting a bit in the serial shift register chain to signal that response data is ready. The main processor must wait for a watchdog timer to expire in such cases to know that the coprocessor cannot process the data, and only then does it display Error on the display.


Overall, a fairly unique design, and it seems that people in the former soviet union have put a similar amount of effort into studying and reverse-engineering these calculators as people in the west have for western calculators like the old HPs and the sinclair scientific. There are full working emulators for the B3-34/MK-61 that also use the actual dumped ROMs.
Find all posts by this user
Quote this message in a reply
12-07-2019, 01:21 PM
Post: #22
Two ЭЛЕКТРОНИКА publications of modest interest?



Find all posts by this user
Quote this message in a reply
12-13-2019, 07:11 PM
Post: #23
The bilingual MK-52:)
Find all posts by this user
Quote this message in a reply
01-13-2020, 12:01 AM (This post was last modified: 01-13-2020 12:11 AM by edryer.)
Post: #24
Russia 1995 was a chaotic place (I was working there) so surprised even these devices were still produced.

Certainly by 1997 in GuM and TsUM (Moscow) you could buy HP's (although out of reach for many folk due to price) but by 2001 or so saturation was complete (Gorbushka market had everything HP from new 41's thru 49's, likely one of the few places in the world you could buy a new 41 in 2001!) and with wages higher these things were not unusual.

Many Russian friends owned the 41 ))

Likely 1995 or so was the trailing edge of production of these soviet era calcs!

HP-28S (1988 US model), DM41X (2020)
Find all posts by this user
Quote this message in a reply
11-03-2021, 04:59 PM
Post: #25
(11-24-2019 06:42 PM)Ignatz Wrote:  
(11-23-2019 05:24 PM)watchmaker Wrote:  They are not LEDs, but vacuum fluorescent tubes. Soviet calculator LEDs were only red, very similar to HP's.
These calculators do not distinguish between real and integer numbers when calculating power functions, they always do them as x^y=10^(y*lg(x)). And unlike many Casios and TIs, they DO NOT hold one or two more digits in memory, they hold only what they display...

(11-23-2019 05:27 PM)watchmaker Wrote:  By the way, MK-52 is also post-Soviet: it has a narrow 2-pin power jack introduced approx. May 1992 (the same one as in MK-61). Before that date MK-52 had a wide 3-pin jack.

(11-23-2019 11:24 PM)Paul Dale Wrote:  They are way more accurate than slide rules. I expect they'd be fine for a space program.


(11-24-2019 03:03 AM)ijabbott Wrote:  The slide rule would probably not fall apart as easily as these calculators though.

(11-24-2019 09:46 AM)badaze Wrote:  If you need a maraca and you don’t have you can use your MK 61.
BTW if you have an Elektronika MK 85 you can use MK 61’s charger.

(11-24-2019 10:09 AM)Nad Wrote:  I have them both and love them, they're GREAT calculators. They even supply you with a circuit diagram. Super cool!

I think someone here even did an English translation of the manuals.

Russia's the only country that can currently send people into space (and bring them home!), so they must be doing something right.

(11-24-2019 11:56 AM)watchmaker Wrote:  But it would be better to stabilize it with a 7806.

Thanks for the replies, everyone!!! ... I must admit to being particularly taken with the brutalism of the MK 52... it even has a row of expansion ports up top... I wonder what they were for?

If you want to dive deeper into that misterious port to left, here are some links that

...Also, If you would like to know more info about yours, here are some intereting links:

Get to know where yours was made:

Play around with the pc emulator with a big program library:
Visit this user's website Find all posts by this user
Quote this message in a reply
11-03-2021, 05:49 PM
Post: #26
(11-03-2021 05:25 PM)Ajaja Wrote:  
(11-03-2021 04:59 PM)voltaage Wrote:  Play around with the pc emulator with a big program library:
Calculators 3000 does not emulate MK-61/52 very accurately.
I would recommend one of those web-emulators:Эмулятор МК-61.html

Yes though, the speed is clearly improved because it is being excecuted on a pc. Nevertheless it's a great source of many programs you can implement into your calc as well as many other Elektronika branded devices. The best emulator I've used so far is url=]
Vadym Khokhlov's[/url] android one. The timings as well as for all the bugs are there. It is awesome. It also includes a great portion of the Lord_BSS project program lib as well.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 

User(s) browsing this thread: 1 Guest(s)