Post Reply 
HP-35 and HP-45 ROMs
04-25-2023, 05:24 PM
Post: #1
HP-35 and HP-45 ROMs
Might anyone be able to help me to obtain the various versions of the HP-35 and HP-45 ROMs? The simulator I've written uses simple json files to contain the calculators' ROM contents and key bindings, so it will run multiple versions of those two calculators and I'd like to make them available in one place (with credit to the sources, of course). I'm currently testing it with the HP-35v2 ROM from Pete Monta's site, and two versions of Brouhaha's transcription of the HP-45 Patent (one as-is, and one in which I've changed ROM 4 byte 146 to make the ROM match the expected behaviour of STO÷ and STO-, per the HP-45 Owner's Handbook)*. Any others would be most welcome. Format isn't important: as long as the byte contents are in order from ROM 0 byte 0 to ROM 3/8 byte 255, I can deal with them. I'd particularly like an error-free HP-35 ROM.

Many thanks for any help, and apologies if I'm requesting anything inappropriate.

*If anyone knows whether these two different behaviours made it into production HP-45s, I'd be interested, too.
Find all posts by this user
Quote this message in a reply
04-25-2023, 09:50 PM
Post: #2
RE: HP-35 and HP-45 ROMs
If they are of any help, I can email formatted versions the ROM files I have, 2 x 35, 1 x 45 if you PM an email address.

cheers

Tony
Find all posts by this user
Quote this message in a reply
04-26-2023, 03:31 AM
Post: #3
RE: HP-35 and HP-45 ROMs
(04-25-2023 05:24 PM)Z80Sarah Wrote:  Definitely both versions of the 45 went into production. At one time I had a copy of the early version, but I don't seem to have it now. My vague recollection was that there were two instructions interchanged.

There are two main released versions of the 35 microcode, although apparently a very few 35s escaped APD with even earlier microcode with even more bugs. Peter Monta calls the two versions "v2" and "v4", based on what units they were dumped from, although the microcode version doesn't directly correlate with the "version 2" and "version 4" terminology scome collectors use to distinguish units with or without the red dot, raised dot on 5 key, "35" on label,, and positioning of key legends.

I've attached a ZIP file with the two available versions of the 35 firmware and one of the 45. The older 35 firmware is labelled 35-old. I htink the 45 firmware is actually the newer version. The files contain the data in octal, one word per line, in the format aaaa:dddd, where aaaa is the address and dddd is the data.


Attached File(s)
.zip  3545.zip (Size: 13.26 KB / Downloads: 28)
Find all posts by this user
Quote this message in a reply
04-27-2023, 09:28 AM
Post: #4
RE: HP-35 and HP-45 ROMs
(04-25-2023 09:50 PM)teenix Wrote:  If they are of any help, I can email formatted versions the ROM files I have, 2 x 35, 1 x 45 if you PM an email address. cheers Tony

(04-26-2023 03:31 AM)brouhaha Wrote:  Definitely both versions of the 45 went into production. At one time I had a copy of the early version, but I don't seem to have it now. My vague recollection was that there were two instructions interchanged.

Thanks both. I've done a 'diff' between the various versions I now have, and they look as follows.

The 35 ROMs come in two flavours, a newer bug-free (?) version - which is brouhaha's 35 ROM - and an older ln(2.02)-bug version, which is brouhaha's 35-old, Monta's 35v2 and, elsewhere, "Red Dot".

The 45 ROM has the 'patent version' which gives a negative value for the STO- and a reciprocal value for STO÷ (compared to the documentation for my HP-45): this is brouhaha's 45 ROM. I recall discussing this briefly with brouhaha when I was debugging my old simulator. My note in the pdf accompanying that simulator reads (numbers are in decimal), "ROM 4 Byte 146: This is the only difference between the ROM codes used in the program and the listing in the patent. Sending program flow to ROM 4 Byte 142 (label: am11) causes internal registers A and C to be swapped. This swap results in incorrect results for some combined STO operations: STO ÷ gives the reciprocal of the required result and STO – gives the negative of the required result. Changing this line so that program flow goes instead to ROM 4 Byte 143 misses out this swap and corrects this error: the functionality of the simulator then matches what is described in the documentation available." I can't claim to have thoroughly tested this change, but so far it hasn't caused any issues, and it seemed to be the minimal delta required, so least likely to affect anything else.

Thank you for sharing these ROMs with me: it's hugely appreciated.

Sarah
Find all posts by this user
Quote this message in a reply
04-29-2023, 01:02 AM
Post: #5
RE: HP-35 and HP-45 ROMs
(04-27-2023 09:28 AM)Z80Sarah Wrote:  The 45 ROM has the 'patent version' which gives a negative value for the STO- and a reciprocal value for STO÷ (compared to the documentation for my HP-45): this is brouhaha's 45 ROM. I recall discussing this briefly with brouhaha when I was debugging my old simulator. My note in the pdf accompanying that simulator reads (numbers are in decimal), "ROM 4 Byte 146: This is the only difference between the ROM codes used in the program and the listing in the patent. Sending program flow to ROM 4 Byte 142 (label: am11) causes internal registers A and C to be swapped. This swap results in incorrect results for some combined STO operations: STO ÷ gives the reciprocal of the required result and STO – gives the negative of the required result. Changing this line so that program flow goes instead to ROM 4 Byte 143 misses out this swap and corrects this error: the functionality of the simulator then matches what is described in the documentation available."

Thanks for keeping that information and sharing it now! I try to keep backups of all my data, but somehow the later 45 microcode info fell through the cracks.
Find all posts by this user
Quote this message in a reply
Post Reply 




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