HP Forums

Full Version: HP-41 MCODE: System calls - a cataloged/priotitized list?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Does anyone have a cataloged/prioritized list of the most useful HP-41 MCODE system calls - like a QRG of sorts? I have seen bits and pieces around, but nothing like a complete list. Did I miss it? Pointers, anyone?

I never had found a truly comprehensive one but for example Ken Emerys book has useful routines and there were a few PPC articles IIRC that had lists. I basically started collecting somewhere in handwritten notes good entry points.

One person who can provide probably a quite comprehensive and very insightful list of useful entry points is Angel Martin. Unless some of the gurus from ERAMCO, MBK and W&W have kept a list of entry points they used in writing their OS's and can still find it. Either one would be awesome to have...

And I find myself plowing through the MCODE book, Angel's listings, articles, the VASM listings etc. looking for the right entry points. Shouldn't we start a wiki or something and collect and catalog them? If someone has some sort of a starting point with their own list.

IIRC there were sorted and maybe priorized entry point lists in the PPC journals;-)



An excellent source for all conceivable entry points is the document posted @ TOS, under the LABELS ROM manual

I've been using an EXCEL sheet with the COMPLETE CX-OS MCODE (ROMS 0 to 5), where every call is hyperlinked to the corresponding entry point. It's very handy (was key for me to understand the 13-chr math routined for instance) - but still not a fully-documented source, suffice it to say.

Remember which one?

Unfortunately not. They were amongst some paper copies of the PPC journals, maybe in the area when the Assembler 3 EPROM wa a topic.

Approximate time, perhaps?

Aren't you following a false vector here? What good is to have all the entry point names and locations if you don't have the documentation for them?

Here's what I did: disassemble the CX OS using the MLDL2k manager, transfer the text result into Excel, then trace the entry points identified by this process matching them back with the VASM ducuments, then provide an hyperlink to go back-and-forth as required. I use Excel but the same could be done with other vehicle (pdf, for instance).

This "project" is not complete. I finalized ROM0, and ROM2, still working on ROM1. More difficult is the stuff in ROM3 and ROM5 (both banks), as they're not documented in the older VASMs - and neither in MLDL2k manager.

I think this could be the core for an open, Wipi-like, community effort to complete them and add more information as we go...

Just a though.

PS. Look at the LABELS ROM documentation for what you're after...

I agree - as I wasn't only looking for the entry points, but rather the entry points with a short and to-the-point explanation of each. Would be nice to have this as a searchable wiki that anyone could add information to... The "HP-41 MCODE wiki" or some such. Your project would be the perfect jump start, really.

I could simply erect a wiki at Wikia and we're off. What do you say?

Great work Angel. I did the same some time back, and (mainly manually) added the many labels to the SYSTEMLABELS.TXT file that comes with the MLDL2000 manager. The base of the list was actually a listing created with the LABELS.ROM, and the sources of V41. In my opinion the label list that comes with M2kM is now pretty complete, available and free ;)

In general the VASM listing provide sufficient documentation for most of the entries, and the OCR'd listings that Peter Platzer created allow easy navigation between labels.

BTW the LABELS ROM just provide a list of the labels with the addresses, which is also in my SYSTEMLABELS.TXT file.


Yes to all of that Meindert, many thanks for your work with the MLDL2k manager :)

I for one find the VASM listings uncomfortable being in Octal and all that. Peter did a superb job with the pdf scan but somehow my adobe keeps missing what I'm looking for every time,- and it's very time consuming too.

BTW, Do you know if there are lables for the CX versions? Everything comes as criptic "LB_XYZ" and reconciling that with the X-Functions code is a near impossible job.


I do not have any CX labels, only what is publicly available already. I do not understand your remark about X-Functions, I do have the labels of the X-Functions module (not the CX unfortunately).

BTW the new M2kM disassembler has some improvements, maybe that helps you a bit


The mainframe VASM listing I have is in hex. I have seen scans of the mainframe VASM, and they are indeed in octal, like the plug-in listings I have.

The octal listings are a real pain. The only (smaller) pain with the hex one is that it divides everything in 1K blocks and restart the address counter from 0000 in each one.

Here goes - the HP-41 MCODE wiki:


Anyone is now free to add any and all MCODE information on this wiki.

It would be cool if this could build up as a collaborative effort to document HP-41 MCODE; Entry points, nice routines, modules, tips & tricks etc.

That was fast! Great idea,


Yes, a nice project. How do I add an adobe document? I just finished the 13-digit documentation and would be a good one to innagurate it with.

It is best to create a new page and copy the text into the page directly. That way it is fully searchable.

Pure text and images like in Wikipedia works the very best :)