HEPAX chain broken - and fixed


Equipment = HP41CX with NoV-64 and HEPAX file system in blocks 8, 9, A and B. ICEBOX in C and CCD OS/X in D. Blocks E and F open for plugin modules in port 4.

I discovered two days ago that although I could do Cat 9 and Cat A and run the programs in that part of HEPAX memory, these programs would not show up in HEPDIR. I discovered this as I was trying to purge one program residing in HEPAX memory in block 9 and the operation errored and told me it could not find the file. HEPDIR would show programs in block 8 and B only. Blocks 9 and A was left out of the chain.

I consulted the HEPAX manual and found the way to remove a block from the HEPAX chain. It says to write h300 to address xFF3 and h000 to xFE7 and xFE8. If the block is part of the HEPAX file system, the address xFF3 should contain h200. In my broken chain of HEPAX blocks all these addresses (8FF3, 9FF3, AFF3 and BFF3) contained h200 as it should - presumably to indicate the block is a HEPAX block.

This must be known somewhere, but I just couldn't find it: The addresses xFE7 and xFE8 does the actual chaining of the HEPAX file system. The address xFE7 shows the previous block in the HEPAX chain while xFE8 shows the next block. The first block in the chain will have xFE7 contain h000 and the last block will have h000 in the address xFE8.

In my HEPAX file chain, the addresses would be like this:

8FE7 = h000

8FE8 = h009

9FE7 = h008

9FE8 = h00A

AFE7 = h009

AFE8 = h00B

BFE7 = h00A

BFE8 = h000

Needless to say my broken HEPAX chain had different values at these addresse, stringing blocks 8 and B together while leaving blocks 9 and A in limbo. Block 8 had h000 and h00B while block B had h008 and h000. How this happened I don't know. I would suspect a HEPAX bug.

This also shows how it is possible to use blocks in the middle of the HEPAX chain for other purposes. It also show how you can protect a HEPAX block from having programs in there deleted - simply by leaving that block out of the chain.

Don't know if this is redundant or valuable to anyone. Just wanted to write it down somewhere.


Hi, Geir;

I have a NoV-32 that has some weird behavior, too. It installs in block 8 everytime I turn the HP41CV ON, and this breaks the chain in a different way:

8FE7 = h00B
8FE8 = h009

9FE7 = h008
9FE8 = h00A

AFE7 = h009
AFE8 = h00B

BFE7 = h00A
BFE8 = h008

It seems to create an endless loop, but it keeps blocks 9 and A in the chain. Both HEPROOM and HEPDIR return
Even though, CAT 2 shows HEPAX RAM contents, and the programs stored there run with no problems, as if they are stored in regular ROM modules in normal operation.

HEXEDIT allows to edit their contents and system gets back to normal operation after correcting 8FE7 and BFE8 to 000. It goes OK up until the calculator is turned OFF and back ON. In fact, it never turns back ON regularly, I need to press and hold [CLx] while pressing and releasing [ON] at least three times. The display then shows:

[CLX       ]
and the calculator is back ON, but the chain is broken again (same 8FE7/BFE8 loop). I loaded NoVRAM and NoV32 firmware with no success.

Any suggestions?


Luiz (Brazil)


Try starting the HEPAX file system at block 9 with 9FE7 = h000 and end it at B with BFE8 = h000 and see what happens.


OK, Geir, thanks; I got it. I'll try it right now.

But what about block 8? Should add 300 to disable it? You see, I once 'found' that HEPAX installed itself in block F... I happened to have CCD-OSX installed and tried CAT all blocks after block B. Surprise! CAT F brought -HEPAX 1D- instead of expected NO ROM!

I´ll post a followup ASAP. Thanks again.

Luiz (Brazil)


Hi, Geir;

I finally managed to have my HP41C back to work and I tried the suppress block #8 from the HEPAX chain. Because of a simple fact I cannot change the contents of the block #8: HEPAX refuses to go to a lower block, so if I try HEXEDIT 8000 I get

as expected.

I had the NoV32 reloaded this morning but I´ll try again in another computer. I saw some updates at Diego´s CLONIX homepage and I'll see if there is anything new to try.

Best regards.

Luiz (Brazil)

Edited: 14 Nov 2009, 12:45 p.m.


Hi Geir, Luiz,

Good to see your posting back... ;-)

And sorry to join this thread somewhat late but I've got no daily access to the net here.

Most weird behavious like these described inhere are due to "garbage" left behind into any RAM page.

Erasing RAM contents usually turns things back to normal... and then re-progam with latest update.

Let us know the results.

Best wishes from Caribbean Sea.



Hi, Diego;

thanks for your answer. And yep, I´m trying to keep the status quo as a regular contributor again... Thanks! 8^)

I actually loaded the module with novclr32.hex and tried to check RAM contents after that, but HEPAX was setting itself again at page #8, so when I tried to use CLRAM (with the 'OK' in the ALPHA register) for page #8 I got [HEPAX ROM] instead of having it cleared.

I have already done some extra 'housekeeping', and my NoV32 unit seems to feel better now after being configured with the Novram-H.exe instead of being configured with the (expected) nov-32-h.exe In fact, I actually opened the module and made a soldering cleanup, because a couple of years ago I found a broken tag after trying to use it with no success (weird behavior at that time). Anyway, it is not totally stable. I programmed it with David Assembler and related labels in pages E and F, but everytime I turn the calculator ON it sees only David Assembler (CAT 2), and I have to turn it off, remove and reinsert the module, turn it on, try CAT 2 again, up until it sees HEPAX. I tried it in all four ports and different calculators (halfnut and coconut), but it happens the same. This NoV32 is the same one that had never accepted the second RAM bank, remember? Is there any chance that a faulty RAM IC does that? I thought about removing it and have the NoV32 reduced to a NoVRAM, but I am not sure about which RAM holds the second bank. To be honest, I opened the NoV32 case so many times that I think it will not survive another 'surgery', but I am worried about the need to remove and reinsert it so HEPAX comes to life.

I will load it with the new SW available (dated 2007) at your site and let you know, OK?

Best regards and thanks again.

Luiz (Brazil)



Certainly a SW version update is advisable. I cannot remember how old is your NoV-32 but I'm pretty sure it's from the very early batch. Some improvements in the RAM chips swaping were introduced after that.

If NoVRAM-H.HEX is working as expected then the RAM chip #0 is definitely OK. However, chip #0 turns to be chip #1 in the NoV-32 implementation; therefore, we cannot yet discard a HW malfunction on the other RAM chip.

I can mail you a modified NoVRAM.HEX for testing purposes if you think it can be any help.

Just in case you cannot manage to get your NoV-32 back to fully operating condition, I'll gladly repair/replace it when I get back to the Canary Islands.




Hi, Diego;

I´m worried about the fact that I extended a surely private conversation to a public domain. Sorry... It was about midnight and I was tired, I should have asked to go ahead with e-mails. Well, let´s do it, then...

linux_lcv [AT] yahoo [punto] com [period] br

Please, send the modified NoVRAM.HEX to this e-mail as well.

About replacing or repairing this NoV32: please, do not worry about this. I would rather buy a new unit and keep this one for testing purposes. It´s been a way of testing calculators as well, so it´s worth having a programmable, all-purpose module. It usually works fine when programmed with common ROM´s (applications) or other controlling ROM´s: CCD, AECROM, M2KROM, David Assembler... But if I want non-volatille RAM i must load HEPAX, and then... And I also have a NoVRAM that works flawlessly, a perfect gem, and two MLDL2000 also fully working.


Luiz (Brasil)

Possibly Related Threads...
Thread Author Replies Views Last Post
  Broken keys on HP Prime? Tarcisi C 0 526 12-10-2013, 05:59 PM
Last Post: Tarcisi C
  HP PRIME: Fixed 4 number format 0.001000 Joseph Ec 18 2,212 11-07-2013, 11:51 AM
Last Post: Geoff Quickfall
  Is my HP Prime broken ? Michael de Estrada 10 1,298 10-13-2013, 11:16 AM
Last Post: Mike Powell
  Rearanging the "Fixed" sort order of Prime's Apps icons Joe Horn 3 687 10-02-2013, 10:24 AM
Last Post: Han
  Broken HP-97 to spare? davorin 3 690 08-29-2013, 01:08 AM
Last Post: davorin
  [HP Prime CAS] Bugs Fixed CompSystems 1 458 08-03-2013, 02:55 AM
Last Post: Cristian Arezzini
  HEPAX Revisited: Revision 1E available Ángel Martin 4 765 05-03-2013, 01:57 PM
Last Post: Diego Diaz
  NOVRAM 64 / HEPAX bug? M. Joury 2 531 11-03-2012, 02:49 PM
Last Post: M. Joury
  Update (Fixed): Problems concerning HP 82104 card reader Edward Cheng 0 399 09-05-2012, 04:58 AM
Last Post: Edward Cheng
  Working around broken Spice battery connections Les Wright 7 1,042 06-06-2012, 06:50 PM
Last Post: Mike T.

Forum Jump: