Motivations
Shortly after unboxing a shiny new SwissMicros R47, you will want to begin customizing it to your preferences. This article will not attempt to provide a comprehensive guide to every configurable item, but rather show the main paths to take and suggest ideas for fruitful spots to visit early in your journey.
🟧 PREF
Start customizing your R47 here. The initial display shows a single-line menu, but there are two more pages collectively containing 5 more lines of configurable items, available via the ⬇︎/⬆︎ keys. There are several items here that are likely targets for Day 1 changes:
eRPN: This is the modern variant of RPN pioneered on the HP-28S and seen on all later RPL machines, plus ones like the HP 20b and 30b. It is the default on the R47. The easiest way to discern the RPN flavor is to press
4ENTER⨉. If you got…- …four times the prior value in X, it’s eRPN
- …always 16 regardless of the prior stack contents, it’s classic RPN due to duplication of the 4 on stack-lift.
I find eRPN to be an improvement, but then, I do not have deep-grooved habits that depend on that duplication behavior. It’s the opposite with me: on 1-line displays I frequently find myself needing to slow down and think before hitting
ENTERlest I create a hidden copy of X up in Y. This quirk of classic RPN is more tolerable on 2-line machines like the HP 35s or 4-line ones like the R47, where I can see my error immediately and recover, but I believe I will enjoy eRPN enough to miss its lack when picking up a vintage machine.SSIZE8: This default sets the stack size to 8, in contravention of HP’s longstanding 4-register stack in all non-RPL machines. This innovation goes back to the WP34s, the R47’s oldest lineal ancestor. If you are used to the original HP behavior, you might want to set
SSIZE4, but I suggest giving the new method some time first; you might find yourself coming around to liking it.Those not stuck in an old groove may still wish to revert to a 4-register stack on the grounds that the R47 display shows the lower 4 stack registers by default, so setting
SSIZE4syncs the display with what goes on underneath. If you press theR↓key on a machine like the DM32 where there are exactly four stack registers, always visible, observe that the prior X value reappears at the top of the visible stack, in the T register. This also occurs on the R47 withSSIZE4enabled, but when you haveSSIZE8enabled instead, the prior X moves into D because the upper four registers are called A-D, a fact you can verify by pressing 🟦REGS.
🟧 DISP
Decimal Number Display Modes
It should surprise no one that the lowest (unshifted) row on the first page of the 🟧 DISP menu gives the most important calculator display modes. These all control how many digits to display after the decimal (radix) mark, and in which number format. The classic HP modes are here, plus more. Briefly:
- ALL: Akin to the default display of classroom scientific calculators, but with surprising differences.
- FIX: Fixed-point decimal
- SCI: Scientific notation
- ENG: Engineering notation
- SIG: Significant figure limiting
- UNIT: Show units
There are many details beyond this, which is why I have carved this section off into a separate article.
Locale
The second page of 🟧 DISP options gives a choice of six common locale settings:
- 🇨🇳 China
- 24-hour time
- YYYY-MM-DD dates
- radix separator: dot
- integer group size 4, comma separator
- fractional group size 4, comma separator
- 🇪🇺 Europe
- 24-hour time
- DD.MM.YYYY dates
- radix separator: comma
- integer group size 3, space separator
- fractional group size 3, space separator
- 🇮🇳 India
- 24-hour time
- DD.MM.YYYY dates
- radix separator: dot
- integer group size mixed 3 and 2, comma separator
- fractional group size 2, comma separator
- 🇯🇵 Japan
- 24-hour time
- YYYY-MM-DD dates
- radix separator: dot
- integer group size 3, space separator
- fractional group size 3, space separator
- 🇬🇧 UK
- 12-hour time
- DD.MM.YYYY dates
- radix separator: dot
- integer group size 3, space separator
- fractional group size 3, space separator
- 🇺🇸 USA
- 12-hour time
- MM/DD/YYYY dates 🙄
- radix separator: dot
- integer group size 3, comma separator
- fractional part ungrouped; no separator
These single high-level settings control multiple display flags in a coordinated fashion, suited to each region’s common rules. There are other associated settings such as which day begins the week, which date the Gregorian calendar took effect in that region, and so forth.
The DFLT setting is the mode the R47 ships in, but it directly controls only these settings:
- 24-hour time
- YYYY-MM-DD dates
…plus a few others. Everything else it takes from the IPART, RADIX, and FPART menu settings. That makes this mode more broadly useful, being tunable to local preferences.
🟧 PREF DMCP
This is the first item on the first page of the PREF menu, but it deserves to be called out specially because it gives access to a key menu for the underlying SwissMicros DM Calculator Platform, atop which the third-party R47 software runs. It offers little in the way of PREFerences, making this a strange place to find this menu, but there is one big exception…
Setting the Real-Time Clock
Before we begin, set the locale per above, unless you live in the USA, in which case you will use DFLT instead because there is no reasonable justification for the idiotic MM/DD/YY format, amirite?1
Indubitably! 🤓
You may now set the current date2 using a sequence like this:
2025 ENTER 11 ENTER 08
🟦 CLK 🟦 zyx→𝔻
⬆︎ 🟧 SETDAT
The new value (2025-11-08) should appear in the status line at the top of the calculator’s display, in your locale’s date format.
This is the method I puzzled out within an hour of unboxing the calculator. Shortly after posting an early version of this article to the HP Museum Forum, Paul Dale — the “P” in “WP34s” — pointed out that you can pull up a setup menu via 🟧 PREF DMCP which gives access to the 5. Settings > menu, where you can set the date and time in a more natural manner. This also gives access to other related settings like setting the time and date formats.
You should now be able to set the time without further guidance, but if you found my newbie date-setting example above amusing, you might be interested in learning how to set the time the hard way.
🟧 PREF CFLG
This is a meta level above both the PREF and DISP menus we toured above, containing all the configuration flags previously covered, those we skipped past, and still more exposed via other paths. It is the master catalog, but by that very fact it should be your last resort for finding a setting.
That said, this is the only way to find obscure settings, a few of which are worth your consideration early on:
1024ⁿ: Setting this flag and then entering
UNITdisplay mode causes integers to be shown in SI information units: kibi, mebi, gibi, etc.UNITmode sets the maximum length of the displayed value in digits, plus 1, so that with UNIT 2, an entry of 65536 is shown as “64.0 Ki”. It is easy to then switch back to raw bytes or bits or whatever by changing to ALL mode.⬅︎ DROP: When you delete all digits of a partial entry, this setting causes that last backspace to take on the effect of the
DROPfunction found on later HP calculators. There are alternatives:R↓3🟦STKDROP𝑥- double-tap the
⬅︎key - backspace to produce a zero, then
+
Enabling this setting also causes backspace to drop closed entries, avoiding the need for the
CL𝑥+workaround paralleling that final alternative above, the primordial HP way.dℤ.0: Display integers using the same formatting as reals but distinguish them with a leading
ℤ:prefix on the stack. This makes the R47 appear to operate more like legacy HP machines — which lack a distinct integer type — without losing the underlying difference or preventing the user from making the distinction visually.(Those who wish their R47 to treat all keyboard inputs as real numbers can set iℝ, exemplified below.)
This mode has the pleasant (IMHO) side effect that a big ol’ blackboard
ℤ:is far more difficult to miss than the absence of a decimal radix mark in situations where it is important to realize you are working with an integer, not a real.The R47 will at times use this same prefix in its default operating mode, but this setting makes it unconditional.
TODO: Ideas solicited!
Exercises
By way of showing off the above options and several more in passing, let us reconfigure our R47 to emulate the numeric input and display limitations of a beloved old HP-15C. Distilled to the shortest key sequence I could come up with, it is:
🟦 CLR 🟦 RESET YES
🟧 DISP FIX 03
🟦 IPART COM, EXIT
🟦 RADIX WDOT• EXIT
🟦 FPART NONE EXIT
⬆︎ dSTACK 1
🟦 RNG 0099
🟧 PREF SDIGS 10
eRPN □
⬆︎ ⦿SSIZE4
🟧 ⦿iℝ
🟧 BASE 🟦 WSIZE 36
You should now see something much like this:
We owe the primary feature of this charming 🙄 display to a combination of:
- RNG 99 — 2-digit exponent4
- dSTACK 1 — show X only
- iℝ — input is always real
- SDIGS ≤ 16 — 64-bit FP max
The R47 realizes what we’re attempting and switches to that positively fugly font in revenge for daring to cripple it thus. 🤣 It even switches to the Voyager scientific notation scheme, with a blank spot followed by the 2-digit exponent.
There is a variant of this built into the simulator that even turns off the menus until you call on them. It may be had by running the simulator with the --hp35 flag, but trust me, you want to have your known-good configuration saved first, because the automatic configuration saving feature will cause it to return to this mode on relaunching the simulator without this flag set. Those lacking a backup may recover by saying…
🟦 CLR 🟦 RESET YES
…or by relaunching it with the --r47 flag.
But back to my soft-coded 15C emulation. The SDIGS 10 setting isn’t kosher, but it’s as close as I could come to telling the R47 to limit itself to a 10-digit display. What it actually does is begin rounding when the input exceeds 10 significant digits. This means it will not prevent you from typing in 999 999 999 999 , but what you actually get on the display is one trillion; the Voyagers just cap out at 9,999,999,999. You can see the discrepancy by typing 1.5 EEX 15 into a real 15C in FIX 3 mode versus this emulation; there’s a formatting mismatch until the exponent exceeds 19, when the R47 begins running out of screen space.
Those who do not wish to key in the sequence above may apply these settings by downloading this R47 state file and applying it with 🟦 I/O 🟧 LOADST. I have pared away everything inessential to our immediate purpose here, so it should overlay an existing configuration without changing anything else, but save your calculator state with SAVEST first anyway, just in case.
These same settings work well enough for emulating the behavior of an HP-10C or 11C, and to a lesser extent its more evolutionarily distant family-mates the HP-12C and 16C. You’d want to set FIX 2 mode to match the OOTB experience of the 12C, for instance, and for a 16C, put it into 🟧 BASE HEX mode. (There is much more on that latter topic here.)
The HP-35 mode above harkens back to the very first handheld scientific calculator, but if we want something more like the OOTB experience of the 35-year anniversary model, called the HP 35s, we need but a few changes atop the above 15C config:
🟧 DISP FIX 4
🟦 RADIX PER. EXIT
⬆︎ dSTACK 2
🟦 RNG 0499
🟧 PREF SDIGS 12
The state file for that is here, producing this more aesthetically pleasing result:
This is as close to the input, calculation, and output behavior as I could get, which admittedly is not all that close. The divergence increases the further back you go in that evolutionary line, which began with the HP-32S. The biggest difference I was unable to overcome is that the R47 does not appear to have a mode for selecting e as a scientific notation exponent indicator.
(You may now wish to return to my R47 article index.)
License
This work is © 2025 by Warren Young and is licensed under CC BY-NC-SA 4.0
- ^ It is my privilege as a USian to say this.
- ^ The example is the date I received R47 serial number 00201, ordered from the first production batch on the first day it was available to the general public.
- ^ Yes, it’s hacky, but I felt the need to include it since the method can be found recommended in old HP manuals.
- ^ This is actually its minimum value. The R47 won’t allow you to give a lower value.