Keystroke recording on 50G (quite long...)


Hi all.
As often happens to me, reading one of the most recent Forum post (guess which one...)
reminded me to share a little exprience of mine with you.
Even if this Forum is devoted mainly to vintage HP calc, my story is about the 50G - sorry :)
Frankly speaking, it has already been posted on comp.sys.hp48, but I hoped it might be
interesting here as well....

As a contributor to the HP calculators forum (,
I thought it would be fine to get (“automatically” and straight away from the emulator) the
list of keystrokes on the 50G when trying to reproduce an issue or suggesting a solution….

So, I needed a keystroke recording program for the 50G and found this one

The program, unfortunately, does not "run in the background" (as macro
recording on Excel does...) - I mean: it records the keystrokes but in the meanwhile
does not let the calc do what the keystrokes are intended to.

Ideally, I liked to:

1. start the keylogging program - running in background
2. do whatever I like on the calc
3. stop the keylogging progam
4. get a log file with the keystrokes

Then, on comp.sys.hp48, John Gustaf Stebbins pointed me to his own program on

but, in the meanwhile, as I had not been able to retrieve Stebbins' software by myself,
I had gone the "dumb" way, by doing the following:

>>> on the 50G emulator bundled into Debug4x package (by William G. Graves -, I used the

Tools--->Macro---> Record


>>> this left me with a .MAC file, which I was able to convert to plain text by using the
Mac2txt.exe utility which comes with the above emulator;
>>> afterwards, on Cristoph Giesselink's homepage, I downloaded the latest version
of KML (Keyboard Mapping Language) documentation:

where I could find the "OutIn codes” for the HP49G keyboard.
They were helpful to understand how to translate entries on the text files like

"P 3 1"


"press [0]"

>>> I arranged an Excel file with one column filled by all the OutIn codes, and aside each
single substitution to be made, written in a "comprehensible and descriptive" language
(like the "press [0]" above);
>>> I got a shareware (RQ Search and Replace v. 1.72-2 by Andrew Shelkovenko) to
make multiple search-and-replace operations on a file (I couldn't imagine it was so difficult
to find a suitable one - or I was not so smart in the quest :/ ) - I needed one that could
"learn" the search-and-replace pairs from a file (the .xls file I had already set up)
>>> eventually, the steps I could perform were:

1. record a macro on the 50G emulator
2. convert the .mac file to a .txt file
3. feed the RQ Search and Replace program with the .txt file
4. get a file with all the keypresses translated into "descriptive" language.

I just liked to share this with the Forum – maybe some of you were not too bored by my story :-)
And maybe somebody could point me to a "friendlier" program to perform multiple search-and-replace, or to a brand new and more efficient method to achieve my goal...

Any feedback will be appreciated.
Best regards.

Possibly Related Threads...
Thread Author Replies Views Last Post
  HP Prime: Long integers (continued) Helge Gabert 2 482 11-07-2013, 11:24 AM
Last Post: Helge Gabert
  HP Prime: Pass "Long" Integers to a Program Helge Gabert 6 847 11-03-2013, 01:12 PM
Last Post: Helge Gabert
  HP Prime polynomial long division bluesun08 13 1,243 10-30-2013, 03:29 AM
Last Post: parisse
  re-recording original cards aj04062 2 483 09-15-2013, 10:32 AM
Last Post: Dieter
  A very long HP-17BII equation Gerson W. Barbosa 22 1,890 04-19-2013, 12:37 AM
Last Post: Gerson W. Barbosa
  A long WP-34S night Siegfried (Austria) 10 1,047 04-16-2013, 02:11 AM
Last Post: Siegfried (Austria)
  HP-25 left on for a long, long, while Matt Agajanian 12 1,100 04-10-2013, 11:33 PM
Last Post: Steve Leibson
  RPL long vs. short names peacecalc 5 672 10-30-2012, 01:25 PM
Last Post: peacecalc
  HP41 Long term storage Steve Hunt 6 657 09-27-2012, 11:08 PM
Last Post: db (martinez, ca.)
  Most usable keystroke calculator? Sid Cave 32 2,263 01-07-2012, 03:49 PM
Last Post: Lutz Jacob

Forum Jump: