The Museum of HP Calculators

HP Forum Archive 06

[ Return to Index | Top of Index ]

Screen Blank on HP-67?
Message #1 Posted by Ray on 31 Oct 2001, 9:01 p.m.

I found yet another strange program in my recently added Games Pac. It is a home made card without a label, But since it was lose in the box when I got it, I ran it through the reader to see if it worked. It contains a short program, which makes no sense at all to me, and when I ran it, my screen blanked. Afraid I had somehow loaded a lethal virus or somthing into my HP-67, I by reflex, hit the R/S key. The screen returned, and all registers and their data remained intact. Do you think it is possible to create a "standby mode" for a HP-67? Since the display uses most of the power you could probably keep you're calculator on a long time this way. I am only a novice programmer and when I attempted to fiqure out this program I was at a loss. I did notice that the cosine function on the keyboard blanks the display for about 1 second. Anyone have any clue what I have here?

      
Re: Screen Blank on HP-67?
Message #2 Posted by Vieira, Luiz C. (Brazil) on 1 Nov 2001, 7:34 a.m.,
in response to message #1 by Ray

Hello;

as a so-called novice (and this condition rests for a bit of time only), have you read on how to 'decipher' the keycodes stored as programs? It's an amazing code that is available in many calculators (not only HP) and allows programs to be read back by anyone else.

The HP41 can 'lock' the programs in a way they cannot be read: they can be PRIVATEd by the programmer anytime. Anyway, the HP41 does not use keycodes as the HP67/97 do. I am not aware of this feature existing in these calculators.

Anyway, my question is: can you load the program in this card to the calculator, switch the calculator to PRGM mode and EITHER write down the keycodes OR the instructions in a post so we can have a look at them? This way some of us will be able to guess what does this game program do. I believe others will agree with this.

Thanks.

            
Re: Screen Blank on HP-67?
Message #3 Posted by Ray on 1 Nov 2001, 9:52 p.m.,
in response to message #2 by Vieira, Luiz C. (Brazil)

Yeah sure I can read keycodes, somtimes I have to refer to the manual, but rarely. Sorry should have posted program in the first place, not much you can tell me without that. Anyways I have been less cautious with this program and discovered it only runs for about 30 seconds, then returns to the standard 0.00 with a couple of flashes, probably pause commands. So it doesn't last forever like I thought.

NOTE: You must have a 2 stored in register 9 for it to work or it will display "Error".

Here is the program listing using the HP-67 keypad.

001: F/LBL/A

002: 2

003: 5

004: H/STI

005: F/LBL/0

006: F/DSZ

007: GTO/0

008: H/ABS

009: 9

010: RCL/9

011: DEVIDE (for lack of a symbol on the keyboard)

012: 6

013: H/X-EXCHANGE-I

014: F/LBL/1

015: RCL/I

016: F/-X-

017: F/DSZ

018: GTO/1

019: 0

020: R/S

021: R/S

022: F/CL REG

023: CLX

024: ENTER

025: ENTER

026: ENTER

027: R/S

028: P-Exchange-S

029: H/X-EXCHANGE-I

030: STO/I

031: R/S

032: RCL I

033: F/LBL/D

034: F/LBL/E

035: RCL/I

036: F/LBL/C

037: GTO I

038: 9

039: 8

040: CLX

041: R-DOWN (STACK SHIFT DOWN)

042: 4

043: EEX

044: R-UP (STACK SHIFT UP)

045: H/STI

046: H/Yx

047: G/ARROW P (or the 1 key)

048: F/COS

049: F/TAN

050: RCL/8

051: F/X-EXCANGE-Y

052: GTO/4

053: E+

054: F/SIN

055: F/X<0

056: G/X<Y

057: 1/x

058: H/E-

059: H/X-EXCHANGE-I

060: CLX

061: 5

062: CLX

063: CHS

064: H/ABS

065: R-UP (STACK SHIFT UP)

066: R-DOWN (STACK SHIFT DOWN)

067: H/Yx

068: H/ENG

069: F/SIN

070: F/-X-

071: F/X>0

072: F/ISZ

073: F/FIX

074: H/ENG

075: H/X-EXCHANGE-I

076: H/E-

077: F/P-EXCHANGE-S

078: F/H-ARROW (or the 3 key)

079: H/PIE

080: F/COS

081: H/1/x

082: H/X-EXCHANGE-Y

083: STO/8

084: R/S

085: RCL/I

086: 6

087: 5

088: EEX

089: CHS

090: 4

091: EEX

092: R/S

093: H/SPACE

094: F/-X-

095: F/SQUARE ROOT

096: R-DOWN (STACK SHIFT DOWN)

097: R-DOWN (STACK SHIFT DOWN)

098: F/LOG

099: F/LN

100: F/X=O

101: H/SF/0

102: H/CF/0

103: H/F?/0

104: H/RAD

105: H/X-EXCHANGE-I

106: G/FRAC

107: H/H.MS+

108: F/INT

109: H/1/x

110: G/X=Y

111: GTO/5

112: DSP/2

Sorry, Not such a good listing, hope it helps.

                  
Re: Screen Blank on HP-67?
Message #4 Posted by Vassilis Prevelakis on 2 Nov 2001, 10:45 p.m.,
in response to message #3 by Ray

> Yeah sure I can read keycodes, somtimes I have to refer to the manual, but rarely.

Yes, but can you read hp67 programs? This listing is just gibberish, not to mention that it has mistakes:

e.g.

051: F/X-EXCANGE-Y

056: G/X<Y

How about typing in the command codes. Then I can convert it to an hp67 listing automatically.

                        
Re: Screen Blank on HP-67?
Message #5 Posted by Ray on 2 Nov 2001, 11:30 p.m.,
in response to message #4 by Vassilis Prevelakis

Sorry, I never have actualy interchanged software with others, (and 112 steps is alot to type) So I've kind of developed my own, "Language" which it seems I am the only one capable of reading, Sorry should have thought ahead. I can see why it must be hard to fiqure out, I somtimes end up typing so fast I skip letters, I'm sure that's annoying. Anyway's I have a freind of mine looking at the card right now so the best I can do is give you a overview of what that listing means. EXCHANGE, means exactly what it say's, although I may have misspelled it a few times, I use it as a substitute for the exchange symbol on the keyboard, like exchaning X-Y stack positions would be X-EXCHANGE-Y. Slashes are a bad habbit from my own language, treat them like spaces. Shift key's are shown first. And R-DOWN means stack shift down or H-8. The X<Y is a conditional test. Sorry, I may be ok at writing programs, but I can't come close to writing them on paper! Gota practice that more, with a card reader it's kind of inconveinent. If you can't fiqure out my listing, don't worry, my freind is pretty good at these things and well probably fiqure it out.

                              
Re: Screen Blank on HP-67?
Message #6 Posted by Vassilis Prevelakis on 3 Nov 2001, 11:45 p.m.,
in response to message #5 by Ray

Ray wrote on 2 Nov 2001, 11:30 p.m.:

> The X<Y is a conditional test.

No it isn't, there is no X<Y on the hp67, there is a X<=Y? and a X>Y?

By gibberish I meant that

a) some instructions were not hp67 instructions, and

b) some parts of the program did not make sense, e.g.

X=0?

SF 0

CF 0

It doesn't matter whether X is 0 or not since F0 will be cleared anyway.

**vp

                                    
Re: Screen Blank on HP-67?
Message #7 Posted by Ray on 4 Nov 2001, 3:26 p.m.,
in response to message #6 by Vassilis Prevelakis

Sorry, I myself was not aware of how I printed the conditional, the command X=<Y is what I meant. I know some commands don't make sense. That's why I wanted you to look at it, makes no sense to me, that example you showed is correct. (strange huh?) Anyway's, I can't seem to find any non HP-67 commands. Yes there is a space command, I assume it was written on 97. That's all I can say. If you can't fiqure my listing out, don't worry, I will find out how it works someday. Thanks for trying.

                  
Re: Screen Blank on HP-67?
Message #8 Posted by Vieira, Luiz C. (Brazil) on 3 Nov 2001, 10:06 a.m.,
in response to message #3 by Ray

Hello, Ray;

sorry, I did not lit my computer for these two days.

I'm gonna have a look at the listing and I'm posting you any information I can get from it.

Cheers.

                        
Re: Screen Blank on HP-67?
Message #9 Posted by Ray on 3 Nov 2001, 6:28 p.m.,
in response to message #8 by Vieira, Luiz C. (Brazil)

One more thing, I may have understated my abillity with the term "novice", I am more of a "average programmer". I can write pretty complex programs, mostly games, my most recent game was Tic-Tac-Toe. I can also read programs and keycodes. The reason I called myself a "novice" is because I can't do synthetic programming or some of those other expert tricks mentioned here. I also recently discovered that I am no good at writing listings! Hope this gives you a better idea where I'm at.

                              
Re: Screen Blank on HP-67?
Message #10 Posted by Vieira, Luiz C. (Brazil) on 4 Nov 2001, 7:51 p.m.,
in response to message #9 by Ray

Hello;

In a first look the program has many confusing lines, like the sequence (step 086) 6, 5, EEX, CHS, 4, EEX, R/S, and others like (step 101) SF 0, CF 0, F? 0, RAD and (step 059) x<>I, CLx, 5, CLx, CHS (changing sign of a zero?). I do not really understand. Well, what calls my attention is step 037: GTO I. If I contents is a negative number, so the next step can be any of the next ones. The program pointer can land anywhere. And that leaves us with a question: which of the next steps perform a valid operation when the correct number is stored in I?

That what makes difficult understanding some programs if at least one example for each available calculation is furnished. As mentioned before, the program is probably a game, and games are much difficult writing and debugging.

Well, I did not give up at all. I just decided to post a first impression. And there are some codes that can be shorten, if you want to post listings with a better, easier-to-read look. I'll find a bit of time to rewrite your listing, if you allow me to. Right?

Cheers.

(In a way or another, each of us is a novice, an average-user, an expert, a guru... I'm considered by some as above average; I consider myself between novice and average; some do not even consider me enough to be considered... and I do not even write correctly. Well, keep writing and people will read and answer. If no answer appears, you may be a guru with an `answerless` question... or a novice with a question so bellow the average that does not deserve an answer... or one did not read it yet. Regards)

                              
Re: Screen Blank on HP-67?
Message #11 Posted by Vieira, Luiz C. (Brazil) on 4 Nov 2001, 9:25 p.m.,
in response to message #9 by Ray

Hello;

I have rewriten the listing in a way I believe easies the reading.

Thanks.

001: LBL A 002: 2 003: 5 004: STI (STO I) 005: LBL 0 006: DSZ 007: GTO 0 008: ABS 009: 9 010: RCL 9 011: ÷ 012: 6 013: x<> I 014: LBL 1 015: RC I (RCL I) 016: -X- 017: DSZ 018: GTO 1 019: 0 020: R/S 021: R/S 022: CL REG 023: CLx 024: ENTER 025: ENTER 026: ENTER 027: R/S 028: P<>S 029: x<> I 030: ST I (STO I) 031: R/S 032: RC I (RCL I) 033: LBL D 034: LBL E 035: RCL I 036: LBL C 037: GTO I 038: 9 039: 8 040: CLx 041: Rv (roll-down) 042: 4 043: EEX 044: R^ (roll-up) 045: STI (STO I) 046: y^x 047: R->P (TO POLAR) 048: COS 049: TAN 050: RCL 8 051: x<>y 052: GTO 4 053: SIGMA+ (E+) 054: SIN 055: x<0 056: x<=y (instead of x<y) 057: 1/x 058: SIGMA- (E-) 059: x<> I 060: CLx 061: 5 062: CLX 063: CHS 064: ABS 065: R^ 066: Rv 067: y^x 068: ENG 069: SIN 070: -X- 071: x>0 072: ISZ 073: FIX 074: ENG 075: x<> I 076: SIGMA- (E-) 077: P<>S 078: H<-HMS (to decimal degrees) 079: PI 080: COS 081: 1/x 082: x<>y 083: STO 8 084: R/S 085: RC I (RCL I) 086: 6 087: 5 088: EEX 089: CHS 090: 4 091: EEX 092: R/S 093: SPACE 094: -X- 095: SQRT 096: Rv 097: Rv 098: LOG 099: LN 100: x=O 101: SF 0 102: CF 0 103: F? 0 104: RAD 105: x<> I 106: FRAC 107: H.MS+ 108: INT 109: 1/x 110: x=y 111: GTO 5 112: DSP 2

I still cannot see a reasonable meaning for some sequences...

Regards.

                              
Re: HP-67 Program: first analysis
Message #12 Posted by Vieira, Luiz C. (Brazil) on 5 Nov 2001, 7:28 p.m.,
in response to message #9 by Ray

Let’s have a look at the program.

001: LBL A 
002: 2 
003: 5 
004: STI
005: LBL 0 
006: DSZ 
007: GTO 0 
A single loop that seems to be for timing purposes.
008: ABS 
009: 9 
010: RCL 9 
011: ÷ 
Here comes the need for anything but zero in register 9.
012: 6 
013: x<> I 
Whatever was in register I is now in X; I=6.
014: LBL 1 
015: RC I       (RCL I) 
016: -X- 
017: DSZ 
018: GTO 1 
This seems to be a countdown engine. It counts from 6 to 1. When I reaches zero, it goes out of the loop.
019: 0 
020: R/S 
0.00 will be shown when I-register reaches zero. The program stops. I don’t think it is for input purposes, cause nothing is stored in here and stack, numbered registers will be cleared, as seen in next steps.
021: R/S 
If R/S is pressed, the program stops again.
022: CL REG 
023: CLx 
024: ENTER 
025: ENTER 
026: ENTER 
027: R/S 
If R/S is pressed again, all primary registers (will secondary be cleared too? I don’t remember) and stack registers will be cleared. If a number is entered here, it will be first stored in I and then it will be lost (see next steps)
028: P<>S 
Changes all primary registers (cleared in previous steps) to secondary.
029: x<> I 
030: ST I
For me, this sequence is the same as RC I or CLx RC I. I didn’t delve into the rest of the program, but it seems a bit confused in a first look. Please, forgive-me if there is anything wrong. I don’t have neither an HP67 in hands (I do not own one), nor its Owner’s Handbook (I have one at home). All I wrote in here was by heart, based in my knowledge about stack manipulations.
031: R/S 
032: RC I
033: LBL D 
034: LBL E 
035: RCL I 
036: LBL C 
037: GTO I 
038: 9 
039: 8 
040: CLx 
041: Rv          (roll-down)
042: 4 
043: EEX 
044: R^          (roll-up)
045: STI         (STO I) 
046: y^x 
047: R->P        (TO POLAR) 
048: COS 
049: TAN 
050: RCL 8 
051: x<>y 
052: GTO 4 
053: SIGMA+      (E+) 
054: SIN 
055: x<0 
056: x<=y        (instead of x<y)
057: 1/x 
058: SIGMA-       (E-) 
059: x<> I 
060: CLx 
061: 5 
062: CLX 
063: CHS 
064: ABS 
065: R^ 
066: Rv
067: y^x 
068: ENG 
069: SIN 
070: -X- 
071: x>0 
072: ISZ 
073: FIX 
074: ENG 
075: x<> I 
076: SIGMA-       (E-) 
077: P<>S 
078: H<-HMS       (to decimal degrees) 
079: PI 
080: COS 
081: 1/x 
082: x<>y 
083: STO 8 
084: R/S 
085: RC I          (RCL I) 
086: 6 
087: 5 
088: EEX 
089: CHS 
090: 4 
091: EEX 
092: R/S 
093: SPACE 
094: -X- 
095: SQRT  
096: Rv 
097: Rv 
098: LOG 
099: LN 
100: x=O 
101: SF 0 
102: CF 0 
103: F? 0 
104: RAD 
105: x<> I 
106: FRAC 
107: H.MS+ 
108: INT 
109: 1/x 
110: x=y 
111: GTO 5 
112: DSP 2

Hope it helps a bit for now. And yes, I did not give up yet; my time is somewhat short and I took about 20 minutes to write this down. (This spare time was taken from a between-classes interval). In fact, it’s almost relaxing time...

Cheers.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall