New Crash Recovery Function for NoV-64.



#8

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


#9

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. ;)


#10

d:-D

#11

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.


#12

That sounds better. ;)

#13

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


#14

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.


Possibly Related Threads...
Thread Author Replies Views Last Post
  HP50g: Writing a function that returns a function Chris de Castro 2 264 12-10-2013, 06:49 PM
Last Post: Han
  HP-41 Clonix&NoV's SW Update. (For the non-Primer's guys out there... :-) Diego Diaz 21 755 11-13-2013, 09:00 AM
Last Post: Ángel Martin
  Another Prime crash Stefan Dröge (Germany) 2 173 11-06-2013, 01:48 PM
Last Post: Stefan Dröge (Germany)
  HP Prime Crash bluesun08 5 277 11-04-2013, 05:16 PM
Last Post: Michael de Estrada
  HPprime CRASH and mysterious clepsydra indicator fabrice48 3 256 10-30-2013, 03:17 PM
Last Post: cyrille de Brébisson
  HP PRIME - Crash with "REPLACE" cmd ? dg1969 0 119 10-21-2013, 03:25 PM
Last Post: dg1969
  HP-41CL & NoV(-64): Race condition? Geir Isene 11 575 05-03-2013, 01:59 PM
Last Post: Diego Diaz
  Latest Clonix/NoV's SW update. Diego Diaz 5 284 02-15-2013, 12:12 PM
Last Post: Ángel Martin
  [Clonix/NOV] NoV-64 backwards compatibility Doug (NYC) 0 145 01-20-2013, 11:21 AM
Last Post: Doug (NYC)
  [41CL] Lockup Recovery Procedures Dan Grelinger 1 142 01-11-2013, 05:53 PM
Last Post: Monte Dalrymple

Forum Jump: