HP Forums

Full Version: Free42/Mod Conversion/HP-41 Pacs
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Hi All,
Just for fun I downloaded and installed Free42 simulator on a Palm and then tried to use a couple of programs that I found (MODFileWin.exe from an HP41 emulator site) and the rom2raw program from the Free42 site to convert the mod format into the raw format for loading into the Free42 program. I did this with the Financial Decisions Pac and it worked great. However, the Real Estate Pac had 2 routines that were machine code and hence could not be converted since rom2raw/Free42 can only convert/run HP-41 user code. The two routines from the Real Estate pac that would not convert are called "start" and "CLK". The purpose of those two routines is to assign the HP-41 global function names to the top row of HP-41 keys and to clear the assignments, respectively - all of the other routines are simply user code. However, even though the labels come into Free42 they don't seem to execute correctly. When I try to execute the "$" function it says "Nonexistent". Has anyone else out there played around with this and perhaps found a workaround?

Thanks,

Kevin

Quote:
[...] However, even though the labels come into Free42 they don't seem to execute correctly. When I try to execute the "$" function it says "Nonexistent".

Actually, XEQ "$" does work as it should; the "Nonexistent" error message is caused by the line immediately following LBL "$". In Free42, this line is displayed as XROM 11,45 -- by looking at the ROM listing (run rom2raw with the -l option) you can see that that is the START command from the Real Estate Pac.

N.B. Rom2raw warns about this type of problem; for example:

    tokken $ rom2raw RealEstateL-1A.ROM RealEstateU-1A.ROM
Input files: RealEstateL-1A.ROM RealEstateU-1A.ROM
Output file: REAL_EST_1A.raw
ROM Name: REAL EST 1A
ROM Size: 8192 (0x2000), 2 pages
--- Page 0 ---
ROM Number: 11
47 functions (XROM 11,00 - 11,46)
XROM 11,00: dummy entry REAL EST 1A
XROM 11,01: user code "$"
XROM 11,02: user code "N"

[...]

XROM 11,44: user code "SIZE?"
XROM 11,45: machine code START
XROM 11,46: machine code CLK
--- Page 1 ---
ROM Number: 11
Bad function count (0), skipping this page.
Warning: this ROM contains machine code; this code cannot be translated.

The following machine code XROMs were called from user code:
XROM 11,45: START
The following non-local XROMs were called from user code:
XROM 29,01

Because of these XROM calls, the converted user code may not work.
tokken $

(The XROM 29,01 is the HP-82143 printer's ACA instruction, which accumulates the content of the ALPHA register to the printer's buffer. The HP-42S does not support this instruction, so that code will have to be modified to work there or in Free42. As it happens, in the Real Estate Pac, ACA is used simply to print the ALPHA register right-justified; there are other ways to achieve that result on the 42S, but I'll leave that as an exercise for the reader. ;-) )

- Thomas