▼
Posts: 57
Threads: 23
Joined: Jun 2009
Hello. I have been using the 41CX since it first came out. I am a Land Surveyor in California, and have written programs that were specific to my field of expertise. Quite a few surveyors were using the programs, and over the course of time, a few individuals in their offices would hit the PRGM key, a few other keystrokes, and Wa La!, you have a corrupt program.
So, to avoid having to go back and manually delete the offending instructions, or having to re-load the programs back into the instruments via the **HP 82104A Card Reader**, I wrote a set of cards using the WPRV command (write private) to stop people from inserting bogus instructions.
Now, I am in need to get into my programs again. I am looking for information on how to bypass the flag that is set within, that causes the message PRIVATE to appear on the calculators display when I press the PRGM key.
Please keep in mind that I have been using the same programs for close to 16 years now, and some of the cards that were of a non-private nature have either been lost over the years or the media has become corrputed overtime.
I have a call into tech. support at Hewlett Packard, and Im sure that my question to the individual has stirred some interest :)
Please respond to me at L4722S @ AOL.COM, or here, or both.
Looking forward to hearing from you all...Thank you
Paul
▼
Posts: 451
Threads: 107
Joined: Nov 2005
Are you familiar with synthetic programming?
From vague memory, the procedure used to step into the key assignment registers to add the byte grabber can also be used to jump back past an end instruction (which you then delete).
This may be too vague, but at least you have the programs on cards so you can try a few times.
I don't have my calculator on me at the moment, so I can't try it. I'm sure someone else will :-)
I think you need an un-private program either before or after the private one to do this. Just something like LBL "AA" END.
▼
Posts: 57
Threads: 23
Joined: Jun 2009
If I had a card reader that was not filled with gunk, I would be in fine shape as far as being able to re-load the WPRV Programs (yes, I have read the file about cleaning the reader, but I am not the type of guy that loves small little things that like to jump out of electronic items to be forever lost :)
I need to hack into my own private programs so I can have an archive to edit and re-key into another 41CX. Eventually I will get the reader fixed, but not before I have to use the calculator for my work.
I wrote the program you suggested , but how do I get past the end instruction into my private area? I believe there is a sequence of keys to be held down when the machine turns on that will re-set the private flag. I cant think of any other way this could be accomplished. I do have the WPRV programs dropped down into extended memory, but the reload into main still brings the WPRV flag up.
Since the manual for the Card Reader makes the statement that the WPRV programs are not accessible by ' Normal methods', they is an answer to the dilemma I am in.
Thanks for your response
▼
Posts: 451
Threads: 107
Joined: Nov 2005
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..
(to put calc into Program mode)
LBL "XXX" (Enter this)
GTO..
CAT 1 (Stop when LBL XXX shows in display
SST
SST (Displays .END. REG XX)
(Place calculator in Alpha mode)
(out of alpha mode)
GTO ..
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 :-)
▼
Posts: 57
Threads: 23
Joined: Jun 2009
Doesn't seem to work. Did you omit a few steps?
▼
Posts: 451
Threads: 107
Joined: Nov 2005
No, it appears that if you use the greaster than o less than characters, they (and text between them) disappears!
Try this
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..
PRGM (to put calc into Program mode)
LBL "XXX" (Enter this)
GTO..
CAT 1 (Stop when LBL XXX shows in display)
SST
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)
CLX (display is 4091 xxxxxx -- last line of private program)
SST (display is 4092 LBL"XXX")
CLX (removes label)
ALPHA (out of alpha mode)
GTO ..
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!
▼
Posts: 57
Threads: 23
Joined: Jun 2009
Refreshing tid bits :) 1. I am using a 41CX 2. The programs were loaded via the 82014A Card Reader ============================================================
Now, I'll list your steps and my results in brackets[RESULT]
GTO.. [0.00]
PRGM (to put calc into Program mode) [00 REG 210]
LBL "XXX" (Enter this) [01 LBL'XXX]
GTO.. [00 REG 209]
CAT 1 (Stop when LBL XXX shows in display) [LBL'XXX]
SST [END 10]
SST (Displays .END. REG XX) [.END. REG 209]
ALPHA (Place calculator in Alpha mode)
CLX (display is 4094 END) [4094 END]
BST (display is 4093 LBL"XXX") [4093 LBL' XXX]
BST (display is 4092 END) [4092 END]
CLX (display is 4091 xxxxxx -- last line of private program) [4091 PASN]
SST (display is 4092 LBL"XXX") [4092 LBL'XXX]
CLX (removes label) [4091 PASN]
ALPHA (out of alpha mode) [4091 PASN]
GTO .. [4092 GTO _ _]
This is **BEAUTIFUL** Steve, I had more success as I was placing my output in brackets, this is definately one for the books!
Thanks a lot :)
BTW, I havent seen my code in close to 10 years I would say, was so neat to see PASN in the display!!
Posts: 208
Threads: 16
Joined: Jul 2005
Why not make it FOUR times?
Because, this bit of work really ought to have a permanent place in the "HP Articles Forum."
Mark Hardman
▼
Posts: 57
Threads: 23
Joined: Jun 2009
I agree 100%...Good suggestion Mark
▼
Posts: 14
Threads: 1
Joined: Jan 1970
Hello,
if one owns a CCD-MODULE, here is an other fine solution, which works on all programs anywhere in the usual program-memory, but not in the extended memory area. This program makes no use of any kind of bugs or synthetic programming features.
Title: Change Programs Privateflag (CPP)
Description: Execute CPP. On prompt key in a name of a global label plus R/S. CPP will change this program from being private or vice-versa.
01 LBL "CPP"
02 CF 25
03 'NAME:
04 PMTA
05 PHD
06 PPLNG
07 1
08 -
09 CHS
10 A+B
11 PEEKB
12 64
13 XOR
14 POKEB
15 CLA
16 CLX
17 STO Y
18 STO L
19 END
43 Bytes used
The code is fully commented in my article about the CCD-Module.
Have fun forever with your HP's.
Reinhard
Posts: 78
Threads: 6
Joined: Jan 1970
Paul, When the card readers fixed you can try. I think you copy the programs with flag 14 set. I sold my card reader a long time ago so don't remember exactly. And - this will get everyone going - prefer my 48 to the 41 !! So my early 41C just sits in a dark drawer.
Joe
▼
Posts: 451
Threads: 107
Joined: Nov 2005
Yeah, the HP41's are rubbish.
Too rubbishy even for land fill.
Send me the calculator, along with $100 and I will dispose of it in the most undignified manner.
Then we'll both feel better! :-)
▼
Posts: 57
Threads: 23
Joined: Jun 2009
I doubt if I'll even bother fixing the reader now. Steve has gotten me into both of my main programs, of which I have made text copies of in my PC. Any other programs I could possibly use in my work I can write on the job as conditions dictate, though I doubt that will happen since I have stopped doing construction surveys.
Oh Steve! Since I have (4) 41 CX's, I guess you should be getting $400.00 and an EPA Application for dumping hazardous material...Go to the mailbox and DONT LEAVE until you get the afore mentioned items :)
▼
Posts: 252
Threads: 14
Joined: Jan 1970
Paul,
Not fixing a reader is one thing; just don't throw it out please! That's a mortal sin. Many of us here love fixing up old card readers and make use of them for many more years to come :-)
Viktor
▼
Posts: 57
Threads: 23
Joined: Jun 2009
I have no intention on trashing it. Eventually I will give it a go and try and clean all the goo out of it.
▼
Posts: 252
Threads: 14
Joined: Jan 1970
Paul,
Glad to hear you aren't planning to trash the reader. As for the 'goo', sadly, it's not just goo; it is (or rather, used to be) a rubber wheel that transports the card through the reader. In other words, you need to do more than cleaning it out; you also need to fashion a new wheel out of some suitable material (such as O-rings or model airplane fuel lines.)
Viktor
▼
Posts: 71
Threads: 22
Joined: Jan 1970
Check the artical by "the lost Rabbit" posted, i think, at the articles side here at HPmuseum. I used his guidance and repaired the cardreader in less then two hour. My cardreader work's great now. The 'goo' is indeed the remains of the cardtransport wheel. Just get the right material as discribed, and do the job.
BTW Thank's Dave (lost rabbit). I tried to sent you mails but the message's kept returning. What happend to you email adress?
Erwin
Posts: 78
Threads: 6
Joined: Jan 1970
Steve, It could be that my 41 is gathering value, not dust. Seeing as I paid $150 to replace the slide rule I bought for $35 in 1973 (my brother lost it), my 41 should do alright some day. I used it for 10 years, wrote lots of programs, thought it great but, hey, the new ones suite me better. But don't worry, it has my brothers 41 to keep it company.
Joe
PS: If you run across any 48's, 49's, TI89's, I'll see each gets an appropriate send off!
Posts: 1,193
Threads: 43
Joined: Jul 2005
If memory helps, you need to use synthetic programming techniques in order to alter the END instruction at the end of your program. The PRIVATE status is encoded there. So, if your program is the only one in the calculator, you have something like this (formatting is not very good):
LBL "Myprog" ;main label
...
RCL 18 -----;just as an
ENTER ------;example of
SIN --------;user code
LOG --------;functions
...
...
...
END --------;this END codes the Private status
.END. ------;this is the last .END.
Then you need to erase or modify the END instruction.
I am afraid I do not have details on how to achieve this, other than these ideas. I think the Card reader, or Flag 14 have nothing to do with this (except when writing the cards). Good luck.
|