common ROM code in Spice calculators
#1

There were some ROMs shared beteen the 67 and 97, and between the 19C and 29C, which is not surprising because those were pairs of printing and non-printing machines that were otherwise nearly identical.

And there are certainly many code similarities between various models.

But I was surprised to discover that the Spice series has some large
blocks of identical code shared between different models.

The 32E, 34C, and 38C all share the same ROM code for the first "quad", which is octal 0000-1777 (1 Kword). This contains the basic arithmetic, logarithmic, and exponential routines, and probably more that I haven't yet identified. There are several jump tables of entry points to the various routines; this is the first time that jump tables were used to provide stable entry point addresses in HP handheld calculators. The routines are quite similar to those of the 41C (File cn6b of the HP-41C mainframe VASM linstings), and somewhat different than those of the Woodstock calculators. It
appears that this first quad was intended to be a general-purpose math ROM which could be exhausively tested and then reused as-is in multiple calculators, almost like a "BIOS". This is a departure from their earlier designs, in which even code shared between models, such as the math code, was massaged to fit into each model differently.

Similarly, the 37E and 38E share the same ROM code for the first "quad", but it is significantly different than the first quad of the 32E/34C/38C. In addition, the 37E and 38E share the code from octal 2000-2777, with the exception of eleven words which are different. I suspect that this region contains the core financial calculations, but have not yet attempted to identify the routines.

Interestingly, the 33C first quad does not match either the 32E/34C/38C or the 37E/38E. And it is particularly interesting that the 38E and 38C code does not match. There are probably few actual code differences, but the code organization in the ROM address space appears to be completely different.

I do not yet have ROM dumps of the 31E or 33E for comparison. I expect them both to use the same first quad as the 32E/34C/38C.

The Voyager calculators reverted to each calculator having a completely unique assembly code arrangement; although the math routines are similar if not identical, they are at different addresses in each calculator.

Eric

#2

The Voyager calculators reverted to each calculator having a completely unique assembly code arrangement; although the math routines are similar if not identical, they are at different addresses in each calculator.

True. There is a lot of other (not only math) code which is the same in all Voyagers but at a different addresses. And, as you already pointed in a document you sent me some time ago, there are a lot of math routines shared between HP-41C and Voyagers (especially HP-11C and 15C).

Best regards.



Possibly Related Threads…
Thread Author Replies Views Last Post
  Is Linux common among us RPN types? db (martinez, ca.) 46 15,959 12-11-2013, 08:25 PM
Last Post: Paul Guertin
  HP PRIME: APP program code DISAPPEARS !! Joseph Ec 0 1,170 11-25-2013, 11:35 AM
Last Post: Joseph Ec
  Where to the 32-bit version of User Code Utiltiy for HP-41 ? Olivier (Wa) 2 1,470 09-26-2013, 01:55 AM
Last Post: Olivier (Wa)
  A HP42S Code Editor Andreas 9 2,733 09-22-2013, 03:17 AM
Last Post: Andreas
  CLASSIC/SPICE KEY LEGENDS Mike T. 2 1,368 08-21-2013, 04:53 PM
Last Post: Mike T.
  Dynamic Gaussian Quadrature code in Excel VBA Namir 4 1,697 07-30-2013, 07:37 PM
Last Post: Namir
  HP85 Programmable ROM cardtridge 82929A-service ROM not working- inaki 2 1,839 04-25-2013, 08:08 AM
Last Post: inaki
  HP Spice Legacy in the former CCCP (MK-61) Mike Morrow 17 4,469 04-07-2013, 08:25 PM
Last Post: db (martinez, ca.)
  HP-65 Morse Code Dan Lewis 7 2,297 01-29-2013, 05:22 PM
Last Post: Mike T.
  shelf life time of a ROM, EEPROM, EPROM vs Mask Rom Guido (Canada) 6 2,913 01-11-2013, 04:09 PM
Last Post: Thomas Falk

Forum Jump: