HP-16C...on a CX


I would like to know which is the best emulation of the hp-16c...on a 41CX.

I tried to bid on the 16c, but the price is simply too much for my pockets.

I have found an example on how to implement a bin,hex,oct calc with a 41 plus reading the development rom manual, but it is limited in the word length (32bit in hex, 10 bit in bin). It works well, but 10 bits are too low for my needs, I need at least 16/32 bits.

I am bored to use windoze calc, so I am not searching an emulation that runs on a pc...


Giuseppe Marullo


Hi Giuseppe:

The Grapevine book ""Using your Advantage ROM: Computer Science" features an excellent program that simulates an HP-16C in any 41C/CV/CX using the Advantage ROM. The whole book is dedicated to describe the implementation of such comprehensive simulation.

I suggest you try and get a copy, either physical or in CD if it does exist which, alas, I don't know.

Best regards from V.


Giuseppe, you have new mail!




this is not an emulator, instead a set of programs and routines I wrote in the 80's to accomplish some tasks.

The DIGI Pack for the HP41CX or C/CV with X-functions

The PDF contains all programs listings in the last pages, but the text is not yet finished... Sorry! Anyway, the routines not described in the main text have their global labels shown in the first page (keyboard assignments suggestion) and their use are close to what you have in the HP16C. I thought about an improved version, with stack integrity, but I am not sure if it is worth trying... In any case, I see that the wizards around here know how to generate a ROM module with programs, and I think that it's the time to put some fellows together and think seriously about it.

There is an additional routine written by another contributor sometime ago that I did not include because I didn't contact him and ask for permition.

Let me know what do you think about it. Of course, anyone else that wants to give the programs a try is welcome, as well as any feedback.

In time: DIGI uses flag 3 to indicate out-of-reange instead of flag 5 (HP16C) because both DIGI does not shown leading zeroes and flag 5 has no anunciator in the HP41 display. Also, DIGI uses flag 4 to indicate carry.


Luiz (Brazil)

Edited: 8 Mar 2004, 3:44 p.m. after one or more responses were posted


Dear Luiz,

your documentation about the DIGI pack is really proffessional. Nice to have would be the complete describtion of all the existing functions...

May be someone creates an program soultuin which uses the advanced features and commands of the CCD-Module .

Regards from Germany - Christoph Klug


Hello, Christoph;

thank you for your encouragement.

I started dealing with the HP41 in 1981/1982, and I was not aware of what was going on outside Brazil related to non-HP ROM's till 2001, after reading many posts at this forum. I felt myself as if I lost the best of the HP41... But I still believe I can get back to these "stuffs".

I'd like having the chance to develop something, but I did not get to the point I can develop specific HP41 hardware by myself, so I'm waiting till I get the chance to have at least the CCD, or the Advantage or one other module I don't remember the ID (not the PANAME, I think it's the HEPAX) and one of yours PC-based HPIL connector so I can upload and download data directly from/to the HP41 to/from the computer. Time will tell...

About programs, that's another idea: I still think we can generate good program ROM modules with our own codes, but each global ALPHA label demands an XROM number, so we should get into a common choice for custom ROM with programs.

Oops! Time to get to my students... I must be teaching in about 30 minutes from now.

Best regards.

Luiz (Brazil)


Hi Luiz,

Congratulations on your DIGI pack ... Excellent work !!!

Best regards.


Valentin, Massimo and Luiz,
thanks all for your answers. I already have the pdf mentioned by Valentin, I will take a closer look.

Actually, it seems to me that the biggest problem is input limitation on binary numbers, this is caused by the function that let you input different base numbers.

On binary, it is limited to 10 bits, using DEVELOPMENT ROM, I must suppose is the same using the Advantage (just tested with V41, it seems the same).

I have taken a peek at the pdf from Luiz and I must say it is impressive, but I don't know if it is a quick way to "build" a calculator emulator.

I mean, I need a easy way to input numbers, I am not sure how to bypass this limitation.

I was thinking in using ALPHA input, but I don't know how to input "1"s and "0"s without using the shift.

I begin to think that a MCODE routine is the only solution...


Hi, Hrast, folks;

thank you, Hrast! As I know what you've already done, I'm flattered...

I replaced the existing zipped file for another one with minor changes in the main text.

New link to the DIGI pack zipped file

All routines are the same (if I am not wrong I wrote them in 1984, perhaps 1985). Some English constructions sounded somehow awkward and I changed them (I hope they are better, now).

And Hrast, I did not get back to our main manual YET (I'll be back soon), as you know what I mean... Anyway, I believe it must look like the DIGI pdf, with a custom ttf for the emulator display characters; what do you think?


Luiz (Brazil)

Edited: 8 Mar 2004, 3:46 p.m.


And Hrast, I did not get back to our main manual YET (I'll be back soon), as you know what I mean... Anyway, I believe it must look like the DIGI pdf, with a custom ttf for the emulator display characters; what do you think?

Excellent :-)


I join the rest of the guys with my congratulations on an excellent package and even better documentation. Although I do have 16C, both yours DIGI and 16E program by Ed Keefe have their place in my 41C library. I am even going to turn them into a ROM image but need to do some routine renaming since there are some that have identical names. I also created couple of simple programs for keys assignments for both programs following the documentation suggestions (requires Xfunc). Anybody is welcome to .TXT listings for these and Ed Keefe's 16E (if you do not want to key in 800 program lines).

One question for you Luiz and couple of suggestions (minor bug fixes):

On the key assignment picture there are some routines that are not in the document (at least I didn't get them). BSUM (Key:11), SB(-62), CB(-63) and BSTS(-64) are missing. I am not sure what BSUM would be. The rest of them, I guess, deal with setting, clearing and getting status of bits. Any chance that we can get those too?

In your Control Routines you need to clear REG 01 somewhere at the start or so. If REG 01 contains some number from before (say 9) and you want to set the WS at the begging to whatever number of bits, line 43 will look for LAB 09 (that doesn't exist) and give NONEXISTENT.

In B-D I suggest you put CLA after line 07. Otherwise it keeps appending Bn to whatever was in ALPHA.

Best regards from Canada



would you mind sharing the code? I would not retype it from scratch if possible.

Giuseppe Marullo


I uploaded the files to my briefcase @ yahoo. You can find them at http://ca.f2.pg.briefcase.yahoo.com/bc/miki_hp41/rlst. Luiz'es digi is the same as in PDF I just added the keybord assignment program.


Hello, Miki;

thank you for taking your time to share your thoughts. I appreciate that.

About the "default" or "reset" condition. The first version of this DIGI pack had a LBL RST as part of the control routines so the default conditions could be set. I don't remember why I removed it, I guess it was something related to memory use. At that time I recorded all of the routines in magnetic cards, and if I am not wrong, because of a few bytes the Control Routines needed one extra "side" and I had to "shrink" it. Your comment about resetting REG 01 is completely valid, thank you.

The BSUM is the equivalent to [g][#B] (bit summation) in the HP16C. SB and CB are Set Bit and Clear Bit as well, and BSTS is Bit Status, as I was not able to create something functionaly equivalent to [f][B?]. The sequence [BSTS][X=0?] would work as a counterpart. All of them are available at

Complex plus LIF files

Anyway, I'll add text listing soon. If you want to try the Complex routines as well, be my guest...

Thank you again.


Luiz (Brazil)


The DIGI Pack is a wonderful pieece of work and beautifully documented. Have you any other gems like this in your closet which should be shared??

Best wishes...


Hello Gordon, folks;

thank you all for your support and feedback.

Complex Routines plus LIF files

And Gordon, this Complex set is somehow interesting... BTW, I hope you math guys forgive the (a + b j) format instead of (a + i b); I am an Electrical Engineer d:^) but the code can be easily changed q;^)

As you HP41 users already know, please allow each routine to run at least once so the jumping "size" is set and they will run faster after that.

There are two PDF files about the Complex Routines, and they "complement" each other. Sorry not having them ready. And this Complex set was written in the 80's, too. I wonder how useful they would have been at that time... I wish I was in contact with you since then, guys.

The LIF files (with key assignments) included in the zip file are related to both Complex and the DIGI pack. Bit manipulation is included there, too.

Feedback is still appreciated, as always.

Best regards.

Luiz (Brazil)


Hi, guys;

I just want to know if anyone gave Complex routines a try. I thought about an improved version at the time I wrote this one with the use of X-memory registers and leaving main memory completely free, but I never finished it. Any suggestions?

Thank you.

Luiz (Brazil)

Edited: 11 Mar 2004, 2:41 p.m.


Hi Luiz,

It's interesting how great minds think alike... although with a few years gap! Pls. stay tuned for a new project coming out...

Guess what's about? :-)) Two hints:

- it's a little 'complex' to figure out

- the MCODE return stack is damn short!!!



Possibly Related Threads...
Thread Author Replies Views Last Post
  Bought a 16C to compensate a little Eelco Rouw 23 1,791 12-07-2013, 01:26 PM
Last Post: Eelco Rouw
  Shiny new 16C! Keith Midson 7 636 10-27-2013, 02:22 AM
Last Post: Keith Midson
  Joys of eBay: HP-32S, HP-32SII, HP-42S, HP-16C, ... Sasu Mattila 7 626 09-23-2013, 04:39 PM
Last Post: Julián Miranda (Spain)
  HP-16C simulator fhub 12 913 06-30-2013, 10:14 PM
Last Post: Robert Prosperi
  Program for HP-16c... Leonid 9 755 06-07-2013, 08:51 PM
Last Post: David Hayden
  Trading TI Nspire CX CAS for HP Prime Justin Sloan (Honolulu) 2 286 05-09-2013, 04:22 AM
Last Post: Chris Smith
  HP 11C/12C/15C/16C case Philippe Cairic 4 574 11-06-2012, 06:04 PM
Last Post: Matt Agajanian
  Understanding HP-16C integer division Jimi 18 1,243 10-16-2012, 09:13 PM
Last Post: Eddie W. Shore
  HP 41 CX Celso Cipolato 2 297 09-30-2012, 06:38 PM
Last Post: Thomas Klemm
  Killed my 41-CX Halfnut aj04062 7 572 07-10-2012, 07:47 PM
Last Post: Luiz C. Vieira (Brazil)

Forum Jump: