|Re: Free42/Mod Conversion/HP-41 Pacs|
Message #2 Posted by Thomas Okken on 19 Oct 2006, 7:55 p.m.,
in response to message #1 by Kevin Kitts
[...] 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:
Because of these XROM calls, the converted user code may not work.
(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. ;-) )