Virtual Museum of Calculators
Menu
C/CE
Calculators
Slide Rules
Others
Manufacturers
Search
Váltás magyarra
Back to Showroom
Sharp
PC-1200
1977-79
Sinclair
Programmable
1977

Elektronika B3-21

Brief History
Although starting mass production of four-function pocket calculators was not easy in the Soviet Union, development of a programmable scientific pocket calculator that could be used in non-computerized workplaces to perform recurring calculations was started as early as 1975. Production of Elektronika B3-21 finally began in 1977 and ran in several plants until 1982. It is one of the few Soviet calculators developed entirely by Soviet engineers, so it does not resemble any Western device. The features of Western types can be discovered in some details, but the architecture and the operating principle are completely unique. Initially built with Hewlett-Packard LED displays, they were later replaced by the Soviet version, but due to their very high current consumption, they soon switched to the use of vacuum fluorescent display tubes. Reverse Polish notation (RPN), which is common in HP calculators, also appeared here, but its operation was different from the usual.

In 1980, the difficult-to-use and highly unreliable model was replaced by the B3-34 calculator.

A version with english labels was marketed in Hungary as PTK-1060 model assembled by Híradástechnika Szövetkezet (Telecommunication Co-operative).

Manufacturer:Калькулятор (Kalkulátor) (USSR)
Mfg. date:1977-82
Size:9,9×18,4×4,5 cm
Weight (ready for operate):n.a.
Type:programmable scientific
Capacity:8/8+2 digits (input/display)
8+2 digits (internal precision)
Operating logic:RPN
CPU:Kvazar K145IK502P
Registers:2 standard
7 memory (without arithmetic)
Features:+/-change sign (direct entry of negative numbers) RVexchange registers (X-Y) Ffloating-point notation Sciscientific (exponential) notation Sqrsquare root x2square pivalue of pi (3.1415..) can be recalled 1/xreciprocal trigtrigonometrical functions (sin, cos, tan and inverses: arcsin, arccos, arctan) logexponential and logarithmical functions (10- and e-base) yxraising to power
Display:15 digit LED (HP)
Power:4×D0,55S rechargeable battery
Programming method:merged keystroke-programmable
Program capacity:60 steps
Test results:trigonometry:result of sin-1(cos-1(tan-1(tan(cos(sin(60°)))))), reference value: 60. -
exponential:result of 0.999160000, reference value (first 14 digits): 3.0068804206375×10-70 2.731791E-70

Elektronika B3-21

Inside of the B3-21

Keyboard and display of B3-21
Detailed Description
Construction of the B3-21 The mechanical construction of the machine is surprisingly good quality, the same can be said for printed circuits. Of the latter, there are two pieces that fill almost the entire housing, the bottom contains the four main integrated circuits of the calculator: the calculator circuit set K145IK501P / 502P / 503P and the RAM IC K145IR1, while the upper circuit contains the Klixon keyboard and display elements.

The chipset in the calculator has an interesting structure: the main circuit is the K145IK502P, which is connected to the keyboard and display, and the K145IK501P and K145IK502P are similar circuits that only function as ROMs here: the 501P is for basic operations and for functions that can be called with the F prefix key; the 502P stores microcode for other, typically scientific functions. The individual chips communicate with each other in a serial manner - due to this and the clock frequency, the machine is quite slow.

If the decimal point appears on each digit, the machine's batteries are exhausted.

The original charger type BP2-3 works with two voltage levels: when the switch on the bottom is in the Z (charge) position, the device receives a higher voltage: this mode is used to charge the batteries. It can be charged in this way for up to 15 hours without damaging the calculator or the batteries. Otherwise, always switch back to position R (work) for normal operation (without charging).

Using the B3-21

The B3-21 works with 8+2 digit numbers without any guard digit. Because the decimal point is placed within the number, the decimal point occupies an entire digit. As with other Kalkulator-manufactured machines (e.g. Elektronika B3-14M), the display shows 8 digits, so if the decimal point is not in the last position, only 7 digits are displayed.

The functions were separated based on which chip performs the given operation. Buttons that can be pressed together with a function key are indicated by colored frames.

The stack

The machine operates with reverse polish notaion (RPN) system, so all operations must be written (keyed) after the operands. The stack has only two levels with registers X and Y. The input and moving registers up (X to Y) can be achieved by pressing ENTER, here appeared as . Certain operations (e.g. reading from memory) do not automatically shift the stack, but simply overwrite the X register. After performing most of the operations, the contents of the Y register retains its contents, so it can be used as a constant, e.g. 6 × 8 × 8 × 8 can be entered as follows: 8 6 × × ×.

To exchange the X and Y register contents, press x↔y. The ROLL↑ (secondary function of /-/ with P) and ROLL↓ (secondary function of , with P) rotates another stack, the ring-like program counter stack consisting of 6 registers (labeled S1-S6) clockwise or counterclockwise including the X register.

Memory registers

In addition to stack registers described above, the B3-21 has 9 addressable memory registers, which can be addressed by the appropriate number key. The memory register 0 is identical to the X register, the memory register 1 is identical to the Y register. After pressing P and the address key, the contents of X register stores in the given memory register. Similar to that, the F key can be used to recall a value stored previously in a given memory register. Interestingly, pressing P 0 stores X to X, P 1 stores X to Y, so this is similar to . Memory registers 2 to 8 can be used to store numbers.

After recalling a value from memory, we can use the recalled number for two-variable functions with pressing , because recall does not lift the stack.

Carrying out functions

The two trigonometric function work with radians, so first, angles in degrees must be converted to radians. To obtain sine, press P sin, to obtain cosine, press P cos.

The natural logarithm (ln) and exponential function (ex) works as usual with the P prefix key.

Most of two-variable functions can be carried out as usual on RPN machines, so the first operand must be entered into the stack by pressing . After performing basic functions, newly keyed number automatically lifts the stack. Important to know, after obtaining results, Y register always retains its previous content, so can be used as repetitive multiplications and divisions.

Raising to powers is different to usual method: first, the power must be stored in the stack, then the base. E.g. to compute 23, press 3 2 xy.

If overflow occurs, the machine shows that displaying a 0 in the place of sign of mantissa, next to that can be seen the last keyed number. The calculation can be continued or corrected.

Programming the B3-21

To switch to program write mode, press P РП. The two-digit number on the right is the program counter (PC). The program area is divided to 10 pages, and a page stores 6 steps. The program counter shows its value according to that: the first digit means the number of the page (0-9), the second is the number of the step in the according page. The stored instruction code can never be seen. The code numbers at the left side means the stored keycodes in the steps PC-1, PC-2 and PC-3. So reading the program is carried from right to left. The key combinations with F or P key occupies only one step. The program editing keys are the following:

ШГ→ – moves forward one step.

←ШГ – moves backward one step.

P НОП – stores a NOP (No Operation) command at the current address.

Removing steps from the program can be only achieved by overwriting these steps with the NOP command.

A С/П instruction must be programmed at the end of program.
CodeAs addressKey(s)
0100P 0
0201F 0
0302P eix
04030
0504F
0605
1110P 1
1211F 1
1312P ln
14131
1514F x↔y
1615x↔y
2120P 2
2221F 2
2322P π
24232
2524F ×
2625×
3130P 3
3231F 3
3332P ex
34333
3534F ÷
3635÷
37N/AF xy*
38N/Axy
39N/AP С/П
4140P 4
4241F 4
4342P , (ROLL ↓)
44434
4544F 1/x
4645,
47N/AF В/О*
48N/AВ/О
49N/AP x≥0
5150P 5
5251F 5
5352P /-/ (ROLL↑)
54535
5554F x2
5655/-/
57N/AF БП*
58N/AБП
59N/AP x=0
6160P 6
6261F 6
6362P ВП*
64636
6564F √x
6665ВП
67N/AF ПП*
68N/AПП
69N/AP x<0
7170P 7
7271F 7
7372P Cx*
74737
7574F Cx
7675Cx
77N/AF С/П*
78N/AС/П
79N/AP x≠0
8180P 8
8281F 8
8382P cos
84838
8584F -*
8685-
9190P 9
9291F 9
9392P sin
94939
9594F +*
9695+

Table of instruction codes and keys can be used as jump addresses

Jump instruction can be programmed by keying БП, and can be used in RUN mode to start program other than address 00. Programming the destination address is a bit weird: a key must be pressed according to the destination address plus one. E.g. to jump to the address 12, we must press the key belongs to code 13, that is the ln: БП P x↔Y. These were displayed as 13 58.

Conditional jumps can be programmed with the four condition functions, which tests relations with X and 0. E.g. F X<0 gives true result for negative X values. It is interesting, that these conditional jumps operates reversed in comparing to other calculators: if the condition is met, program continues on the step after the jumping command, but the condition is not met (false), a jump was made to the specified address, which can be programmed as described above.

If the jumping instructions are used to calling subroutines, the return instruction can be programmed with В/О. Up to 5 levels of subroutines can be nested.

Running the program

To exit from learn mode, press F АВТ.

To start the program from the current program counter, press С/П. To jump to a specified address (and then start the program from that address), the БП key can be used the same way as within programs. To jump to address 00, simply press В/О.

Interesting features

The machine can be used to calculating exponential function of imaginary numbers, which can be used to obtain cotangent and tangent values.

By pressing P eix cosine of X will be stored into Y, sine of that will be stored into X.

If we are pressing the ÷ button after that, the machine displays the tangents (result of division of cosine and sine).

Mantissa can be modified anytime by pressing the ВП and entering a number, which will be added to the exponent.

Similar items
Искра/Iszkra
B3-23
1976-9x
HT
PTK-1060
1977
Калькулятор
B3-34
1980-85
Design & HTML: Modulit Bt.
(C) www.arithmomuseum.com 2004-2016.