Post Reply 
Error in HP 48sx J rom ?
07-28-2020, 03:00 PM
Post: #5
RE: Error in HP 48sx J rom ?
(07-28-2020 02:09 AM)Yellow Wrote:  Thanks for the reply and showing me the convert executable. What does it do actually?

In the early days of Emu48 the program only accepted unpacked ROM images. An unpacked ROM image, in difference to a packed ROM image, use only the lower 4 bit of a byte. So a HP48SX packed ROM image has a size if 256KB whereas the unpacked size is 512KB.

convert.exe was designed to convert different ROM images file formats of the HP38G, 48SX and 48G into the unpacked format of Emu48. Meanwhile Emu48 accept also packed ROM images, which are automatically detected and converted inside Emu48 temporarily into the unpacked variant.

What does convert.exe exactly. The syntax is

convert.exe <ROM-file> [<unpacked-ROM-file>]

where <ROM-file> is a ROM image file in a suitable format. convert.exe then tries to detect the <ROM-file> format and convert this file internally to the unpacked format used by Emu48 v1.x. Then the IO-address-area is filled with zero bytes and the internal CRC's of the ROM image in RAM are verified. 2nd, if the optional <unpacked-ROM-file> parameter is given, the internal unpacked ROM image is copied into this file. Without the 2nd argument it's just for verifying the CRC's.

Why I'm speaking about a suitable format. Back to the middle/end of the 90'th there where some HP48 emulators which all need a ROM image. So the first process was to make a ROM image from your own calculator(s). This was a long and boring process. The first method I saw and used was described in Derek S. Nickel VOYAGER.ZIP package using the internal memory scanner of the HP48SX. Because the HP48G has no internal memory scanner, a separate tool for download the HP48G ROM was necessary. The first HP48 emulator I used was x48 v0.4.0. from Eddie C. Dost where I already had the HP48SX dump from the VOYAGER package and made a HP48G dump with the ROMDump program delivered with the x48 package. After switching to Emu48 v0.99 I was able to convert my images for the x48 to the Emu48 format.

The ROM CRC could only be valid if the Emu48 KML script contain no ROM Patch command. In old environments the BEEP patch was done to support beeping. Meanwhile the beep simulation was replaced by an emulation and so the beep patch is obsolete and your get a KML script warning using the beep patch. But there are still variants of ROM patching for example to disable the 10min auto-off feature of the calculator. All patches destroy the CRC's. In older very versions of Emu48 it was possible that such a ROM patch stay permanent. So maybe you used a j-image version which got this defect in an earlier usage.

Some final words why I prefer the E over the J version on the HP48SX. Without doubt, the J version is the faster and has less bugs then the prior versions, but to to accomplish this many code was moved inside to get room for the modifications. With moving this code many unsupported ROM entry points for SysRPL and assembly programs became illegal. And that's the reason why early SysRPL programs on the HORN-disks don't work in connection with the J version, because they were designed to run on an A version. Version E was the last version where many of the unsupported ROM entry points stay on the old position and so you have a good chance to run programs written for the A-D versions on a E version. When somebody wrote a SysRPL program which is compatible with the J version, most times the programmer was aware about these differences and used entry points valid for the J and the more common E version of the ROM.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Error in HP 48sx J rom ? - Yellow - 07-27-2020, 04:40 PM
RE: Error in HP 48sx J rom ? - Yellow - 07-28-2020, 02:09 AM
RE: Error in HP 48sx J rom ? - Christoph Giesselink - 07-28-2020 03:00 PM



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