Looking for historical accounts of Programmer's Calculators

a little “gameboy for coding” style pocket z80 would be a really fun exciting thing to have along modern retro-machines like the CX16 and C64-Ultimate. It’s definitely possible, every college student for like 20+ years has had a programmable z80 (TI-84 and relatives) calculator on them by default, but having something actually for coding would be a huge difference.

I wonder if you could also target something like Tandy BASIC or CPM compatability… Not that there’s anything a modern user wants to do (see: video games) on CPM

I started thinking about hardware and got a bit stuck trying to decide if a real Z80 was needed, or an emulator was OK. Real hardware is very authentic, but does mean more hardware to support something like the z80. An emulator is easier to build, the KB and display can be easily scanned etc, and you can switch to a 6502 or whatever, within reason. Plus SD cards etc are easy to add. There is a third option where you have a z80, plugged into modern hardware. More bulky, but real processor silicon, and it could conceivably allow different CPUs to be swapped in.
Supporting CP/M or BASIC needs a full ASCII keyboard so size goes up again.

And thus the seeds of feature creep were sown …

While I’ve never owned a programmer’s calculator, the things I’d need it to do would include:

  • Big, obvious Decimal, Hex, Octal and Binary switches with a clear display of current mode;
  • Display of up to 32 bits of binary, with groupings in threes or fours for readability;
  • ASCII mode;
  • Word length selector for 8, 12, 16, 18, 24 and 32 bits (see also binary grouping);
  • One’s/Two’s complement negation at the selected word length (I can never get this one right);
  • Bit-masks as memories: I set a bit mask, then subsequent numbers I enter will be shown masked appropriately;
  • RPN by default (should go without saying, really);
  • Be impossible to lose, and somehow incorporate technology that will always surf to the top of my midden-like desktop.

I mean, I supposed adding/subtracting, logical functions etc. would all be in there too. But I wouldn’t want to get carried away.

1 Like

if you’re just in assembler, you could probably get away with a deticated keyboard of functions and some number keys (kind of like how Tandy’s portables were often programmable using a layer on the keyboard for typing whole keywords per key press), and you can just have an “ASCII” function for inputting text characters as their index in the ASCII table.

though, with modern technology, I think we could get away with a full keyboard, Something blackberry style would be a perfect fit for this kind of device (even if it’s a bit less “calculator-ey”) The Beepy is a little raspberry pi board that has one of those attached (though they can’t legally show the keyboard on their website, which is why it’s blurred there).

As for actual hardware, I think that comes down to capabilities you want to target. if you’re shooting to just hyper-miniaturize something like a TRS-80, I’d go with real hardware for reliability, but if you want flexibility, a low power FPGA might be a good shot, since you’d be able to program in just about any computer you can use with the built in keyboard and video out. I do like the idea of having swappable CPUs, though that would have its limitations (z80s and 6502s sadly can’t exactly fit in the same socket)

I would personally swing for real hardware, and focus on having mostly standard capabilities, but with a versatile enough graphics chip that you could port lots of z80/6502 (whichever one the machine had. 6502 would be obvious, but I think there’s a ton of 6502 computers getting made right now, and almost nothing z80) code to the thing. Kind of like how the CX16 is, just mini-sized.

I’d also want a programmer’s calculator (not to be confused with programmable calculators, or weird pocket versions of desktop computers) to include half, single, and double percision floating point (or really every variant of IEEE floating point it supports word lengths for), I’d want fully selectable word length as a must (never know when you’ll touch a 1 bit, 6 bit, 12 bit, or whatever else computer), a built in mode for IP address quick functions (which are constantly being fiddled with in bitwise operations, and shown in various bases and whatnot), and also maybe some features for working with high-level coding too (there would be dozens of these depending on what languages you want testing functions for)

your idea of keeping bit masks as an active function is definitely exactly how I’d want it to work also. that would be sooooooo convenient.

Mine was a Sharp EL-506B. Not specifically a programmer’s calculator but it did do hex and octal. Replaced with a Sharp EL-506H years later after it died. I still have that, somewhere. Not sure whether I still have the B.

1 Like

Don’t have much to add really. I graduated in 84 Comp Sci degree. I scrimped and saved for a TI Programmer which I used in my IBM Assembler courses. I still have it, tho it didn’t power up last time I tried. For nostalgia reasons I scored a HP-16c with manual and sleeve recently. I haven’t gotten really familiar with it yet, but found several vintage articles and books on its capabilities and use. I’m a much bigger fan of the HP RPM Voyager calculators than the algebraic TIs I learned on.

1 Like

The original programmable calculators were Elektronika MK-61 - Wikipedia , produced in the USSR/Ukraine. A lot of games and utility programs for these calculators were published in popular magazines. I still have one.

I have an HP-16C (as well as a 15C and 12C modern) and despite it being nearly as old as me, I use it regularly. It sits near me against my keyboard rest and is invaluable for programming. I find it quicker and more satisfying than an onscreen calculator, though PCalc for Mac & iOS is still excellent.

Some nice links that I like:

1 Like

I see there were several Elecktronika programmables:

Edit: but I see that the 61 and 52 do have hex number handling and bitwise logical operations:

I’m pretty sure there will be non-English articles from the time these calculators were introduced, which would explain the advantages and the techniques - could you help us find them? I’m sure machine translation these days will do wonders.

1 Like

The MK-52 was the best in this series; it supported external storage and ROMs. It was even taken into space in 1988 as a backup computer in case the main computer failed! Its extended version was widely used by the Soviet Navy and artillery. Interestingly, the base number for this architecture is 42, which is well known due to its appearance in Douglas Adams’ fiction. There is a good article about the series - Внедрение в архитектуру советских программируемых калькуляторов «Электроника МК-52» / Хабр
While most Soviet programmable calculators were clones of those produced by HP and other well-known companies, the MK-61 series was an original Soviet/Ukrainian design. This series was the most popular due to its affordable price and the lack of competing cheap PCs at the time.
There were several later designs based on this series architecture
Soviet Digital Electronics Museum -- ELEKTRONIKA MC 1104 -- МС 1104 -- Коллекция советской цифровой электроники
Электроника МК-152 — Википедия
Электроника МК-161 — Википедия
ЭКВМ Электроника МК-163
and perhaps the other models exist.
However the best Soviet programmable calculator was the PDP-11 compatible
Электроника МК-85 — Википедия
but it was mostly used by engineers only.
There were other programmable calculators, for example the model from 1970 year
Электроника-70 — Википедия
or
Электроника МК-90 — Википедия

1 Like

could you go a little more in-depth with what you mean when you say the MK-85 was PDP-11 compatible? is it just that the basic programs could be run on a PDP-11?

It only concerns the processor compatibility level. The K1801BM2 supports basic PDP-11 commands and EIS. The calculator only has 2 KB of RAM (6 KB for the MK85M extended model). The calculator is typically used as a BASIC interpreter. It is difficult but possible to use the ML code.

I’ve put together a Z80 emulator (ported from github) running on a Pico in a a small form factor that I put together to run a Psion organiser recreation. There’s a small OLED display and a keyboard. Tha Z80 memory can be saved and loaded from SD card.

Still quite a bit to do, but it’s heading towards what I was after ages ago. It’s probably able to run CP/M, thinking about it.

2 Likes

The SD card got me thinking.
Did not some calculating devices, have some sort of magnetic strip for programs and or data?

Casio PRO fx-1, Sharp PC1300S, that sort of thing?

Yes, that is what I was thinking of, a card reader.
They also came a few times as real cards.

I would like to add an interesting photo.
https://p2.dreamwidth.org/0e854568e4e3/-/www.dorlov.no-ip.com/Old%20Films/1986/Forms/Full/12-24-2010_007.jpg
It features an MK-54 programmable calculator (it a B3-34 variant), a machine for printing digits and several other symbols, and a box that connects the calculator and the printer. This photo was taken in Kharkiv, Ukraine in 1985. A man built this himself to solve the differential equations required for his coursework. This calculator has no ports, so it was necessary to cannibalize a piece of its case and to make some soldering!

Thanks - for preservation and convenience, I paste a crop here:

Here’s Casio’s advert for the CM-100

2 Likes