Those who have worked with HP's calculators e.g. during university studies, have serious problems in using traditional Windows calculator later when working on their computers at work or at home. The solution for this problem is to install the great HP48 (other models can be run, too) emulator on the PC, which allows using the efficient RPN logic when entering calculations. An quick launch shortcut for the emulator allows replacing all other calculator programs in daily work.
Download and run the installer below to get an HP48-like calculator on your Windows®-based PC.
Tip (added 20.1.2023): I have not updated this package since 2012, so it does not handle high-resolution displays nicely, causing the calculator to appear slightly too big, possibly not fitting e.g. on a laptop screen. To make the calculator window smaller on high-DPI displays:
The biggest problem in the use of the "official" Emu48 HP emulator as a general-purpose calculator is it's inability to reuse the emulator window, i.e. keep only one instance of the emulator running: Every time you double-click your shortcut to show the calculator, a new instance of Emu48 application is started, and this new instance of the emulator cannot load your calculator state file because it is locked by the previous instance. This happens often when the calculator is hidden behind other windows during daily work — the shortcut always tries to start a new emulator instead of simply activating the existing calculator.
After accidentally trying to start a new instance of Emu48, the message This file is missing or already loaded in another instance of Emu48. is displayed. To get out from this situation, you need to click three times (OK—Cancel—Close) to close the new instance and then find the old Emu48 window somewhere.
To overcome this shortcoming of Emu48, I have improved the Emu48 code to include DDE Execute functionality, which allows the Windows Explorer to reuse the existing Emu48 window when calculator is relaunched. Of course, if no Emu48 is running, a new one is started.
The recent versions of Emu48 include "Single
instance" option in the Settings dialog. This problem is therefore
mostly solved. However, there is still no real working Windows Explorer
association in the official versions, which can be done by adding some
ten lines of DDE Execute code.
The default keyboard mapping of Emu48 is not intuitive for all users. It tries to map the PC keyboard key combinations to the corresponding characters on the HP calculator. My approach is easier for heavy HP48 users: map the PC keys key-by-key to HP48 keys. For the numeric keypad and letter keys there is an evident association. The right-shift, left-shift, and alpha keys can be mapped to Ctrl, Shift and Tab keys on the left side of the PC key board, in the familiar order. ESC, Space, Delete, and Backspace can do the rest.
Primary key-to-key mappings (all HP48 keys, 49 pcs) | ||
---|---|---|
PC key | HP48 key | Note |
0...9, +, –, Enter | 0...9, +, –, ENTER | Both on the PC main and numeric keypad |
×, ÷ | ×, ÷ | On the PC numeric keypad only |
, | . | Comma on the PC numeric keypad |
Space bar | SPC | |
A...Z | A...Z | |
Delete | DEL | |
Backspace | Backspace | |
Esc | ON | A.k.a. Cancel |
Tab | α | Keep pressed or press once/twice like on the real calculator |
Shift | ┐ | Keep pressed or press once like on the real calculator |
Ctrl | ┌ | Keep pressed or press once like on the real calculator |
Supplementary keyboard shortcuts (most of the remaining Finnish/Swedish PC keys) | ||
PC key | HP48 key | Note |
↑, ←, ↓, → | K, P, Q, R | PC arrow keys are same as K, P, Q, R |
Menu | L | Windows context menu key |
' | × |
Use apostrophe key for × if no numeric keypad |
§ |
÷ |
Use section key for ÷ if no numeric keypad |
. | . | Full stop on the PC main keyboard |
, | ┐+. (,) | Comma on the PC main keyboard |
Å | A, ┌+9 | α-mode must be on; Shift+Å works also |
Ä | A, ┐+9 | α-mode must be on; Shift+Ä works also |
Ö | O, ┐+9 | α-mode must be on; Shift+Ö works also |
< | ┐+2 | α-mode must be on |
> (Shift+<) | ┌+2 (LIBRARY) | α-mode must be on |
| (AltGr+<) | ┌+J (MEMORY) | α-mode must be on |
¨ (accent key) | ┐+9 | The base letter must be typed first and α-mode must be on |
^ (Shift+¨) | ┐+8 | The base letter must be typed first and α-mode must be on |
~ (AltGr+¨) | ┌+8 (PLOT) | The base letter must be typed first and α-mode must be on |
´ (accent key) | ┌+7 (SOLVE) | The base letter must be typed first and α-mode must be on |
` (Shift+´) | ┐+7 | The base letter must be typed first and α-mode must be on |
Home | ┌+K (STACK) | First line in HP48 menus |
End | ┌+Q | Last line in HP48 menus |
Page Up | ┐+K | Previous page in HP48 menus |
Page Down | ┐+Q (VIEW) | Next page in HP48 menus |
Insert | ┌+α (ENTRY) | Toggles insert/overwrite |
Keyboard shortcuts for miscellaneous emulator functions | ||
PC key | Emu48 function | Note |
Ctrl+Insert | Copy Stack | MS-DOS keyboard shortcut for Copy |
Shift+Insert | Paste Stack | MS-DOS keyboard shortcut for Paste |
F1 | About Emu48... | |
F12 | Save Object... |
PanuWorld's keyboard mapping file works also with other PC keyboards than Finnish/Swedish. However, there will be some irrationalities, especially at the punctuation keys. This is because Emu48 processes the PC keys by the positions on the keyboard, ignoring the characters printed on the keys (which vary depending on the keyboard language).
You may edit the mapping script to match better your non-Finnish keyboard. The PanuWorld's version of script KEYBOARD.KMI (installed only if Swedish/Finnish keyboard mapping is selected) contains examples how to generate the HP48 key combinations and key sequences based on PC key combinations (compare script code to the table above). Some of them needed rather tricky KML scripting.