new ACT flashtool bug report - Harald - 01-12-2016 04:04 PM
Thanks to this thread I was able to get the diagnostic program onto my HP67E relatively quickly.
But in order to get it working I had to correct an error in the program (on the calculator) manually.
It seems that the key code parser in the ACT flash tool has "R->P" and (P->R) swapped.
"R->P" should be "32 72" and "P->R" should be "31 72", but it is the other way round.
The good news is, everything else works fine!
In case any one else wants to try, this is the code and as comment the original code from the and the post mentioned above and the keycodes:
Code:
LBL 0 ; LBL 0 31 25 00
CL REG ; CLRG 31 43
P<>S ; P<>S 31 42
CL REG ; CLRG 31 43
RTN ; RTN 35 22
LBL a ; LBL a 32 25 11
RND ; RND 31 24
RC I ; RCL I 35 34
X!=Y ; X!=Y? 32 61
R/S ; R/S 84
LBL 2 ; LBL 2 31 25 02
DSZ ; DSZ I 31 33
LBL 5 ; LBL 5 31 25 05
RC I ; RCL I 35 34
RTN ; RTN 35 22
LBL c ; LBL c 32 25 13
RCL (i) ; RCL (i) 34 24
RC I ; RCL I 35 34
X!=Y ; X!=Y? 32 61
R/S ; R/S 84
STO + 0 ; ST +0 33 61 00
DSZ ; DSZ I 31 33
GTO c ; GTO c 22 31 13
3 ; 3 03
EEX ; EEX 43
2 ; 2 02
RCL 0 ; RCL 0 34 00
X!=Y ; X!=Y? 32 61
R/S ; R/S 84
RTN ; RTN 35 22
LBL e ; LBL e 32 25 15
1 ; 1 01
- ; - 51
RTN ; RTN 35 22
LBL A ; LBL A 31 25 11
5 ; 5 05
7 ; 7 07
GSB 0 ; GSB 0 31 22 00
PAUSE ; PSE 35 72
GSB e ; GSB e 32 22 15
ENTER ; ENTER 41
RDOWN ; Rdn 35 53
X<>Y ; X<>Y 35 52
RUP ; Rup 35 54
RUP ; Rup 35 54
X<>Y ; X<>Y 35 52
RUP ; Rup 35 54
X!=0 ; X!=0? 31 61
X!=Y ; X!=Y? 32 61
RTN ; RTN 35 22
GSB e ; GSB e 32 22 15
X>Y ; X>Y? 32 81
RTN ; RTN 35 22
GSB e ; GSB e 32 22 15
X=Y ; X=Y? 32 51
RTN ; RTN 35 22
GSB e ; GSB e 32 22 15
X<=Y ; X<=Y? 32 71
GTO 1 ; GTO 1 22 01
RTN ; RTN 35 22
LBL 1 ; LBL 1 31 25 01
GSB e ; GSB e 32 22 15
ST I ; STO I 35 33
RC I ; RCL I 35 34
X<>Y ; X<>Y 35 52
X!=Y ; X!=Y? 32 61
RTN ; RTN 35 22
GSB 2 ; GSB 2 31 22 02
X!=0 ; X!=0? 31 61
GTO 3 ; GTO 3 22 03
RTN ; RTN 35 22
LBL 3 ; LBL 3 31 25 03
GSB 2 ; GSB 2 31 22 02
X=0 ; X=0? 31 51
RTN ; RTN 35 22
GSB 2 ; GSB 2 31 22 02
X<0 ; X<0? 31 71
RTN ; RTN 35 22
GSB 2 ; GSB 2 31 22 02
X>0 ; X>0? 31 81
GTO 4 ; GTO 4 22 04
RTN ; RTN 35 22
LBL 4 ; LBL 4 31 25 04
DSZ ; DSZ I 31 33
F? 2 ; F2? 35 71 02
GTO 5 ; GTO 5 22 05
DSZ ; DSZ I 31 33
F? 1 ; F1? 35 71 01
GTO 5 ; GTO 5 22 05
DSZ ; DSZ I 31 33
F? 3 ; F3? 35 71 03
GTO 6 ; GTO 6 22 06
GTO 5 ; GTO 5 22 05
LBL 6 ; LBL 6 31 25 06
DSZ ; DSZ I 31 33
F? 0 ; F0? 35 71 00
GTO 7 ; GTO 7 22 07
GTO 5 ; GTO 5 22 05
LBL 7 ; LBL 7 31 25 07
SF 2 ; SF2 35 51 02
SF 1 ; SF1 35 51 01
CF 0 ; CF0 35 61 00
DSZ ; DSZ I 31 33
F? 3 ; F3? 35 71 03
GTO 5 ; GTO 5 22 05
DSZ ; DSZ I 31 33
F? 0 ; F0? 35 71 00
GTO 5 ; GTO 5 22 05
DSZ ; DSZ I 31 33
F? 2 ; F2? 35 71 02
GTO 8 ; GTO 8 22 08
GTO 5 ; GTO 5 22 05
LBL 8 ; LBL 8 31 25 08
DSZ ; DSZ I 31 33
F? 1 ; F1? 35 71 01
GTO 9 ; GTO 9 22 09
GTO 5 ; GTO 5 22 05
LBL 9 ; LBL 9 31 25 09
DSZ ; DSZ I 31 33
F? 2 ; F2? 35 71 02
GTO 5 ; GTO 5 22 05
GSB 2 ; GSB 2 31 22 02
DSP 7 ; DSP 7 23 07
DEG ; DEG 35 41
SIN ; SIN 31 62
SIN-1 ; SIN^-1 32 62
GSB a ; GSB a 32 22 11
COS ; COS 31 63
COS-1 ; COS^-1 32 63
GSB a ; GSB a 32 22 11
TAN ; TAN 31 64
TAN-1 ; TAN^-1 32 64
GSB a ; GSB a 32 22 11
R->P ; ->P 32 72
P->R ; ->R 31 72
GSB a ; GSB a 32 22 11
SIN ; SIN 31 62
H->H.MS ; ->HMS 32 74
H.MS->H ; HMS-> 31 74
SIN-1 ; SIN^-1 32 62
GSB a ; GSB a 32 22 11
LOG ; LOG 31 53
10^x ; 10^x 32 53
GSB a ; GSB a 32 22 11
LN ; LN 31 52
e^x ; e^X 32 52
GSB a ; GSB a 32 22 11
SQRT ; SQRT(X) 31 54
x^2 ; X^2 32 54
GSB a ; GSB a 32 22 11
ENTER ; ENTER 41
Y^X ; Y^X 35 63
LastX ; Lastx 35 82
1/X ; 1/X 35 62
y^x ; Y^X 35 63
GSB a ; GSB a 32 22 11
ENTER ; ENTER 41
+ ; + 61
LastX ; LastX 35 82
- ; - 51
GSB a ; GSB a 32 22 11
ENTER ; ENTER 41
* ; * 71
LastX ; LastX 35 82
: ; / 81
GSB a ; GSB a 32 22 11
SQRT ; SQRT(X) 31 54
FRAC ; FRC 32 83
LastX ; LastX 35 82
INT ; INT 31 83
+ ; + 61
x^2 ; X^2 32 54
GSB a ; GSB a 32 22 11
D->R ; D->R 32 73
R->D ; R->D 31 73
GSB a ; GSB a 32 22 11
EEX ; EEX 43
2 ; 2 02
X<>Y ; X<>Y 35 52
% ; % 31 82
GSB a ; GSB a 32 22 11
DSP 1 ; DSP 1 23 01
LBL b ; LBL b 32 25 12
RC I ; RCL I 35 34
STO (i) ; STO (i) 33 24
DSZ ; DSZ I 31 33
GTO b ; GTO b 22 31 12
2 ; 2 02
4 ; 4 04
X<>I ; X<>I 35 24
GSB c ; GSB c 32 22 13
GSB 0 ; GSB 0 31 22 00
LBL d ; LBL d 32 25 14
DSZ ; DSZ I 31 33
RC I ; RCL I 35 34
ABS ; ABS 35 64
STO (i) ; STO (i) 33 24
2 ; 2 02
4 ; 4 04
X!=Y ; X!=Y? 32 61
GTO d ; GTO d 22 31 14
ST I ; STO I 35 33
GSB c ; GSB c 32 22 13
9 ; 9 09
EEX ; EEX 43
8 ; 8 08
7 ; 7 07
1/x ; 1/X 35 62
8 ; 8 08
CHS ; CHS 42
* ; * 71
SF 0 ; SF0 35 51 00
CF 1 ; CF1 35 61 01
SF 3 ; SF3 35 51 03
RAD ; RAD 35 42
DSP 3 ; DSP 3 23 03
ENG ; ENG 35 23
-x- ; PRT X 31 84
SCI ; SCI 32 23
-x- ; PRT X 31 84
DSP 1 ; DSP 1 23 01
FIX ; FIX 31 23
-x- ; PRT X 31 84
R/S ; R/S
RE: new ACT flashtool bug report - PANAMATIK - 01-12-2016 05:25 PM
(01-12-2016 04:04 PM)Harald Wrote: It seems that the key code parser in the ACT flash tool has "R->P" and (P->R) swapped.
"R->P" should be "32 72" and "P->R" should be "31 72", but it is the other way round.
The good news is, everything else works fine!
Thank you for this bug report, I will correct the flash tool soon. I apologize for swapping these opcodes, but they look so damned similar. The ACT FlashUpdate tool contains a mnemonic parser for each calculator and it will be easy to re-swap the codes.
It seems that you are the first, who used this feature of loading programs into the ACT from the PC. My congratulations!
Bernhard
RE: new ACT flashtool bug report - Harald - 01-12-2016 06:01 PM
(01-12-2016 05:25 PM)PANAMATIK Wrote: (01-12-2016 04:04 PM)Harald Wrote: It seems that the key code parser in the ACT flash tool has "R->P" and (P->R) swapped.
"R->P" should be "32 72" and "P->R" should be "31 72", but it is the other way round.
The good news is, everything else works fine!
Thank you for this bug report, I will correct the flash tool soon. I apologize for swapping these opcodes, but they look so damned similar. The ACT FlashUpdate tool contains a mnemonic parser for each calculator and it will be easy to re-swap the codes.
It seems that you are the first, who used this feature of loading programs into the ACT from the PC. My congratulations!
Bernhard
No need to apologize. I am impressed by how few bugs there are in your software!
But I have to apolgize for finding what looks like another bug. This time in the calculator firmware. I belive this has happened because of the way you had to reformat exponents for the smaler display.
Here is a printout of the diagnostic program (sorry for the bad picture)
The first line should be "-888.9 -90", and is also displayed like that on the calculator. The following lines appear to be correct.
RE: new ACT flashtool bug report - PANAMATIK - 01-12-2016 08:11 PM
(01-12-2016 06:01 PM)Harald Wrote: The first line should be "-888.9 -90", and is also displayed like that on the calculator. The following lines appear to be correct.
Thank you again for this new bug. For sure, this is a problem of reformatting, which I have to solve.
I can add another reported HP-67E bug. If loading a program with f f RCL .. the function keys A-E keep their math functions until a program step is entered manually.
Together with the HP67E P-R R-P swap bug when loading programs from PC there are three known ACT bugs. I will address them tomorrow.
Bernhard
RE: new ACT flashtool bug report - PANAMATIK - 01-13-2016 06:59 PM
(01-12-2016 08:11 PM)PANAMATIK Wrote: Together with the HP67E P-R R-P swap bug when loading programs from PC there are three known ACT bugs. I will address them tomorrow.
Bernhard
I released a new HP67EIr Version 1.04 for download today.
The above printing bug was only effective in ENG (engineering) mode and swallowed one exponent digit, when interpreting the display buffer for printing.
The function keys A-E now switch correctly between labels and math functions after loading a program.
And ACTFlashUpdate.exe utility is corrected, P->R R->P are not swapped any more. Also the ProgramCodes.pdf table is updated, because it contained the same swapped mnemonics.
Wating for no more HP67E bugs to be reported, because only 17 (seventeen) from 16k PIC instructions are free in ACTs program memory.
Bernhard
RE: new ACT flashtool bug report - Harald - 01-13-2016 10:21 PM
(01-13-2016 06:59 PM)PANAMATIK Wrote: (01-12-2016 08:11 PM)PANAMATIK Wrote: Together with the HP67E P-R R-P swap bug when loading programs from PC there are three known ACT bugs. I will address them tomorrow.
Bernhard
I released a new HP67EIr Version 1.04 for download today.
The above printing bug was only effective in ENG (engineering) mode and swallowed one exponent digit, when interpreting the display buffer for printing.
The function keys A-E now switch correctly between labels and math functions after loading a program.
And ACTFlashUpdate.exe utility is corrected, P->R R->P are not swapped any more. Also the ProgramCodes.pdf table is updated, because it contained the same swapped mnemonics.
Wating for no more HP67E bugs to be reported, because only 17 (seventeen) from 16k PIC instructions are free in ACTs program memory.
Bernhard
Impressive Bernhard! Thanks for the super quick bug fix! I will flash the calculator tomorrow.
At the moment the mnemonic parser doesn't accept keycodes, does it? If it did, it would be possible to use these libraries for the RPN67 simulator.
I presume you have a table containing the mnemonics for the parser. I'd be happy to add the keycodes if that would make it relatively simple for you to include them as an alternative in the parser.
|