Topics

HP 9830A system firmware ROM images?

Glen Slick
 

Is there anyone in the group that has a functional HP 9830A and the
means to dump the system firmware ROMs, or have the firmware ROMs
already been dumped and are there binary images available online
somewhere?

(not the microcode PROMs)

Arnie Berger
 

I can read the ROMs to a file.

Arnie

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Glen Slick
Sent: Thursday, September 12, 2019 1:37 PM
To: VintHPcom@groups.io
Subject: [VintHPcom] HP 9830A system firmware ROM images?

Is there anyone in the group that has a functional HP 9830A and the means to dump the system firmware ROMs, or have the firmware ROMs already been dumped and are there binary images available online somewhere?

(not the microcode PROMs)

Glen Slick
 

If a binary dump of the HP 9830A ROMs isn't already available
somewhere it would be great if you could dump the ROMs and upload the
file to the files section of this group.

I have been watching this series of video on an attempt to repair a
non-functional HP 9830A:

https://www.youtube.com/watch?v=WqGQ1RlAQ4M
https://www.youtube.com/watch?v=wb5HttM1UOo

He has reached the conclusion that there must be some faulty ROMs on
the ROM card and he has designed a replacement ROM card, but he hasn't
found a binary dump of the ROMs available anywhere to program into his
replacement for the ROM card.

On Thu, Sep 12, 2019 at 2:03 PM Arnie Berger <aberger@...> wrote:

I can read the ROMs to a file.

Arnie

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Glen Slick
Sent: Thursday, September 12, 2019 1:37 PM
To: VintHPcom@groups.io
Subject: [VintHPcom] HP 9830A system firmware ROM images?

Is there anyone in the group that has a functional HP 9830A and the means to dump the system firmware ROMs, or have the firmware ROMs already been dumped and are there binary images available online somewhere?

(not the microcode PROMs)

Achim Buerger
 

Glen, 

you will find dumps of all 9830 ROMs (not only the system ROMs) in the files section as part of my GO9800 emulator release 2.3. just unpack the JAR-File with 7zip or the like and you'll find the ROMs of all 9800 model below the media folder in the subfolder for each machine.

Best regards,
Achim

Arnie Berger
 

I have a PROM programmer that I use for my classes at UW. If you can give me a physical ROM, and it has a footprint that matches a PROM, I can read it into a file.

Arnie

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Glen Slick
Sent: Thursday, September 12, 2019 2:15 PM
To: VintHPcom@groups.io
Subject: Re: [VintHPcom] HP 9830A system firmware ROM images?

If a binary dump of the HP 9830A ROMs isn't already available somewhere it would be great if you could dump the ROMs and upload the file to the files section of this group.

I have been watching this series of video on an attempt to repair a non-functional HP 9830A:

https://www.youtube.com/watch?v=WqGQ1RlAQ4M
https://www.youtube.com/watch?v=wb5HttM1UOo

He has reached the conclusion that there must be some faulty ROMs on the ROM card and he has designed a replacement ROM card, but he hasn't found a binary dump of the ROMs available anywhere to program into his replacement for the ROM card.

On Thu, Sep 12, 2019 at 2:03 PM Arnie Berger <aberger@...> wrote:

I can read the ROMs to a file.

Arnie

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Glen
Slick
Sent: Thursday, September 12, 2019 1:37 PM
To: VintHPcom@groups.io
Subject: [VintHPcom] HP 9830A system firmware ROM images?

Is there anyone in the group that has a functional HP 9830A and the means to dump the system firmware ROMs, or have the firmware ROMs already been dumped and are there binary images available online somewhere?

(not the microcode PROMs)

Guy Dunphy
 

At 02:34 PM 12/09/2019 -0700, Achim wrote:
Glen,
you will find dumps of all 9830 ROMs (not only the system ROMs) in the files section as part of my GO9800 emulator release 2.3. just unpack the JAR-File with 7zip or the like and you'll find the ROMs of all 9800 model below the media folder in the subfolder for each machine.

Thanks for nudging me to have a look at groups.io/g/VintHPcom, as opposed to just reading the list via email.
I've downloaded GO9800_bin_2.30.zip and unpacked it. There are the ROM files, with names like HP9830A_System1_ROM.dmp
But, what is this .dmp format?
It's ASCII, with decimal numbers separated by CR LF newlines. When I would have expected a binary image.
What's the translation algorithm? There seem to be _many_ ".dmp" usages.
I'd previously only seen Intel Hex and Motorola S record format used for ROM dumps, other than the obvious binary.

Hmm... guessing: Most but not all of the ROM .dmp files have numbers of lines that are boundary values, like 512 or 1024.
But some are not, like HP9830A_System1_ROM.dmp with 768 lines. (That is 512 + 256, but since when is any ROM that size?)
Maybe the algorithm is 'take n bytes, convert to decimal, next n..., etc' But what is n, and is the order big or little endian?
n can't be 2, since many of the decimal numbers are bigger than 65536. n=4?


Anyway, Achim can you tell me where there is a spec of that format?
And hopefully a MS-Windows util to convert to binary, so I don't have to write my own.

I have two HP 9830A, one working one dead. Have not yet imaged the ROMs. Soldered into PCBs, don't want to risk
damage by desoldering all of them. Alternative is to build a jig to read them via the edge connectors. Which is
probably what I'll do, when next I get to look at those machines. A 'sanity reference' set of binaries would be good.

Guy

Arnie Berger
 

The only gotcha you might have to worry about when you read the ROM is that some ROMs have multiple pages and require a sequence of reads, or address accesses, to cause a state machine to flip the internal page.

Arnie

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Guy Dunphy
Sent: Thursday, September 12, 2019 4:49 PM
To: VintHPcom@groups.io
Subject: Re: [VintHPcom] HP 9830A system firmware ROM images?

At 02:34 PM 12/09/2019 -0700, Achim wrote:
Glen,
you will find dumps of all 9830 ROMs (not only the system ROMs) in the files section as part of my GO9800 emulator release 2.3. just unpack the JAR-File with 7zip or the like and you'll find the ROMs of all 9800 model below the media folder in the subfolder for each machine.

Thanks for nudging me to have a look at groups.io/g/VintHPcom, as opposed to just reading the list via email.
I've downloaded GO9800_bin_2.30.zip and unpacked it. There are the ROM files, with names like HP9830A_System1_ROM.dmp But, what is this .dmp format?
It's ASCII, with decimal numbers separated by CR LF newlines. When I would have expected a binary image.
What's the translation algorithm? There seem to be _many_ ".dmp" usages.
I'd previously only seen Intel Hex and Motorola S record format used for ROM dumps, other than the obvious binary.

Hmm... guessing: Most but not all of the ROM .dmp files have numbers of lines that are boundary values, like 512 or 1024.
But some are not, like HP9830A_System1_ROM.dmp with 768 lines. (That is 512 + 256, but since when is any ROM that size?) Maybe the algorithm is 'take n bytes, convert to decimal, next n..., etc' But what is n, and is the order big or little endian?
n can't be 2, since many of the decimal numbers are bigger than 65536. n=4?


Anyway, Achim can you tell me where there is a spec of that format?
And hopefully a MS-Windows util to convert to binary, so I don't have to write my own.

I have two HP 9830A, one working one dead. Have not yet imaged the ROMs. Soldered into PCBs, don't want to risk damage by desoldering all of them. Alternative is to build a jig to read them via the edge connectors. Which is probably what I'll do, when next I get to look at those machines. A 'sanity reference' set of binaries would be good.

Guy

Glen Slick
 

On Thu, Sep 12, 2019 at 4:48 PM Guy Dunphy <@TerraHertz> wrote:

At 02:34 PM 12/09/2019 -0700, Achim wrote:
Glen,
you will find dumps of all 9830 ROMs (not only the system ROMs) in the files section as part of my GO9800 emulator release 2.3. just unpack the JAR-File with 7zip or the like and you'll find the ROMs of all 9800 model below the media folder in the subfolder for each machine.

Thanks for nudging me to have a look at groups.io/g/VintHPcom, as opposed to just reading the list via email.
I've downloaded GO9800_bin_2.30.zip and unpacked it. There are the ROM files, with names like HP9830A_System1_ROM.dmp
But, what is this .dmp format?
It's ASCII, with decimal numbers separated by CR LF newlines. When I would have expected a binary image.
What's the translation algorithm? There seem to be _many_ ".dmp" usages.
I'd previously only seen Intel Hex and Motorola S record format used for ROM dumps, other than the obvious binary.

Hmm... guessing: Most but not all of the ROM .dmp files have numbers of lines that are boundary values, like 512 or 1024.
But some are not, like HP9830A_System1_ROM.dmp with 768 lines. (That is 512 + 256, but since when is any ROM that size?)
Maybe the algorithm is 'take n bytes, convert to decimal, next n..., etc' But what is n, and is the order big or little endian?
n can't be 2, since many of the decimal numbers are bigger than 65536. n=4?
I had the same questions, then quickly figured out that the ROM file
format is a text file with one 16-bit octal word per line, with
leading zeros suppressed.

Then the HP9830B.cfg file has the starting location and length in
octal of each ROM file:
Model HP9830B
ROM 000000 001400 HP9830A_System1 Block0
ROM 002000 002000 HP9830A_System2 Block2
ROM 004000 002000 HP9830A_System3 Block4
ROM 006000 002000 HP9830A_System4 Block6
ROM 010000 002000 HP9830A_System5 Block10
ROM 012000 002000 HP9830A_System6 Block12
ROM 014000 002000 HP9830A_System7 Block14
ROM 016000 001000 HP9830A_System8 Block16
ROM 040000 000400 HP9830A_System9 Block40.0
ROM 017000 001000 INFOTEK_FB2 Int0
ROM 024000 002000 INFOTEK_FB1 Int1
ROM 030000 002000 HP11270B Int2
ROM 032000 002000 HP11274B Int3
ROM 036000 002000 HP11273B Slot1
ROM 034000 002000 HP11272B Slot2
ROM 020000 002000 HP11289B Slot3
ROM 022000 002000 HP11279B Slot4
ROM 026000 002000 HP11271B Slot5

What is the difference between the HP9830A_System7_ROM.dmp and
HP9830A_System7_1_ROM.dmp files? Slightly different revisions of the
same ROM?

Guy Dunphy
 

Oh great. But that explains the 'fractional ROM sizes' implied by some of the strange lengths of the .dmp files.

Guy

At 11:53 PM 12/09/2019 +0000, you wrote:
The only gotcha you might have to worry about when you read the ROM is that some ROMs have multiple pages and require a sequence of reads, or address accesses, to cause a state machine to flip the internal page.

Arnie

-----Original Message-----
From: VintHPcom@groups.io <VintHPcom@groups.io> On Behalf Of Guy Dunphy
Sent: Thursday, September 12, 2019 4:49 PM
To: VintHPcom@groups.io
Subject: Re: [VintHPcom] HP 9830A system firmware ROM images?

At 02:34 PM 12/09/2019 -0700, Achim wrote:
Glen,
you will find dumps of all 9830 ROMs (not only the system ROMs) in the files section as part of my GO9800 emulator release 2.3. just unpack the JAR-File with 7zip or the like and you'll find the ROMs of all 9800 model below the media folder in the subfolder for each machine.

Thanks for nudging me to have a look at groups.io/g/VintHPcom, as opposed to just reading the list via email.
I've downloaded GO9800_bin_2.30.zip and unpacked it. There are the ROM files, with names like HP9830A_System1_ROM.dmp But, what is this .dmp format?
It's ASCII, with decimal numbers separated by CR LF newlines. When I would have expected a binary image.
What's the translation algorithm? There seem to be _many_ ".dmp" usages.
I'd previously only seen Intel Hex and Motorola S record format used for ROM dumps, other than the obvious binary.

Hmm... guessing: Most but not all of the ROM .dmp files have numbers of lines that are boundary values, like 512 or 1024.
But some are not, like HP9830A_System1_ROM.dmp with 768 lines. (That is 512 + 256, but since when is any ROM that size?) Maybe the algorithm is 'take n bytes, convert to decimal, next n..., etc' But what is n, and is the order big or little endian?
n can't be 2, since many of the decimal numbers are bigger than 65536. n=4?


Anyway, Achim can you tell me where there is a spec of that format?
And hopefully a MS-Windows util to convert to binary, so I don't have to write my own.

I have two HP 9830A, one working one dead. Have not yet imaged the ROMs. Soldered into PCBs, don't want to risk damage by desoldering all of them. Alternative is to build a jig to read them via the edge connectors. Which is probably what I'll do, when next I get to look at those machines. A 'sanity reference' set of binaries would be good.

Guy






Guy Dunphy
 

At 02:34 PM 12/09/2019 -0700, Achim wrote:
you will find dumps of all 9830 ROMs (not only the system ROMs) in the files section as part of my GO9800 emulator release 2.3. just unpack the JAR-File with 7zip or the like and you'll find the ROMs of all 9800 model below the media folder in the subfolder for each machine.
More questions:

The 9830A system ROMS card is seen here (my thread):
https://www.eevblog.com/forum/vintage-computing/hp-9830a-desktop-programmable-calculator-an-exploration/
This pic specifically:
https://www.eevblog.com/forum/vintage-computing/hp-9830a-desktop-programmable-calculator-an-exploration/?action=dlattach;attach=496241;image

There's a 4 x 7 matrix of ROMs.
How do those map to these .dmp files:
HP9830A_System1_ROM.dmp
HP9830A_System2_ROM.dmp
HP9830A_System3_ROM.dmp
HP9830A_System4_ROM.dmp
HP9830A_System5_ROM.dmp
HP9830A_System6_ROM.dmp
HP9830A_System7_1_ROM.dmp \___ and what is this?
HP9830A_System7_ROM.dmp /
HP9830A_System8_ROM.dmp
HP9830A_System9_ROM.dmp


Guy

Guy Dunphy
 

At 05:02 PM 12/09/2019 -0700, you wrote:
I had the same questions, then quickly figured out that the ROM file
format is a text file with one 16-bit octal word per line, with
leading zeros suppressed.
Doh. Octal. The strings of 7s should have been enough clue for me. But I had
never expected to see the loathsome octal in modern use.
Still don't know whether big or little endian interpretation of the byte pairs.
I wonder if there are any ASCII strings in the binary? They'd reveal the byte ordering.

Then the HP9830B.cfg file has the starting location and length in
octal of each ROM file:
Model HP9830B
Ah. In the 'config' folder. Silly me for expecting some kind of descriptor text
in the same folder as the image files.
Now just need a ROM board schematic to figure out which image file goes with
which (set of?) ROMs on the board.

ROM 000000 001400 HP9830A_System1 Block0 I still want to know how a ROM can be 0x300 long.
ROM 002000 002000 HP9830A_System2 Block2
ROM 004000 002000 HP9830A_System3 Block4
ROM 006000 002000 HP9830A_System4 Block6
ROM 010000 002000 HP9830A_System5 Block10
ROM 012000 002000 HP9830A_System6 Block12
ROM 014000 002000 HP9830A_System7 Block14
ROM 016000 001000 HP9830A_System8 Block16
ROM 040000 000400 HP9830A_System9 Block40.0
ROM 017000 001000 INFOTEK_FB2 Int0
ROM 024000 002000 INFOTEK_FB1 Int1
ROM 030000 002000 HP11270B Int2
ROM 032000 002000 HP11274B Int3
ROM 036000 002000 HP11273B Slot1
ROM 034000 002000 HP11272B Slot2
ROM 020000 002000 HP11289B Slot3
ROM 022000 002000 HP11279B Slot4
ROM 026000 002000 HP11271B Slot5

What is the difference between the HP9830A_System7_ROM.dmp and
HP9830A_System7_1_ROM.dmp files? Slightly different revisions of the
same ROM?

Is this 'words as octal' dump format in wide use?
I have a formats conversion MS-DOS util I wrote long ago (called X2X) that can easily
be extended to include this format. If no one can suggest an existing MS-DOS or MS-Win util
to do it, I'll put this on my todo list.

Guy

Achim Buerger
 

Hi all,

I decided to use the octal number format for two reasons:
1. the original assembler code of these machines is octal. You will see this in all assembler listings of that time. Also the integrated disassembler of the emulator uses only octal numbers.
2. The text format is easy to edit in case of errors or intentional modifications and it can directly compared with th original assembler listings.

You may convert this into any other format by a trivial program. And guys, this is an emulator of on old technology using old data formats. You will find the octal code throughout the emulation.

The HP9830A_System7_1_ROM.dmp is indeed another version of this ROM which I found in one of my machines. Afaik this is the older version with a bug, which was fixed in the other version HP9830A_System7_ROM.dmp. I would have to look in my archive which bug this was.

One of the ROMs was logically devided by the adress decoder and mapped into different adress regions (00000 - 001377 and 40000 - 40377 octal).


Achim

Guy Dunphy
 

At 01:27 AM 14/09/2019 -0700, Achim wrote:
Hi all,
I decided to use the octal number format for two reasons:
1. the original assembler code of these machines is octal. You will see this in all assembler listings of that time. Also the integrated disassembler of the emulator uses only octal numbers.
2. The text format is easy to edit in case of errors or intentional modifications and it can directly compared with th original assembler listings.
No worries. I was just making excuses for why I didn't immediately recognise it was octal.

You may convert this into any other format by a trivial program.
Yeah, I'll add this to my X2X util.
I gather this is NOT a widely used format, you just made it up.
So as the creator, would you like to give it a name? (That I'll use in the X2X user manual.)
A short name please. If not, I'll use OctASC16.

Next question, is it big or little endian? (I can work it out myself if necessary.) But best if you say which.

ie Byte address: 0 1 2 3 4 5 6 ...
Significance: H L H L H L H ... Big endian
L H L H L H L ... Little endian

I'll probably make that an argument switch to the utility.
And since there are no address records (unlike S-records etc) it will generate a warning if the number
of lines is not a binary power.
X2X could really do with an update. Last was in 1998.


And guys, this is an emulator of on old technology using old data formats. You will find the octal code throughout the emulation.
The HP9830A_System7_1_ROM.dmp is indeed another version of this ROM which I found in one of my machines. Afaik this is the older version with a bug, which was fixed in the other version HP9830A_System7_ROM.dmp. I would have to look in my archive which bug this was.
Sure. Actually Octal is great, because I hate it so much that this keeps my 'old computers acquisition syndrome' under control.

One of the ROMs was logically devided by the adress decoder and mapped into different adress regions (00000 - 001377 and 40000 - 40377 octal).
Really, so there'a a block in the physical ROM that doesn't map to anywhere?
I wonder what's in it? Nothing, or an easter egg?

Guy

Achim Buerger
 

Guy,

the ROMs are coded as 16 bit words, big endian.
I just remembered that I used to use OpenOffice Calc for conversion between octal and other formats using the OCT2DEC() and DEC2xxx() functions.

The usable address range of the HP9830 (32k words) was quite filled. For some reason ranges of ROM and RAM alternate, not always on 1k boundaries. There are no easter eggs, except the pecularity, that the HP11273B interface card for the HP9867 mass memory has a build-in transfer buffer of 256 words mapped at address 77000-77377 oct.

Best,
Achim

Glen Slick
 

On Thu, Sep 12, 2019 at 2:34 PM Achim Buerger <achim.r.buerger@...> wrote:

you will find dumps of all 9830 ROMs (not only the system ROMs) in the files section as part of my GO9800 emulator release 2.3. just unpack the JAR-File with 7zip or the like and you'll find the ROMs of all 9800 model below the media folder in the subfolder for each machine.
The person attempting to repair an HP 9830A on his youtube channel
finally has some initial success. He built a replacement board for the
system ROM card which uses a standard EPROM to hold the system
firmware images he extracted from your GO9800 emulator. He previously
determined that several of the mask ROMs on his system ROM card were
faulty.

https://www.youtube.com/watch?v=lYItRNjK1qE

He also wrote several firmware test routine to load on his ROM card
replacement to help him find several other faults with the 9830A which
he was able to repair before being able to get the system firmware to
work.

If anyone has an HP 9830A which may have a faulty system ROM card he
may make bare PCBs available for the system ROM card replacement he
designed.

Jack Rubin
 

Thanks for the pointer Glen - very nice series. 
--
Jack
www.computerarium.org