Post Reply 
Try to recover memory?
03-25-2019, 09:05 AM (This post was last modified: 03-25-2019 09:09 AM by franz.b.)
Post: #1
Try to recover memory?
but does this feature exist or is it just a lark mirror?
after a simultaneous failure of the AAA and CR2032 batteries in my 50G the infamous question appeared but did not recover anything.
I have never seen this function work in my past years with 48s, 49g and 50g ...
Sad

EDIT: I also lost the contents on the sd card .. but not in the flash memory ... (?)

Hardware: Hp48S - Hp50g
Find all posts by this user
Quote this message in a reply
03-25-2019, 03:28 PM
Post: #2
RE: Try to recover memory?
Yes it does work, but it seems you haven't encountered any situations yet where it has a chance to recover something. A total power loss causes the RAM chip to wipe its contents, so there's nothing left to recover (flash memory is resistant to this, so port 2 and the SD card both are suitable places for backups). Memory corruption can leave parts of the RAM intact, so that's when recovery becomes useful.
While writing and testing SysRPL programs I've had quite a few instances of memory corruption (due to bugs in my programs, of course). In that case, if the memory area known as USEROB (all global variables, i.e. the home directory and all of its subdirectories) was affected, the home directory's checksum is wrong - that's what causes the message in the first place. However, each subdirectory has its own checksum which lets the calculator check the integrity of that separately, and trying to recover memory means scanning for intact subdirectories. Their names will be lost as those were part of the parent directory's structure, and any variables of other types in HOME will be lost as well, but the recovered directories will be put into the new HOME with names such as 'D.01', 'D.02', etc. Inspecting their contents should tell you what they are, since all variables inside are preserved, including their names.
Most of the time you'll even find one directory you don't recognize: the hidden directory. In one case that came in handy for me because I had substantially modified my user key definitions recently and hadn't saved them onto the SD card yet when I caused a TTRM crash. One of the variables in the hidden directory contains the user key definitions, so I was able to get them back by pulling them out of the recovered hidden directory and undoing the format changes they undergo in STOKEYS.
Find all posts by this user
Quote this message in a reply
03-26-2019, 07:09 AM
Post: #3
RE: Try to recover memory?
thanks for the valuable information! Smile
in fact I never found myself in the situation you describe, mostly I lost the data for low batteries... Big Grin
this time, however, I don't understand how the contents of the SD card could have been lost ... I forgot to make the backup just because I knew I had the data on the card and in any case the calculator has a backup battery ...
however the most consistent damage is the loss of settings (CST menu and user key assignment) that I can easily redo and will be useful for me as an exercise Wink

Hardware: Hp48S - Hp50g
Find all posts by this user
Quote this message in a reply
03-26-2019, 07:32 PM
Post: #4
RE: Try to recover memory?
Also, while the custom menu is saved in a user-accessible variable, custom flag settings are not. I save my flags in a variable so I can reload them after a system restore.
Find all posts by this user
Quote this message in a reply
03-28-2019, 01:34 AM (This post was last modified: 03-28-2019 01:40 AM by TravisE.)
Post: #5
RE: Try to recover memory?
I can't say why the SD card contents would get lost, short of an accidental reformat or some sort of weird corruption. I personally never had that happen to me. I've always had it and Port 2 remain intact after a crash.

It's probably a good idea to avoid writing to flash when the batteries are low (earlier versions of the ROM would actually prevent this, but the most recent revision allows it). I use rechargable NiMH cells and keep a charged set ready to swap in as soon as the low-battery indicator appears in order to avoid any lost work from a sudden power loss. Another option is to plug the calculator's USB port into a device that provides power, at which point it will automatically operate on the USB-supplied power instead of the batteries.
Find all posts by this user
Quote this message in a reply
03-28-2019, 07:42 AM
Post: #6
RE: Try to recover memory?
(03-26-2019 07:32 PM)John Keith Wrote:  Also, while the custom menu is saved in a user-accessible variable, custom flag settings are not. I save my flags in a variable so I can reload them after a system restore.

thanks, I knew the procedure for the cst menu and for the user keys, but how do you do with the flags? is there a way to extract them into a binary object? (however it took me a few minutes to put them back to my taste)

(03-28-2019 01:34 AM)TravisE Wrote:  I can't say why the SD card contents would get lost, short of an accidental reformat or some sort of weird corruption. I personally never had that happen to me. I've always had it and Port 2 remain intact after a crash.

It's probably a good idea to avoid writing to flash when the batteries are low (earlier versions of the ROM would actually prevent this, but the most recent revision allows it). I use rechargable NiMH cells and keep a charged set ready to swap in as soon as the low-battery indicator appears in order to avoid any lost work from a sudden power loss. Another option is to plug the calculator's USB port into a device that provides power, at which point it will automatically operate on the USB-supplied power instead of the batteries.

I don't know, I haven't written to SD since a long time, I used it just for backup ... maybe it's a failure of the card itself that is old ...
yes I also use rechargeable batteries (Eneloop) but I think the trouble happened because the AAA batteries and the backup battery was empty at the same time and the warning is the same ... so I did not think to connect the calculator using the usb cable Undecided

Hardware: Hp48S - Hp50g
Find all posts by this user
Quote this message in a reply
03-28-2019, 09:28 AM
Post: #7
RE: Try to recover memory?
(03-28-2019 07:42 AM)franz.b Wrote:  thanks, I knew the procedure for the cst menu and for the user keys, but how do you do with the flags? is there a way to extract them into a binary object? (however it took me a few minutes to put them back to my taste)
You're looking for RCLF. The reverse operation is STOF, of course. Also useful for temporarily switching to different flag values for some operation: backup, change flags, do calculation, restore.
Find all posts by this user
Quote this message in a reply
03-28-2019, 02:43 PM
Post: #8
RE: Try to recover memory?
(03-28-2019 09:28 AM)3298 Wrote:  Also useful for temporarily switching to different flag values for some operation: backup, change flags, do calculation, restore.

That's what PUSH and POP are for.
Find all posts by this user
Quote this message in a reply
03-28-2019, 02:48 PM
Post: #9
RE: Try to recover memory?
thanks for the tips! Smile

Hardware: Hp48S - Hp50g
Find all posts by this user
Quote this message in a reply
03-28-2019, 10:13 PM
Post: #10
RE: Try to recover memory?
(03-28-2019 02:43 PM)John Keith Wrote:  That's what PUSH and POP are for.
Err... oops. You're correct. But I'm allowed to forget stuff too, right?
Still useful for that on HP48, because PUSH and POP didn't exist back then.
Find all posts by this user
Quote this message in a reply
03-30-2019, 01:07 PM
Post: #11
RE: Try to recover memory?
Ha! I forget obvious stuff all the time. Especially when it comes to the differences between 28, 48S, 48G, 49 and 50...
Find all posts by this user
Quote this message in a reply
03-30-2019, 05:07 PM
Post: #12
RE: Try to recover memory?
(03-28-2019 10:13 PM)3298 Wrote:  
(03-28-2019 02:43 PM)John Keith Wrote:  That's what PUSH and POP are for.
Err... oops. You're correct. But I'm allowed to forget stuff too, right?

As long as you try to recover memory. Smile

— Ian Abbott
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)