Help identifying 41C custom ROM module
02-17-2022, 09:39 AM
Post: #1
 dmh Member Posts: 177 Joined: Nov 2020
Help identifying 41C custom ROM module

TIA, dmh

02-17-2022, 01:30 PM
Post: #2
 rprosperi Super Moderator Posts: 5,287 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
The 2 best places to look are:

Matthias' 41 ROM Database, here:

http://www.hp-collection.org/41database.html

and the ROM listing in Monte's 41CL manual, available here:

http://www.systemyde.com/pdf/sy41cl.pdf

In Mathias's database, it's probably easiest to search by ROM ID, assuming you can get that with Diags or another utility module (PPC, ZENROM, etc.)

--Bob Prosperi
02-18-2022, 01:29 AM (This post was last modified: 02-18-2022 01:30 AM by dmh.)
Post: #3
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
The module uses XROM ID 15 and 16 and I can't find it in these places.

I guess I'll extract it and have a closer look.

(02-17-2022 01:30 PM)rprosperi Wrote:  The 2 best places to look are:

Matthias' 41 ROM Database, here:

http://www.hp-collection.org/41database.html

and the ROM listing in Monte's 41CL manual, available here:

http://www.systemyde.com/pdf/sy41cl.pdf

In Mathias's database, it's probably easiest to search by ROM ID, assuming you can get that with Diags or another utility module (PPC, ZENROM, etc.)
02-18-2022, 02:53 AM
Post: #4
 rprosperi Super Moderator Posts: 5,287 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
(02-18-2022 01:29 AM)dmh Wrote:  The module uses XROM ID 15 and 16 and I can't find it in these places.

I guess I'll extract it and have a closer look.

Since it's an EPROM, its possible that it's a one-of-a-kind module. OTOH, there are both FOCAL and MCODE routines in there, so it's not just a bunch of user programs thrown together into a module in an MLDL or anything like that. It will be interesting to see what you find, but it's not easy to figure out what it does by simply examining the code.

--Bob Prosperi
02-18-2022, 04:03 AM
Post: #5
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
Here's a copy of the catalog for the module.

Code:
**K-41EC**   P           >                       RR          VS          VV          a           7           DL          RS          FR          PXM         GK          DS          FSR         LR          ERR         F+          ER          K?          NF          FSs         SPT         TV          SRS         SC          RES         DI          DC          =C          RE          TH          RA          AVA          C55          S55          PC           PF           UPC          UPF          UPFS         NREM         AI          GEO         TSI         TOP         TX          TRN         KLR         VTC         GF          CFL         JN          IB          DDL         DO          TF          XYZ         MBD         A-A         CS          AS          NB          IN          EDP
02-18-2022, 05:09 AM
Post: #6
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
So what is the best way to extract the FOCAL and machine code from the ROM and making it human readable?

I ended up using lifutils and then rom2raw and there's lots of XROM calls and it doesn't appear to have a mapping option to the actual name to make it more readable like decomp41 and decomp41 just lists the first program.

Interestingly the FOCAL code also includes synthetic programming.

I want to extract and disassemble the machine code too.

Sample output from rom2raw:
Code:
37▸LBL "JN" 38 CLA 39 ARCL 00 40 ALENG 41 X=0? 42 STO 00 43 RCL 00 44 SIGN 45 XROM 25,32                 Non-local XROM 46 "◆◆◆)◆α◆" 47 X<> M                      Synthetic 48 STO d                      Synthetic 49 CLX 50 X<> M                      Synthetic 51 XROM 25,45                 Non-local XROM 52 SF 25 53 ARCL L 54 XROM 25,15                 Non-local XROM 55 FC? 25 56 GTO 08 57 "JOB:""
02-18-2022, 06:39 AM (This post was last modified: 02-18-2022 06:40 AM by Massimo Gnerucci.)
Post: #7
 Massimo Gnerucci Senior Member Posts: 2,457 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
(02-18-2022 05:09 AM)dmh Wrote:  So what is the best way to extract the FOCAL and machine code from the ROM and making it human readable?

I ended up using lifutils and then rom2raw and there's lots of XROM calls and it doesn't appear to have a mapping option to the actual name to make it more readable like decomp41 and decomp41 just lists the first program.

Interestingly the FOCAL code also includes synthetic programming.

I want to extract and disassemble the machine code too.

Sample output from rom2raw:
Code:
37▸LBL "JN" 38 CLA 39 ARCL 00 40 ALENG 41 X=0? 42 STO 00 43 RCL 00 44 SIGN 45 XROM 25,32                 Non-local XROM 46 "◆◆◆)◆α◆" 47 X<> M                      Synthetic 48 STO d                      Synthetic 49 CLX 50 X<> M                      Synthetic 51 XROM 25,45                 Non-local XROM 52 SF 25 53 ARCL L 54 XROM 25,15                 Non-local XROM 55 FC? 25 56 GTO 08 57 "JOB:""

Those XROM 25 should be X functions: 25,32=RCLFLAG, 25,45=STOFLAG and 25,15=FLSIZE

Greetings,
Massimo

-+×÷ ↔ left is right and right is wrong
02-18-2022, 07:07 AM
Post: #8
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
Yes, I can manually translate these but that’s time consuming and makes it harder to read which is already difficult enough without any documentation or idea of what each program is for / intended to do.

(02-18-2022 06:39 AM)Massimo Gnerucci Wrote:
(02-18-2022 05:09 AM)dmh Wrote:  So what is the best way to extract the FOCAL and machine code from the ROM and making it human readable?

I ended up using lifutils and then rom2raw and there's lots of XROM calls and it doesn't appear to have a mapping option to the actual name to make it more readable like decomp41 and decomp41 just lists the first program.

Interestingly the FOCAL code also includes synthetic programming.

I want to extract and disassemble the machine code too.

Sample output from rom2raw:
Code:
37▸LBL "JN" 38 CLA 39 ARCL 00 40 ALENG 41 X=0? 42 STO 00 43 RCL 00 44 SIGN 45 XROM 25,32                 Non-local XROM 46 "◆◆◆)◆α◆" 47 X<> M                      Synthetic 48 STO d                      Synthetic 49 CLX 50 X<> M                      Synthetic 51 XROM 25,45                 Non-local XROM 52 SF 25 53 ARCL L 54 XROM 25,15                 Non-local XROM 55 FC? 25 56 GTO 08 57 "JOB:""

Those XROM 25 should be X functions: 25,32=RCLFLAG, 25,45=STOFLAG and 25,15=FLSIZE
02-18-2022, 07:57 AM
Post: #9
 Didier Lachieze Senior Member Posts: 1,471 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
(02-18-2022 07:07 AM)dmh Wrote:  Yes, I can manually translate these but that’s time consuming and makes it harder to read which is already difficult enough without any documentation or idea of what each program is for / intended to do.

You can use the HP41UC tool from Leo Duran which supports the following XROM modules in Compiler and Decompiler:
• [ 17 ] PLOTTER 1A-
• [ 18 ] PLOTTER 2A-
• [ 22 ] -HP-IL DEV
• [ 23 ] -X MASS 1A
• [ 23 ] -X EXT FCN
• [ 23 ] -X CTL FNS
• [ 23 ] -ADV CTL FN
• [ 24 ] -HP-IL DEV
• [ 25 ] -EXT FCN 2D
• [ 25 ] -CX EXT FCN
• [ 26 ] -TIME 2C
• [ 26 ] -CX TIME
• [ 27 ] -WAND 1F
• [ 28 ] -MASS ST 1H
• [ 28 ] -CTL FNS
• [ 29 ] -PRINTER 2E
• [ 30 ] CARD RDR 1E
02-18-2022, 09:31 AM
Post: #10
 MeindertKuipers Member Posts: 174 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
You can use my ROMHandler here in My DropBox

This is an intermediate version and the manual does not ,match this program. Works well to disassemble both mcode and Focal

Regards, Meindert
02-18-2022, 11:27 AM
Post: #11
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
Wow - this looks fantastic!!!

Couple of questions...

How do I get it to disassemble the whole 8Kb module, I ticked the 8K ROM option but it only did the first half?

Once (if) it disassembles the whole ROM, will the XROMs referencing the other ROM half show the name (eg lower half, ROM ID 15 references upper half, ROM ID 16 but shows as unknown)?

Thank you :-)

(02-18-2022 09:31 AM)MeindertKuipers Wrote:  You can use my ROMHandler here in My DropBox

This is an intermediate version and the manual does not ,match this program. Works well to disassemble both mcode and Focal
02-18-2022, 12:18 PM
Post: #12
 MeindertKuipers Member Posts: 174 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
To disassemble an 8K ROM, you need to do the following:
- first open the 2nd 4K of the ROM, and click the button Move to 2n 4K
- then open the first 4K of the ROM
- tick the Disasm 8K ROM box

You may now list the FAT or do a disassemble and it will do both pages, including references between the ROM's.

Good luck with this. I actually just copied a newer build of the program in the same DropBox location. This is a large executable because the debug information is still in there, and there was an issue with 8K roms, not certain if that was already fixed in the earlier available version

Good luck and let us know what you have discovered

(02-18-2022 11:27 AM)dmh Wrote:  Wow - this looks fantastic!!!

Couple of questions...

How do I get it to disassemble the whole 8Kb module, I ticked the 8K ROM option but it only did the first half?

Once (if) it disassembles the whole ROM, will the XROMs referencing the other ROM half show the name (eg lower half, ROM ID 15 references upper half, ROM ID 16 but shows as unknown)?

Thank you :-)

(02-18-2022 09:31 AM)MeindertKuipers Wrote:  You can use my ROMHandler here in My DropBox

This is an intermediate version and the manual does not ,match this program. Works well to disassemble both mcode and Focal

Regards, Meindert
02-18-2022, 12:28 PM
Post: #13
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
Thank you again ?.

just to clarify, I extracted the 8K ROM in 1 file (using HEPAX). Does it need to be in 2 separate files?

(02-18-2022 12:18 PM)MeindertKuipers Wrote:  To disassemble an 8K ROM, you need to do the following:
- first open the 2nd 4K of the ROM, and click the button Move to 2n 4K
- then open the first 4K of the ROM
- tick the Disasm 8K ROM box

You may now list the FAT or do a disassemble and it will do both pages, including references between the ROM's.

Good luck with this. I actually just copied a newer build of the program in the same DropBox location. This is a large executable because the debug information is still in there, and there was an issue with 8K roms, not certain if that was already fixed in the earlier available version

Good luck and let us know what you have discovered

(02-18-2022 11:27 AM)dmh Wrote:  Wow - this looks fantastic!!!

Couple of questions...

How do I get it to disassemble the whole 8Kb module, I ticked the 8K ROM option but it only did the first half?

Once (if) it disassembles the whole ROM, will the XROMs referencing the other ROM half show the name (eg lower half, ROM ID 15 references upper half, ROM ID 16 but shows as unknown)?

Thank you :-)
02-18-2022, 01:02 PM
Post: #14
 MeindertKuipers Member Posts: 174 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
Correct, you need 2 seperate .ROM files, there is no option to read as one file.

(02-18-2022 12:28 PM)dmh Wrote:  Thank you again ?.

just to clarify, I extracted the 8K ROM in 1 file (using HEPAX). Does it need to be in 2 separate files?

(02-18-2022 12:18 PM)MeindertKuipers Wrote:  To disassemble an 8K ROM, you need to do the following:
- first open the 2nd 4K of the ROM, and click the button Move to 2n 4K
- then open the first 4K of the ROM
- tick the Disasm 8K ROM box

You may now list the FAT or do a disassemble and it will do both pages, including references between the ROM's.

Good luck with this. I actually just copied a newer build of the program in the same DropBox location. This is a large executable because the debug information is still in there, and there was an issue with 8K roms, not certain if that was already fixed in the earlier available version

Good luck and let us know what you have discovered

Regards, Meindert
02-19-2022, 03:35 AM
Post: #15
 derekamos Member Posts: 56 Joined: Jan 2015
RE: Help identifying 41C custom ROM module
Hi there Meindert,
Great offering & effort on your part - thank you. DA
02-21-2022, 01:07 AM
Post: #16
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
Thanks - this worked perfectly!!! :-)

BTW, does anyone have the equipment to rewrite these EPROM modules these days?

(02-18-2022 01:02 PM)MeindertKuipers Wrote:  Correct, you need 2 seperate .ROM files, there is no option to read as one file.

(02-18-2022 12:28 PM)dmh Wrote:  Thank you again ?.

just to clarify, I extracted the 8K ROM in 1 file (using HEPAX). Does it need to be in 2 separate files?
02-21-2022, 02:36 AM
Post: #17
 Sylvain Cote Senior Member Posts: 1,784 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
(02-21-2022 01:07 AM)dmh Wrote:  BTW, does anyone have the equipment to rewrite these EPROM modules these days?
Your module is not a ZEPROM, so it's either an CMT OTP/EPROM module or an HP custom ROM.

HP custom ROM and CMT OTP module cannot be reprogrammed.
CMT EPROM and ZEPROM can be erased and reprogrammed.

To my knowledge, very few, if any, working CMT EPROM programmer still exist today.
Some member of this forum still have a working ZVC programmer for the ZEPROM module.

Sylvain
02-21-2022, 02:48 AM
Post: #18
 rprosperi Super Moderator Posts: 5,287 Joined: Dec 2013
RE: Help identifying 41C custom ROM module
(02-21-2022 02:36 AM)Sylvain Cote Wrote:
(02-21-2022 01:07 AM)dmh Wrote:  BTW, does anyone have the equipment to rewrite these EPROM modules these days?
Your module is not a ZEPROM, so it's either an CMT OTP/EPROM module or an HP custom ROM.

HP custom ROM and CMT OTP module cannot be reprogrammed.
CMT EPROM and ZEPROM can be erased and reprogrammed.

To my knowledge, very few, if any, working CMT EPROM programmer still exist today.
Some member of this forum still have a working ZVC programmer for the ZEPROM module.

Sylvain

Is the "65" black label on the module case covering a hole/window in the case, which would be directly above the EPROM chip? If so, this is very likely a CMT module, which I have seen in the past with the exact same "8K" paper label on the "handle" end of the module.

OTOH, I think all the ZEPROM modules from Zengrange either have a "ZENGRANGE" label, or no label at all on the "handle" end.

Once you identify it, it's easier to figure out options for burning it again.

--Bob Prosperi
02-21-2022, 03:12 AM
Post: #19
 dmh Member Posts: 177 Joined: Nov 2020
RE: Help identifying 41C custom ROM module
I can't feel any edge or change under the 65 sticker by pressing or sliding a finger nail over it and not sure I want to remove it as it probably won't go back on.

There are small slits on each side which I assume are for opening it if that helps determine which type it is.

(02-21-2022 02:48 AM)rprosperi Wrote:
(02-21-2022 02:36 AM)Sylvain Cote Wrote:  Your module is not a ZEPROM, so it's either an CMT OTP/EPROM module or an HP custom ROM.

HP custom ROM and CMT OTP module cannot be reprogrammed.
CMT EPROM and ZEPROM can be erased and reprogrammed.

To my knowledge, very few, if any, working CMT EPROM programmer still exist today.
Some member of this forum still have a working ZVC programmer for the ZEPROM module.

Sylvain

Is the "65" black label on the module case covering a hole/window in the case, which would be directly above the EPROM chip? If so, this is very likely a CMT module, which I have seen in the past with the exact same "8K" paper label on the "handle" end of the module.

OTOH, I think all the ZEPROM modules from Zengrange either have a "ZENGRANGE" label, or no label at all on the "handle" end.

Once you identify it, it's easier to figure out options for burning it again.
 « Next Oldest | Next Newest »

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