HP Articles Forum
[Return to the Index ]
[ Previous | Next ]
How to un-private an HP-41 program
Posted by Steve (Australia) on 22 June 2000, 6:05 a.m.
First, some background. (If you don't need this, just skip down a bit to where the method is described)
The HP-41 card reader (and other mass storage devices) allow you to save a program as "Private". This has the effect of preventing someone making changes to the program.
It is the END instruction at the end of a program that holds the flag that a program is private. It is this that we have to remove to un-private the program.
When it was devised by HP, they did not provide a way to un-private a program. So if you accidentally saved a program as private, or corrupted the cards with the normally saved one then you were left in a bit of a dillema.
However, BUG 9 comes to the rescue. For more information, read P621 of "Extend Your HP-41" (The not so little red book).
BUG 9 provides the method used to bootstrap the byte-grabber into the key assignment registers, thus making Synthetic programming a rather simple process.
This method is very similar to that procedure. I came across this while playing around one day. I make no claim to it being my discovery, there were far more gifted, industrious, and just plain geeky people ahead of me that (no doubt) found it before me.
HOW TO DO IT!!!
This assumes that the private program is the last in memory. This procedure worked on my HP 41, but NO WARRANTIES ARE EXPRESSED OR IMPLIED. If your card reader turns into a potato, it's your own fault!
GTO.. (this packs memory, but more importantly, puts you at the end of it)
PRGM (to put calc into Program mode)
LBL "XXX" (Enter this)
GTO.. (This places an END at the end of the program you just keyed in.)
CAT 1 (Stop when LBL XXX shows in display)
SST (Displays LBL "XXX")
SST (Displays .END. REG XX)
ALPHA (Place calculator in Alpha mode)
CLX (display is 4094 END)
BST (display is 4093 LBL"XXX")
BST (display is 4092 END -- this is the end that would normally trigger the display of PRIVATE, but here it doesn't)
CLX (display is 4091 xxxxxx -- last line of private program. We just got rid of the pesky private end)
SST (display is 4092 LBL"XXX")
CLX (removes label)
ALPHA (out of alpha mode)
GTO .. (puts a normal end on the program, and resets the numbers back to what you would expect)
And that's it.
However HP calculators must have inbuilt defence mechanisms. My calculator crashed before I started to try this, and afterward my internet connection failed, then my computer crashed as I reconnected. This is the second (and hopefully last) time I write this procedure :-)
And now that's three times. The HP defence mechanism is _really_ strong!
And now it's 4 times as I type it in here.
[ Return to the Message Index ]
Go back to the main exhibit hall