The Museum of HP Calculators
HP Forum Archive 20
[ Return to Index | Top of Index ]
|Getting HEXEDIT to work on the HEPAX itself|
Message #1 Posted by Ángel Martin on 29 Jan 2012, 5:40 a.m.
There recently was a thread about getting DISASM to work on the CL, and a related topic was overcoming built-in features in the HEPAX to avoid its own disassembly.
Monte´s instructions solved the riddle for DISASM, but there was still another location checking on the same protection which stopped HEXEDIT to work.
To prevent this you need to patch bank'1 of the HEPAX ROM again, at location H´p474 (where p is the page number). Simply replace the current instruction with ¨10B¨ JNC +33d
If you´re using YPOKE on the CL you´d of course do:
where 8xx is the RAM location holding the HEPAX- bank1.
Caveat emptor: as always, this is not thoroughly tested yet. Initial checks show it works without a glitch - pls. report if you find any issues.
|Re: Getting HEXEDIT to work on the HEPAX itself|
Message #2 Posted by Ángel Martin on 29 Jan 2012, 6:42 a.m.,
in response to message #1 by Ángel Martin
Just occured to me that I should make a couple of additional remarks:
1. HEXEDIT on the HEPAX will only work while you stay on Bank'1, for obvious reasons
2. DISASM on the hepax will show the second bank code, as this is where the currently excecuting code resides.
On the DISASM patch, there is a simpler alternative to Monte´s solution. The FOCAL program below does all three patches for you, assuming the HEPAX ROM is plugged on page A and also using the same CL sRAM addresses as in Monte´s document.
01 LBL "HPXPTCH"
07 "83F08D-0000" - patches the DISASM glitch
09 "8040AC-883F" - maps the patched bank'4 to the MMU
14 "83E12F-0033" - patches the self-DISASM limitation
16 "83E474-010B" - patches the self-HEXEDIT limitation
18 "8040A0-883E" - maps the patched bank'1 to the MMU
Edited: 29 Jan 2012, 6:54 a.m.
Return to Index | Top of Index ]
Go back to the main exhibit hall