HP-41 New versions of your favorite modules - with an AOS twist :-)


Hi Folks, in case you're interested here's a short detail of the new versions/modules just released:

1. Bank-switched AMC_OS/X, adding a second bank with some powerful stuff to the all-time favorite AMC_OS/X (itself a derivative of the CCD_OS/X, which was extracted from the original CCD Module by Raymond del Tondo). It uses the Library#4, so no changes there. All functions in the second bank are also included in the PowerCL, but now you can burn them in your Nov64 without reaching the 4-page limit.

2. An independent 4k module with the PROGram Generator application from the ACEROM - in its own self-contained package, i.e. no Library#4 or any other requirement. If you're not familiar with PROG you're in for a surprise - worth checking out to see what those folks (Nelson F. Crowle et al) came up with, a huge sized code stream nearing 3k (likely the largest it has ever been). And don't miss the AECROM manual posted at TOS. BTW this 4k module also includes the Hyperbolic functions for a complete experience.

3. A tweak on #1 above, adding a third bank with the PROGram generator on it(!). Granted this is a bit of an extravaganza, but who said it couldn't be done? Its size and particulars make it the *ideal* candidate for a bank-switched implementation, so here it is. This one too can be burned on the Nov-64 without problems (4 blocks in total with Lib#4 included). This particular one "connects" with the SandMath for the hyperbolic functions, in case you wonder.

Looks like all those hours spent staring at the code are finally coming to fruition - hope you enjoy it.


PS. forgot to mention that with #3 plugged in my CL now has 116k ROM on-line footprint... I like it when a plan works.

Edited: 18 June 2013, 10:33 a.m.


Hi Ángel, all,

Your "surprises" are always welcome.

I can hardly imagine what would you be able to get out of an 8 ROM page NoV-64... ;-)

Enjoy your success, we do!.

All the best.



Thank you Angel for the new pearls! I am particularly delighted to see you programming for Nov64! :-)

And yes indeed, Diego, it would be very nice to have an 8 ROM pages Nov64! Or an 8 ROM pages Clonix, capable of turbo speed! :-)


Wow Ángel, you are a true Mcode wizard (not that anybody could argue about it).
As usual a "Thank you" is just the minimum wage... :)


Edited: 19 June 2013, 2:35 a.m.


Glad to see this caught your attention... I have to let you know that an even better enhancement is *coming-very-soon*...

I got it working in two different scenarios, but want to be absolutely sure before spilling the beans :-)

Here's a hint:

I can hardly imagine what would you be able to get out of an 8 ROM page NoV-64... ;-)

well, this one would need nine (9x)!!

My CL has now 120 kB ROM on-line... ahh the sweet taste of success!

To be continued... soon!

Edited: 19 June 2013, 2:10 p.m.


Did you say 9x?

Ok, let's go for a 12x (3 pages, 4 banks each) configuration available for the NoV-64 and Clonix-D. Will this allow room enough for further development? ;-)

Drawback... no HEPAX running... :-(

Or, 8x including HEPAX (2 pages 4 banks each) say #C & #D plus any RAM page used like Q-ROM. Remember the RAM in the NoV-64 is non-volatile and there are 16 such pages available and SW swappable.

The HEPAX emulation can't run on 2x speed machines (sorry Michael) but there are chances to have a Clonix-41/D on real 2x (not 1.7x).

I'll mail you in the next weeks for beta testing.

Cheers from Dominican Republic.



Will this be an optional configuration, i.e. either 12 or 8 pages, selectable at burn time?

Here's the tally for the pages needed and their "owners":

1. 1x page for the Library#4

2. 3x pages for the AMC_OS/X, as per the beginning of this thread

3. 5x pages for the new SandMath (!)

Yes, five pages for the SandMath - anybody guess what's the new addition?? The final obstacle is resolved now (was a bear to handle), but I just removed the remaining limitation so it's about to be a reality...

teaser: honoring its name, the newcomer holds the stuff that originally used the sentence: "Mathematics written in Sand" :-)


5 pages?
That means: 4 bank-switched pages on page C, for example, and one residing on page D? Or did you create an extended bank-switching scheme, including new opcodes, to support 5 banks on one page?? :-)
If you expanded "SandMath" to use the upper page, then we will see versions with 6, 7, and finally 8 pages soon, I bet. You won't rest before you will have accomplished the utmost 8-pages-module.


Diego, did I understand you correctly:
The new 8-rom-pages version of Nov64 allows ram pages to be "plugged" into page E or page F, for example? Or are ram pages limited to pages 8 to B, like it's the case now?
Then pages E and F would always remain empty, which might not be the best solution.


Hi again Ángel, Michael,

Thanks for the advance of the upcoming improvements Ángel.

Can you put some more detail on the bank structure of this pages?

Michael, to your question, I mean that pages #C & #D are an easy target for 4-banked modules, #E & #F are suitable for physical modules, or they can be used if not all the banks are full in pages #C/#D.

Since RAM structure in HEPAX file system requires a *chain* it is not advisable to split it between pages #8-#B and/or #E-#F, I think it is preferrable to keep RAM "all-in-a-row".

This is for now a developing project, so there are many chances to adjust details as required, and whatever the choices I forecats many hours of enjoyment! :-)

All the best from Caribbean.



This is probably nonsense, since I don't have a good understanding on the underpinnings of the Nov64 - but here it comes, pls. ignore it if it's stupid.

I wonder if there'd be any benefit in reducing the number of HEPAX RAM pages, moving some (say two) to the ROM sections, so the module could have 6x pages ROM plus 2x for HEPAX RAM.

I don't mean changing the chips of course, just using 2 of the RAM blocks for ROM purposes.


Hi guys, sorry I wasn't clear in the previous post, let me elaborate.

No, I have not invented/discovered a way to add a fifth bank on a given page - that'd require a new unused instruction (ENBNK5) and modifying the BS support in every system known to man (Clonix, CL, V41,...) so it's pretty much out of the question.

The current SandMath is a 2x2 module, that is 2 pages with 2 banks each. So what I've done is just add a third bank to the upper page, so it's now a 2+3 module:

2x banks in the lower page (SandMath 44), and

3x banks in the upper page (High Level Math).

I could have done it reversed, adding the third bank to the lower page instead (and in fact I did both versions while debugging the pesky issues I struggled with for a while), but on either case the module footprint continues to be 8k. So finally I used the upper page, the "High Level Math" as a more logical location.

Three new functions needed to be added to the main FAT, thus I moved three functions to the sub-functions category to make room for them - but more about that in a separate thread.

Really the ultimate 4x4 module is practically impossible to do, even with secondary and tertiary sub-FATS (which can already be confusing enough). The main limitation is that user code (FOCAL) can only be located in the main bank, and this drastically limits the suitable material, so to speak.


Sorry Angel for my stupid question, of course 2x2 Sandmath already has 8k footprint, I mixed it up with one page - four banks - PowerCL.

@ Diego:
I think many users don't use or need a contiguous block of 4 pages Hepax ram. Ram pages can be managed by a lot of other modules (Eramco RSU or W&W Rambox operating systems, f.e.), and ram pages can house normal 4k modules, like rom pages do.

Probably there are more users who fill at least some ram pages with rom images, than users who need a large free ram space of 4 pages in a row.
Therefore imho flexibility would be significantly enhanced if it was possible to configure pages E and F, for example, to hold ram pages.

Otherwise you have to own and use physical rom modules to plug into port 4. Today physical rom modules mostly are outdated. Look at the CCD module, for example. It physically exists only in Version A, which is not compatible with halfnut calculators! Not to speak about all the improved versions of this module, like CCD-OSX or AMC-OSX.

So in my eyes the two free pages are simply wasted.


Thanks to both of you for clarifying these points.

The total number of ROM pages into any NoV-64 or Clonix-D is 12.

So, since HEPAX takes 4 pages for its own ROM, only 8 pages max. can be loaded when HEPAX is present.

Creating such 2banks + 3banks (8k footprint) is currently feasible with ClonixConfig using either NoV-64 or Clonix-D (selecting Clonix-D in the configuration utility) You can place any other ROM images in the remainng 7 pages.

Just the current version does not allow to join all 12 pages in a single block. If you agree I can mail you an upgrade to put all pages in a row.

This shouldn't be much difficult and can be ready in a few days.

Regarding the number of RAM pages available with HEPAX, there is no problem in allowing an 8k RAM (pages #8 & #9) leaving the rest ROM addresses for the remaining 8 ROM pages. This may take a bit longer to be implemented though.

Keep in touch.


Possibly Related Threads…
Thread Author Replies Views Last Post
  HP-41(CL): The easiest way to transfer FOCAL programs from a Linux PC to the HP-41 Geir Isene 13 5,621 12-05-2013, 02:40 AM
Last Post: Hans Brueggemann
  HP Prime - Short "learning" modules CR Haeger 1 1,341 11-27-2013, 02:13 PM
Last Post: Jonathan Cameron
  HP Prime - most favorite command bluesun08 2 1,460 11-12-2013, 11:29 AM
Last Post: bluesun08
  Library#4 Modules mass-update and New Overlays Ángel Martin 0 1,235 11-09-2013, 05:55 AM
Last Post: 'Angel Martin
  hp41cv memory modules tim peterson 10 3,608 11-07-2013, 11:09 PM
Last Post: Garth Wilson
  Best way to test HP-71B RAM modules (the 32K/96K ones etc.)? Philippe Lasnier 4 2,372 09-25-2013, 09:54 AM
Last Post: Philippe Lasnier
  OT: Google evaluates mathematic expressions (with a twist) DavidShenk 4 2,008 02-13-2013, 09:05 AM
Last Post: Juan J
  Programming CMT EPROM modules for HP-41 Paul Berger (Canada) 4 1,890 01-22-2013, 06:04 PM
Last Post: Paul Berger (Canada)
  Question about X modules for HP41x Ignacio Sánchez 7 2,620 12-13-2012, 07:00 AM
Last Post: Geoff Quickfall
  OT--AOS vs RPN Quad Requirements Matt Agajanian 0 874 08-14-2012, 12:40 AM
Last Post: Matt Agajanian

Forum Jump: