The Museum of HP Calculators

HP Forum Archive 17

[ Return to Index | Top of Index ]

HP-71B Math ROM IDS !?
Message #1 Posted by Valentin Albillo on 16 Apr 2007, 10:27 a.m.

Hi, all:

    Does anyone have (or can tell me where to find) the commented assembly language listings for the source code of the HP-71B Math ROM ?

    I'm not sure if there is some official HP documentation for it (the equivalent of the System ROMs IDS volumes), or else if some knowledgeable individuals took on the hard work of disassembling the ROM and create some documented listings of it.

    This failing, any listings or documentation about its internal routines, data structures, entry points, etc. would be most welcome. Thanks in advance and

Best regards from V.

      
Re: HP-71B Math ROM IDS !?
Message #2 Posted by Eric Smith on 16 Apr 2007, 1:01 p.m.,
in response to message #1 by Valentin Albillo

HP didn't publish any documentation on the internals of the Math ROM. I've heard of one person disassembling it.

      
Re: HP-71B Math ROM IDS !?
Message #3 Posted by Mike (Stgt) on 17 Apr 2007, 3:48 a.m.,
in response to message #1 by Valentin Albillo

That would be a nice to have. But even in the VASM listings of the HP-41 (NoMaS) all programers comments are discarded in the math routines. If you look just for "Math on Machines" or such kind of stuff see at Numerical Recipes.

Ciao.....Mike

            
Re: HP-71B Math ROM IDS !?
Message #4 Posted by Eric Smith on 17 Apr 2007, 3:55 a.m.,
in response to message #3 by Mike (Stgt)

Quote:
even in the VASM listings of the HP-41 (NoMaS) all programers comments are discarded in the math routines.

It is my understanding that the core math routines were never commented. The documentation consisted of detailed annotated flow charts, which were maintained separately from the source code.

The mainframe VASM listings were not sanitized in any way before PPC published them.

            
Re: HP-71B Math ROM IDS !?
Message #5 Posted by Valentin Albillo on 17 Apr 2007, 5:58 a.m.,
in response to message #3 by Mike (Stgt)

Hi, Mike & Eric:

    Thanks for your help. I'm not looking for general math routines or such but for specific Math ROM internal details.

    I'm just finishing a program for the HP-71B, to be featured in a future article in Datafile belonging to my new "Boldly Going" series which, although already offering impresive performance, it would nevertheless benefit enormously in terms of speed and accuracy if only I could implement a couple of LEX keywords which would have to perform some pretty intrincate numeric array processing and arithmetic.

    Being able to have a look at Math ROM assembly language listings would provide the necessary examples on how to parse and decompile MAT keywords, how to efficiently access array elements, and how to use internal Math ROM routines to do most of the grudgery, such as converting values back and forth between their usual 12-digit representation and the internal 15-digit form with extended exponents.

    Having that kind of 'sample code' to have a look at, I would be able to concentrate in the specific math in my routine and so would be able to complete it with 1% the effort and time than if I have to try and concoct parsing, etc, starting from scratch. Due to my ever increasing lack of enough free time for these endeavours, this would surely mean the difference between being able to do it or not doing it at all.

    If any of you can supply such details, either taken from existing Math ROM listings or from other sources (perhaps LEX files implementing some MAT-style keywords and such), I would be very obligued indeed. Specifically I would need to have a look at sample code to:

    • Parse and decompile a MAT-style keyword (e.g.: MAT R=GINIT(N), MAT A=EVAL(A,X) )

    • Efficiently access elements in a numeric array, both recall and storage

    • Convert elements taken from the array in 12-digit form to 15-digit for processing, then back to 12-form for storage in the result array.

    • Details (entry point, parameters, conditions on entry & exit, etc) of useful routines in the Math ROM to help with basic matrix operations such as arithmetic, scaling, zeroing, etc.

    Thanks in advance if you can help with some of this, and

Best regards from V.
                  
Re: HP-71B Math ROM IDS !?
Message #6 Posted by J-F Garnier on 17 Apr 2007, 7:00 a.m.,
in response to message #5 by Valentin Albillo

Hi Valentin,

I don't know many LEX that implemented MAT-style keywords. I remember one LEX from PPC-Paris, but I'm not sure it was fully fool-proof, I will look if I can recover it.

If you want examples of Math processing, the HP71 IDS is of course a valuable source, but also the JPC Rom source files (that I'm pround to have rebuilt last year :-) e.g. the div.a or combarr.a modules. Most comments are in French...

J-F

                        
Thanks a lot, J-F. [NT]
Message #7 Posted by Valentin Albillo on 18 Apr 2007, 10:54 a.m.,
in response to message #6 by J-F Garnier

Best regards from V.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall