HP Forums
New Crash Recovery Function for NoV-64. - Printable Version

+- HP Forums (https://archived.hpcalc.org/museumforum)
+-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html)
+--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html)
+--- Thread: New Crash Recovery Function for NoV-64. (/thread-179529.html)



New Crash Recovery Function for NoV-64. - Diego Diaz - 03-01-2011

Hi all,

Notes on NoV-64 Crash Recovery Function (CRF)

Introduction:

One of the most annoying situations any user has to face when working with HP-41 systems is a crash.

Namely the calculator becomes irresposive to keystrokes and, quite often, it cannot be set back into normal operating condition by merely power cycling.

If the crash involves some "ill" M-code, and if such "illness" afects the polling points area, then the situation can be called a "severe crash".

Up to now, when the above scenario arises, user must wipe his/her memory contents to regain control of the HP-41. With subsequent loss of work and time.

Real HEPAX erases its memory as soon as it was unplugged. NoV's, due to its non-volatile memory, keep their data even when disconnected. To help erasing the whole memory contents, some specific programs were built in order to help in case of "severe crash". The programs are called CLR_RAMx.HEX; being x: 1, 2 or 4 depending on the device they're intended for: 1 for NoVRAM, 2 for NoV-32 and 4 for NoV-64.

A compromise "solution", certainly effective but not very elegant. And it requires reprogramming the NoV module twice.

New CRF for NoV-64:

Considering the amount of time required to write a 4K ROM, the idea of developing a method to recover from a severe crash without the need of erasing the whole memory was certainly quite appealing.

The CRF method takes advantage of the "Reset" feature of the HP-41.

With calculator OFF and NoV-64 inserted, hold down ENTER key while pressing ON twice in quick sucession.

Your calculator will turn ON, HEPAX will be re-allocated into page #C temporarily. All HEPAX functions will be accessible. RAM will be read-disabled, (thus avoiding any polling-point conflicts), but write-enabled, so you can HEXEDIT, and erase any/all xFF4-xFFA contents, while keeping the rest of your work safe.

Note that the control word at H'4100 allows you to select the RAM chip you're gonna work with. Just keep in mind that since HEPAX is temporarily allocated into page #C, you should only select control words H'000, H'001, H'002 and H'003.

Once you've cleaned the offending areas, you can power cycle your HP-41 normally, the system will get back to life and you can get back to work on your favourite program(s).

The link to download the new code for NoV-64 including the CRF functionality is here.

Replace the NoV-64-H.asm file in your working directory. (Keep the previous file in a safe place since this utility should be considered preliminary)

RAM shadowing feature:

Along with the CRF, this new release of NoV-64-H.asm includes the RAM shadowing in a CY-fashion. So when you plug a physical module into your HP-41, RAM pages (if any) at the module's addressing space will become hidden until the module is removed.

Note that the RAM contents will be preserved but, as usual, HEPAX file system may be affected (broken chain) if the module is inserted without removing its addresses from the HEPAX file system's chain.

Enjoy your HP-41's

Best wishes from the Canary Islands.

Diego.

PS. Regarding the RAM shadowing, I've tested almost every single module without any problem, except for the PLOTTER, which seems to also attempts to shadow itself, therefore creating a conflict. Will someone please confirm PLOTTER module behavior on a real HP-41CY?.

Edited: 1 Mar 2011, 9:14 a.m. after one or more responses were posted


Re: New Crash Recovery Function for NoV-64. - Marcus von Cube, Germany - 03-01-2011

Quote:
Up to now, when the above scenario arises, user must wipe his/her memory contents to regain control of the HP-41.

Hopfully not. ;)


Re: New Crash Recovery Function for NoV-64. - Walter B - 03-01-2011

d:-D


Re: New Crash Recovery Function for NoV-64. - Diego Diaz - 03-01-2011

Quote:
Hopfully not. ;)

I'd love to hear other alternatives from you!!

Or was it just to say:

"...the user must wipe his/her NoV-64 RAM memory contents..." ;-))

Cheers from Spain

Diego.


Edited: 1 Mar 2011, 9:20 a.m.


Re: New Crash Recovery Function for NoV-64. - Marcus von Cube, Germany - 03-01-2011

That sounds better. ;)


Re: New Crash Recovery Function for NoV-64. - Ángel Martin - 03-02-2011

Hola Diego,

This is good news indeed, thanks for making all this possible.

I was wondering whether the "RAM shadowing" functionality will be available for other modules besides the NoV64. Is there any technical reason that stops it from working on, say a NoVRAM?

Saludos,
Ángel


Re: New Crash Recovery Function for NoV-64. - Diego Diaz - 03-02-2011

Hi Ángel,

And thanks for your kind words.

To your question, I'm working to add these new features (CRF and RAM shadow) to the NoVRAM and NoV-32 code.

It will take a while though, because the ROM available area for internal code in these previous modules is just one half of the available space in NoV-64.

This is the "technical reason" why it has been 'easier' to implement in the NoV-64.

Will post here as soon as the updates become available.

Best from Spain.

Diego.