The HP-71 and the Ubiquitous Binary File
08-13-2020, 04:56 PM (This post was last modified: 08-14-2020 03:04 PM by Dave Frederickson.)
Post: #1
 Dave Frederickson Senior Member Posts: 2,133 Joined: Dec 2013
The HP-71 and the Ubiquitous Binary File
The Binary file. With regard to the HP-71 and it's emulators it's been used to identify ROM, IRAM, and LIF disc images. Sometimes it's more convenient to have a ROM or IRAM image in the other form. Here's how to convert between formats.

An IRAM image can be distinguished by examining the first 4 bytes of the file. If the bytes are "3BDDDDED", the Stand Alone Module ID, or "IRAM Identifier", then the image is for an IRAM or EPROM. Anything else and it's a ROM image. Also, if you run TITANCHK on an image file and it fails then it's likely an IRAM image.

IRAM's have one checksum as the last byte in the image. ROM's have one checksum per 16k ROM chip. The first 16k chip has it's checksum in the fourth byte and the last 16k chip has it's checksum in the last byte. Refer to the ROMCOPY docs for the location of the checksums in 48k and 64k ROMs.

To convert a ROM image to an IRAM image is simple. Change the first four bytes to "3BDDDDED" using a hex editor. The checksum is optional however it can be generated using the CMT TOOLS for burning EPROM's.

To convert an IRAM image to a ROM image requires generation of the checksum(s).

1. With a hex editor, change the first four bytes of the image to "000000FE" and if it's a 32k image the last byte to "FE".

2. Run TITANCHK on the modified image. For example, suppose we want to change the MATH 2B5 IRAM image to a ROM image.

Code:
C:\math2b5> titanchk MATH2B5.BIN TITAN ROM Test V1.10 Unpacking data... ROM Chip 1 = 70 -> Fail ROM Chip 2 = 06 -> Fail Checksum Error!

3. Invert the bits in the two calculated checksums. This is also known as the 1's complement. For the first chip the complement of 70 is 8F and for 06 it's F9.

4. Using the hex editor, change the checksum for the first chip to 8F (the fourth byte) and the checksum for the last chip to F9 (the last byte).

5. Rerun TITANCHK.

Code:
C:\math2b5> titanchk MATH2B5.BIN TITAN ROM Test V1.10 Unpacking data... ROM Chip 1 = 01 -> Ok ROM Chip 2 = 01 -> Ok Checksum(s) ok!

You now have a ROM image that can be loaded into Emu71 as a ROM or into FRAM71 using ROMCOPY.
 « Next Oldest | Next Newest »

 Messages In This Thread The HP-71 and the Ubiquitous Binary File - Dave Frederickson - 08-13-2020 04:56 PM RE: The HP-71 and the Ubiquitous Binary File - J-F Garnier - 08-15-2020, 04:19 PM RE: The HP-71 and the Ubiquitous Binary File - Christoph Giesselink - 08-15-2020, 06:52 PM RE: The HP-71 and the Ubiquitous Binary File - J-F Garnier - 08-15-2020, 09:32 PM RE: The HP-71 and the Ubiquitous Binary File - Dave Frederickson - 08-15-2020, 06:58 PM