Post Reply 
Still needed for the HP 41CL
08-04-2016, 09:27 PM
Post: #13
RE: Still needed for the HP 41CL
Hello Angel,

Sorry for the delay but I had a lot of refreshing/learning to do on the multiple HP-41 tools and I lost a lot of time on them.

I have put on dropbox the 00041-90441 HP-41 Structural Design Solutions Book.zip file containing:

Code:
Manual File.: MAN\ -> 00041-90441 HP-41 Structural Design Solutions Book Manual
Tape File...: LIF\ -> 00041-90441 HP-41 Structural Design Solutions Book Tape
Source Files: SRC\ -> CIRCON;CONBM;MAG;MWALL;REBAR;RIGID;STLSOL;TILTUP;TRUSS;UL2CON
RAW Files...: RAW\ -> CIRCON;CONBM;MAG;MWALL;REBAR;RIGID;STLSOL;TILTUP;TRUSS;UL2CON
Data Files..: DAT\ -> programs that does the same as the 222 data files

About the DAT files, after several tryout I came up with the following ...
Because of the 64 fat entry limitation and the 222 data files, the easy path of 1 program per file was not possible.
What I came up with was to group the files using their first 3 characters and then with small parsers redirect the loading to local labels.
The global labels are: READRFR/FNFERR/M??/S??/W10/W12/W14/W16/W18/W21/W24/W27/W30/W33/W36/W4X/W6X/W8X

If you are ok with the following I could modify the original programs to support both the tape/disk data files and ROM data files by replacing the READR commands with the following code
Code:
SF 25
READR
FC?C 25
XEQ "READRFR"

Main entry point
Code:
LBL "READRFR"  ; Read Registers From ROM
ASTO 29        ; Save alpha [1..12]
ASHF
ASTO 28
CLA            ; Restore Alpha
ARCL 29        
ARCL 28
ATOX           ; Get Key[0]
X=0?
GTO 00         ; Error If alpha empty
77
X=Y?           
GTO "M??"      ; call M?? data loader if Key[0] .eq. M
RDN
83
X=Y?
GTO "S??"      ; call S?? data loader if Key[0] .eq. S
"   "          ; extracting the first three letters of the data loader
ARCL 29
ASTO X
CLA
ARCL X
ATOX
ATOX
ATOX
ASTO X         ; Get Key[0..2]
SF 25          ; set in case the data loader does not exist
GTO IND X      ; call W10/W12/W14/W16/W18/W21/W24/W27/W30/W33/W36/W4X/W6X/W8X data loader
LBL 00
LBL "FNFERR"   ; File Not Found Error
"FL NOT FOUND"
AVIEW
CLA
ARCL 29
ARCL 28
CF 23
PSE
END

Data loader sample 1 (W4X)
Code:
LBL "W4X"
RCL 29
ENTER^
"W4X13"
ASTO X
X#Y?
GTO "FNFERR"
3.83           ; Loading W4X13
STO 00
4.16
STO 01
4.06
STO 02
.345
STO 03
.28
STO 04
5.46
STO 05
1.72
STO 06
1.9
STO 07
1
STO 08
1.1
STO 09
END

Data loader sample 2 (W6X)
Code:
LBL "W6X"
RCL 29
ENTER^
"W6X15"
ASTO X
X=Y?
GTO 00
"W6X16"
ASTO X
X=Y?
GTO 01
"W6X20"
ASTO X
X=Y?
GTO 02
"W6X25"
ASTO X
X=Y?
GTO 03
GTO "FNFERR"
LBL 00         ; Loading W6X15
4.43
STO 00 
5.99
STO 01
5.99
STO 02
.26
STO 03
.23
STO 04
9.72
STO 05
2.56
STO 06
3.11
STO 07
1.46
STO 08
1.61
STO 09
RTN
LBL 01         ; Loading W6X16
4.74
STO 00
6.28
STO 01
4.03
STO 02
.405
STO 03
.26
STO 04
10.2
STO 05
2.6
STO 06
2.2
STO 07
.966
STO 08
1.08
STO 09
RTN
LBL 02         ; Loading W6X2
5.87
STO 00
6.2
STO 01
6.02
STO 02
.365
STO 03
.26
STO 04
13.4
STO 05
2.66
STO 06
4.41
STO 07
1.5
STO 08
1.64
STO 09
RTN
LBL 03         ; Loading W6X25
7.34
STO 00
6.38
STO 01
6.08
STO 02
.455
STO 03
.32
STO 04
16.7
STO 05
2.7
STO 06
5.61
STO 07
1.52
STO 08
1.66
STO 09
END

I am currently using the X-Functions ATOX to do the job of extracting characters but I could replace it with synthetic instructions.

If you are ok with the proposisiton I can do all the other data file loaders.

Best regards,

Sylvain
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Still needed for the HP 41CL - Gene - 07-18-2016, 02:40 PM
RE: Still needed for the HP 41CL - Gene - 07-18-2016, 03:25 PM
RE: Still needed for the HP 41CL - Gene - 07-19-2016, 02:21 AM
RE: Still needed for the HP 41CL - Sylvain Cote - 08-04-2016 09:27 PM



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