The Museum of HP Calculators

HP Forum Archive 09

[ Return to Index | Top of Index ]

HP-41C/CV/CX ROM Revisions
Message #1 Posted by Chris Catotti (Florida) on 1 Nov 2002, 11:16 a.m.

I was reading my copy of EXTEND YOUR HP-41 by W Mier-Jedrzejowicz, pages 639-642, ROM Revisions . I wanted to check the ROM revisions on my HP-41's.

The HP-41 is a 64K computer, divide into 16 4K pages of ROM. The most significant digit of the 4-digit hexadecimal address is the page, i.e., the system ROM's begin at adresseses 0000, 1000 and 2000. The TIME module begins at 5000, the printer at 6000, the HP-IL at 7000. The lower and upper ports start at 8000 (lower Port 1) through F000 (upper port 4).

The ROM revision letter is a single letter located at xFFE in each ROM where x corresponds to the page 0 through F.

One way to check this is the following:

1. Assign STO b to a key. The PPC ROM function MK works. Use 145, 124, -12 to assign it to the shifted B key.

2. create the nonnormalized number 00000000xFFD, where x is the RO<M page of interest (0, 1 or 2 for system ROMs).

3. Go to any program in any ROM, for example if MATH pac is installed GTO "SINH".

4. Press key where STO b is assigned.

5. Press SST and keep it down. You should see the next program step. LBL 00 corresponds to a revision A, LBL 01 to revision B, and so on to LBL 14 which corresponds to O.

Here are the System ROM versions for ROM pages 0, 1 and 2:

ROM's  Date Codes    Comments
-----  ----------    ----------------------
DDE    1926-1940     All classical bugs 
FDE    1936-1952     Bug 3 removed 
FEE    1951-2034     Bug 1. 2. 4 removed as well 
GFF    2035-84??     Bug 5, 7, 8 removed too. The first version of the H-41CV 
HFF    84??-present  The current versionm of the HP-41CX 
NFL    2329-present  Current version of the HP-41CX


Again from page 632 Revision numbers are not always changed, even when small changes are made to the instructions in a ROM. The HP-41CX revision numbers have not been changed, though a number of changes have been made to the reset code (what happens when you press ON while holding down ENTER and backarrow). Even the change in the turn-on code which makes it possible to do a MEMORY LOST when you have a zero length buffer did not merit a new revision number.

My Question - finally

How can I tell which version of HP-41CX I have, since the revision letters have not changes? Are there more that two releases of HP-41CX operating systems? Does anyone else care? Tools I have to look at ROMs are CCD Module, PPC ROM, ZENROM, HEPAX Module, and others.

Best Wishes,
Chris

      
Re: HP-41C/CV/CX ROM Revisions
Message #2 Posted by Emmanuel, France on 1 Nov 2002, 1:02 p.m.,
in response to message #1 by Chris Catotti (Florida)

Dear Chris,
I think you have to compare each ROM. Studying disassembled listing is a good solution. I use an Eprom copy of a service module and when I turn one of my HP-41s, it beeps and shows the followings messages:
CPU OK
SELECT CPU
I press '-' and I get:
ROM 0:N 1:F 2:L

If you practise MCode, those three letters come from codes at addresses 0FFE, 1FFE and 2FFE.

Yours.

            
Re: HP-41C/CV/CX ROM Revisions
Message #3 Posted by Chris Catotti (Florida) on 1 Nov 2002, 3:26 p.m.,
in response to message #2 by Emmanuel, France

I am pulling out those digits, but W. Mier-Jedrzejowicz says that " the HP-41CX revision numbers have not been changed, though a nunber of changes have been made" (Page 642).

Perhaps the ROMs have a checksum digit such that:

(sum of all bytes in the 1K page) modulo (256) = HH

where HH is a constant two digit hexadecimal number and is the same for all ROMs.

Did HP code it this way? Can I examine a specific CHECKSUM byte (what address) in search of at least identifying that one 41CX is the same or different from another?

                  
Re: HP-41C/CV/CX ROM Revisions
Message #4 Posted by Emmanuel, France on 1 Nov 2002, 3:54 p.m.,
in response to message #3 by Chris Catotti (Florida)

Dear Chris,
Here are the displays I was talking about.
After pressing 'ON':


After key '-' for instance:

Codes from 2 different HP-41CX:
Fullnut 0FFF 08C
        1FFF 0C0
        2FFF 1B9
Halfnut 0FFF 08C
        1FFF 0C0
        2FFF 1B9
XFFF is a rom checksum.
They are both NFL version?!
                        
Re: HP-41C/CV/CX ROM Revisions
Message #5 Posted by Chris Catotti (Florida) on 2 Nov 2002, 1:55 a.m.,
in response to message #4 by Emmanuel, France

I have checked three 41CX's with the same result.

Reference the original message. I found one 41C, S/N 2048A01265 that has:

ROMs  DATE CODES  COMMENTS
----  ----------  -----------------------------
GEF   2049        GOLD BALL CONTACTS AT BATTERY 
                  TUNNEL. BUGS 1,2,4 REMOVED.
                  BUG 7 PRESENT

Has anyone seen these three system ROMs togther?

                              
Re: HP-41C/CV/CX ROM Revisions
Message #6 Posted by Emmanuel, rance on 2 Nov 2002, 3:03 a.m.,
in response to message #5 by Chris Catotti (Florida)

I'll check all of mines. There's NFL, GFF, GFE, ... I read somewhere that you can get thoses codes with the IL-Devil. I'll let you know when I'll find the article.

                                    
Re: HP-41C/CV/CX ROM Revisions
Message #7 Posted by Chris Catotti (Florida) on 2 Nov 2002, 9:47 a.m.,
in response to message #6 by Emmanuel, rance

I am using a HEPAX module function DISASM

The function prompts for a four digit HEX start and end address, and then displays the m-code listings. For ROM versions just enter xFFE for start and finish rangr\es where x is 0, 1 0r 2 for system ROMs or 3-F for the rest. The Checksum is the next byte xFFF. The checksums for 41CX (NFL ROMs) have matched your value.

                                          
Re: HP-41C/CV/CX ROM Revisions
Message #8 Posted by Emmanuel, France on 2 Nov 2002, 12:00 p.m.,
in response to message #7 by Chris Catotti (Florida)

Right, Chris !

                                                
Re: HP-41C/CV/CX ROM Revisions
Message #9 Posted by Raymond Hellstern (Germany) on 2 Nov 2002, 12:17 p.m.,
in response to message #8 by Emmanuel, France

Hi,

I'm using my own ML cmd REVX? for this. ROM page in X --> REVX? --> Revision string appended to ALPHA.

This works for pages 0 - 15, where the first three (built-in) pages give the ROM rev of the OS, e.g. N,F, and L, higher pages return a 4 character string, like TM1C, EF1D, etc, and some return simply @@@@.

Raymond


[ Return to Index | Top of Index ]

Go back to the main exhibit hall