Originally Posted by Administrator on Thu Feb 06 2020 20:58:00 GMT-0500 (Eastern Standard Time)
The Elektronika MK-52 has limited support for Hexadecimal characters, although with a strange character representation for hex values >9. It's similar to what happens when you send a value >9 to a 7447 BCD display chip (but different specific characters)
Basically, the full "character set" for this calculator is 0123456789-LCГE_
For most of this text, I will be using "r" , which looks similar to the Cyrillic letter "Г" that sounds like a English "G" or "Ghe". Also "_" is a blank. A space is printed -- not an underscore.
This leads to the phase "EGGOG!" which is how a Russian person would pronounce (perhaps exclaim) the displayed "Err0r". Although to be clear, I'm not implying that any Russian today would actually exclaim EGGOG! unless they were a particularly geeky Russian that happened to be from the time of Vintage Elektronika Calculators. Writing out 0123456789-LCГE_ as Hex 0123456789ABCDEF You can see that "Err0r" is actually spelled out in the MK-52 using the hex number EDD0D.
Hex to MK-52 Character Translation Table:
If we also use numbers such as 0 for "O", 1 for "I", and 5 for "S", we see that we can spell out a lot of English words. For example, one could use "C0rrECr" as a recognizable "Correct" for successfully completing a "guess the numbers" game, or "C00L" for "Cool". Or the old calculator joke of "80085" which can be read out as.... Well, you get the idea.
But how do we type these "words" into the MK-52? It doesn't have a hex mode, and the keys with a...e marked under them refer to Registers R(a)...R(e), and cannot be used to enter those characters.
Here's an easy way to quickly store a "word" in a register:
Start with an "8", then decimal.
Continue with an 8 for every hex character, and a 0 for every "regular" (0 - 9) number.
Press Enter(B↑).
For example, to write "ERROR", as the calculator does, we would type:
8.88808, followed by Enter (B↑).
Again, start with an "8."
Continue with the normal values for regular (decimal) numbers (digits where we entered a "0" above, and the following for hex values >A, where 2=A ("-") 3=B ("L") 4=C("C") 5=D("r") 6=E("E") and 7=F(" ")
To continue our example of writing "Err0r", we would enter:
8.65505
Since we have to precede the values with "8.", we can make alphanumeric words of phrases with a maximum of 7 characters, including spaces.
Press K then the down carat (blue character above the /-/ key) to Logic "OR" the 2 values.
You should have the word you want, preceded by "8." But don't worry, we can exploit one of the may "features" of this calculator to get only the text we want, and to get the period at the end.
For the example of writing "Err0r", we would have
8.Err0r displayed.
Get rid of the "8." by taking the fractional part (Press K then {x}), which fortunately fails to convert the hex characters to a decimal number like almost all of the other functions do.
But now the display is kinda messed up. The period is in the wrong place, and there is an -01 showing.
For the example of writing "Err0r", we would have
E.rr0r -01 displayed.
No problem -- We can move the decimal (period) by raising the value to the number of characters. Press BП
(EXP) followed by the number of characters. Don't press Enter.
Since Err0r is 5 characters, we would enter:
BП 5 (BПis read as "Enter Power, it would be the EE -- "Enter Exponent" or the EXP key on a western calculator.)
Store it in a register of your choice:
X-П (r), where r is the chosen register (0 - e). This time we would use the a -- e keys printed under the respective keys to store it in a register location >9. Note that there is no register(f).
You should have the desired "text" Displayed (The display is the X Register) as well as in the Register you chose.
For the example of writing "Err0r", we would have
Err0r. displayed, and stored in register 0.
Let's do another example:
To write "Cool", enter:
8.8008
Enter
8.4003
K OR
K {x}
B 4
X-П 0
"C00L" is displayed, and saved in R(0).
OK, so that's -- Well -- "C00L", but as soon as we turn the calculator off, we'll loose it. How do we save it to EEPROM?
Next Post: Saving the characters we've typed.