(71b) HP41 module programs in HP71b
|
05-23-2019, 07:12 PM
Post: #1
|
|||
|
|||
(71b) HP41 module programs in HP71b
Hello,
I want to ask the community if there is a way to save HP41 modules (they are like *.MOD) for using them in the HP41 translator PAC on my HP71? Or can they be extracted in single programs? I tried some unsuccessful attempts to install the modules via PIL-Box and pyILper. Thanks in advance Erwin |
|||
05-23-2019, 08:41 PM
Post: #2
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
I don't know if this is useful, but you can use the MODFile program from TOS to extract the ROM images from MOD files, and you can then use the rom2raw program from the Free42 web page to convert the ROM images to *.raw files.
The rom2raw program was designed with HP-42S simulators and emulators in mind, but the raw files can be used in HP-41 simulators and emulators as well. Just be sure to run rom2raw with the -s option, telling it not to translate strings from 41 to 42S encoding. |
|||
05-23-2019, 11:07 PM
Post: #3
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
41 Modules can't be used as-is in the 41 Translator. The translator provides a FORTH-based simulator that can run text files that are very similar, but not always identical to, FOCAL programs.
So, what you can do is use the tools Thomas mentioned above, then use one of several available RAW file translators to convert the individual RAW files to text (containing FOCAL listings), then bring those into the 71B via PIL-Box, and then you can use them in the 41Trans ROM. Some small tweaks are likely needed to get them to work, but such details are covered pretty well in the 41Trans manual. Note however, that some ROMs have included some special non-FOCAL programs which can't be moved or used this way. When needed for performance or precision (or whatever reason) these special programs were implemented in MCODE, and sadly there is no solution for these, except possibly if you wanted to re-implement those as your own programs. When you do a CAT-2 of the original ROM, the FOCAL program names begin with the little raised "T" in front of the program name, while MCODE programs don't have the "T", so you can quickly and easily tell by simply doing a CAT-2 of the module. While the above is all true, many of the original HP ROMs were 100% FOCAL, so the odds are good with those (even if a lot of steps are required), however modern modules, such as most of Angel's amazing ROMs are nearly 100% MCODE. It's an interesting topic to many folks, so please do post your results and lessons learned once you've done this. --Bob Prosperi |
|||
05-24-2019, 04:48 AM
(This post was last modified: 05-24-2019 04:49 AM by Erwin.)
Post: #4
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
Many thanks to Thomas Okken and rprosperi !!! I have found these programs and will start my first attempts in the coming days. All I need is a Windows machine - I have a MAC.
The first goal is to get the HP41 navigation pac working on my HP71b, after my attempts with the HP71 navigation program HP-71B Software for navigation were only partially successful. After implementation I'll tell the forum how it runs :-) best regards Erwin |
|||
05-24-2019, 06:48 AM
Post: #5
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
(05-24-2019 04:48 AM)Erwin Wrote: The first goal is to get the HP41 navigation pac working on my HP71b, after my attempts with the HP71 navigation program HP-71B Software for navigation were only partially successful. You can find a text version of the HP41 navigation pac programs here . You may need to make some adjustments in order to be compatible with the instructions format needed by the HP41 translator PAC. |
|||
05-24-2019, 07:33 AM
Post: #6
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
(05-24-2019 06:48 AM)Didier Lachieze Wrote:(05-24-2019 04:48 AM)Erwin Wrote: The first goal is to get the HP41 navigation pac working on my HP71b, after my attempts with the HP71 navigation program HP-71B Software for navigation were only partially successful. Thanks a lot to all. I'll test this all ... best regards Erwin |
|||
05-30-2019, 05:56 PM
Post: #7
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
First report,
unfortunately, I have no experience with HP41 (HP71b and HP67 only) so I can only use try and error for the data conversion. I tried to convert the text program of the HP41 navigation program (like the proposal in the post from Didier). TRANS41 converted it without an error, but running the program ends with an error. So I started with a small HP41 program (I named it VECTOR) to see how it is running. But this ends up with an error too. This is the small HP41 program: Code: 01 LBL "MV" and here the documentation of the run Code: >RUN TRANS41 This is the intermediate file: Code: >LIST VEC Are there any ideas what happens there? best regards Erwin |
|||
05-30-2019, 08:40 PM
Post: #8
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
hmm... line 02: 1/X
did you provide something non-zero before RUNning the program? |
|||
05-31-2019, 12:06 AM
(This post was last modified: 05-31-2019 12:13 AM by Sylvain Cote.)
Post: #9
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
Hello Erwin,
You must remove the line numbers and for the case of X<>Z the command is X<> Z with a space before Z because the command is really X<>. Sylvain PLIST HP41MVT Code: LBL "MV" RUN TRANS41 Code: HP41 Program File? HP41MVT PLIST HP41MV: Code: 961059 FTOI DUP EXECUTE 178 XSIZE 146 XSIZE CREATE @HP41MV EXECUTE ] |
|||
06-03-2019, 04:41 PM
Post: #10
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
(05-31-2019 12:06 AM)Sylvain Cote Wrote: Hello Erwin, Hello Sylvain, that's great - thank you yes indeed that was the problem. Another one is that the ROM version has some code Code: XROM 14,01: user code "NA" I also tried to convert the ROM by myself and installed Windows in a virtual machine on my MAC but this conversion programs need some drivers ... :-( So I think this project will develop in longer story. but thanks you all for sending me hints and solutions - I'll try my best Erwin |
|||
06-03-2019, 05:45 PM
Post: #11
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
(06-03-2019 04:41 PM)Erwin Wrote: the ROM version has some code That's just informational output from rom2raw. Assuming you're looking at the zip file attached here, just work from the navigation.raw file, or if you want to use the navigation.txt file, just delete everything that doesn't start with a line number, i.e. everything from the start of the file until just before the line Code: 01>LBL "NA" Everything from that line onwards, until the end of the file, is user code, so that should be OK to convert and run. N.B. The Navication Pac is 100% user code, so you should be able to run all of it. |
|||
06-03-2019, 07:07 PM
(This post was last modified: 06-03-2019 07:08 PM by Erwin.)
Post: #12
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
(06-03-2019 05:45 PM)Thomas Okken Wrote: That's just informational output from rom2raw. Assuming you're looking at the zip file attached here, just work from the navigation.raw file, or if you want to use the navigation.txt file, just delete everything that doesn't start with a line number, i.e. everything from the start of the file until just before the line Hello Thomas, thanks for your reply - it is very helpful. But about the ">" Sign should i keep it? The other thing is, that the number start from 01 in between the code. Is this a problem or should I ignore it (delete)? Code: 168 |-"N" best regards Erwin |
|||
06-03-2019, 07:23 PM
(This post was last modified: 06-03-2019 07:25 PM by Thomas Okken.)
Post: #13
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
The > before LBL can be removed, if the converter doesn't like it. It serves no function other than to highlight labels, similar to what happens in program listings made with the HP-82143A and other printers.
The |- represents the "append" character. I don't know how that's supposed to be represented for the converter to recognize it. Don't delete it! Unlike the > before LBL, the |- is not just decoration; it signifies that the following text is to be appended to the ALPHA register, rather than replacing its contents. Regarding the line numbers restarting at 01: I don't know how the converter handles that, either. The module contains separate programs, and I think they need to be kept separate, because of local labels. Whether that means each program has to be converted separately, I can't tell you, since I'm not familiar with the process of converting HP-41 programs to run on the 71B. Someone who knows the 71B will have to answer that, and also the question about the |- character. |
|||
06-03-2019, 07:37 PM
Post: #14
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
(06-03-2019 07:23 PM)Thomas Okken Wrote: The > before LBL can be removed, if the converter doesn't like it. It serves no function other than to highlight labels, similar to what happens in program listings made with the HP-82143A and other printers. Thanks for your help Thomas, so I'll keep this two and if it ends up with a failure a remove them. So it is something with try and error. I think like you that the programs have to be kept separately (but lets see) - and so will I do and report it here on the forum. best regards Erwin |
|||
06-04-2019, 01:25 AM
Post: #15
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
Here are some notes from the manual on 41 program syntax for the Trans41 ROM. The symbol that resembles ( |- ) is the 41's Alpha Append ([Shift] [K] in Alpha mode), simply called (Alpha Append) in these notes, since it's awkward to insert that symbol here too:
• HP-41 text strings in text lines or following GTO and XEQ should be enclosed in double quotes ("), as they are in HP-41 printer listings. One or more spaces between GTO or XEQ and the quoted string are optional. Examples: "ABCDE" GTO"FRED" XEQ "GEORGE" • The (Sigma), (not equals) and (Alpha Append) characters, which are used frequently in HP-41 programs, are not available on the HP-71 keyboard. You can include these characters in your programs either by assigning HP-71 keys to these characters [ (Sigma) is CHR$(28), (not equals) is CHR$(29), and (Alpha Append) is CHR$(127) ], or by substituting standard keyboard characters: • In conditional functions, substitute # for (not equals). • In any HP-41 functions containing (Sigma), substitute the letter S for (Sigma). For example, (Sigma Plus) becomes S+. • In an HP-41 text line, you can substitute the character > for the (Alpha Append) symbol immediately following the first quotes. For example, "(Alpha Append) add this" becomes ">add this". • HP-41 emulator programs must contain at least one global alpha label so that you can access the program in the HP-41 environment. If you do not include an alpha label, TRANS41 automatically adds a label to the beginning of the translated program. The label uses the name of the intermediate file for its alpha characters. • Parameters for two-part functions must fall in the ranges: Registers: 0 through 9999 Numeric local labels: 0 through 9999 Local alpha labels: A through J; a through e Display formats: 0 through 11 Tones: 0 through 9 Flags (set/clear): 0 through 29 Flags (test): 0 through 55 There are some other obscure subtleties, but the above should help with most program statements. Regarding separating the source files, each 41 'complete program' (typically starting with a Global Label and ending with an END) should be supplied as a separate text file (either typed in to a Text file on the 71B, or imported via PIL-Box, etc. for TRANS41 to 'compile'. I find the simplest method is to create the source files on the PC and then use ILPer's DOSLINK virtual device is the easiest way, but there are several other options available. --Bob Prosperi |
|||
06-04-2019, 04:35 AM
Post: #16
|
|||
|
|||
RE: (71b) HP41 module programs in HP71b
(06-04-2019 01:25 AM)rprosperi Wrote: Here are some notes from the manual on 41 program syntax for the Trans41 ROM. The symbol that resembles ( |- ) is the 41's Alpha Append ([Shift] [K] in Alpha mode), simply called (Alpha Append) in these notes, since it's awkward to insert that symbol here too: Good morning, thank you very much Bob, so I have to dig deeper in the HP-41 Translator Pac. I still work with my PIL-Box and pyILper program, edit this programs on my MAC. When I look at the intermediate file I can see the words not translated during the translation process like the snippet from the intermediate file below. Code: 961059 FTOI DUP EXECUTE 1784 XSIZE 1680 XSIZE CREATE @NAVIG1C EXECUTE ] against the original text file Code: LBL "NA" So I go the next step to change the syntax for the HP71b best regards Erwin |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 3 Guest(s)