Can all HP42S version be upgraded to 32K?


I have earlier upgraded a rev C (Singapore built) HP42S to 32K by using the Paul Brogger/Tony Duell approach, but I am now experiencing serious problems with a rev A (American built) HP42S that I am currently trying to upgrade. (When I try to turn on the calculator the beeper sounds furiously and it does not respond to any keypresses...)

Has anybody out there successfully upgraded a rev A HP42S to 32K?

//Erik Ehrling


Yes, I added 32k to one that I sold to Christof. I don't remember specifically checking the ROM version but it was an early USA model with the flush LCD screen, so I'm pretty sure it was an "A" version. I remember the solver menu was different than my newer Singapore models.

I had no problems with the mod.

Is the ram chip the same as you used earlier? Know the mfg/pin out to be correct? What you describe is what I got once with a bad ram chip.


A 7

Just ran another full test and it's 4.0

I've got maybe 6k of code in it right at the moment, wishing I had a less manual input system :)


Comparing side by side, keystroke by keystroke, I'm getting some different results here. This only covers an A and C rev, since I can't find a B rev and probably couldn't afford it right now.

42S A rev: 42S B rev:
+ +
(DISP) SPD 1048928 (DISP) SPD 1047776

(I'm curious as to what exactly that means)

After kbd test, the A rev reports


The C rev the same, but with the printer and beep annunciators also on. (moth models have the arrows on)

Does the difference mean anything?



I fixed it last night; I had checked everything both once and twice but decided to redo the soldering anyway - and hey, now it works perfectly!



I was always puzzled by the SPD XXXXX output of the self tests, the value varies slightly from trial to trial, and only some values are possible (I mean frequently observed). SPD may mean Speed (?), I noticed the 48G+ brings a value almost 4 times as high as the 42. I was unable to firmly correlate the SPD values with battery charge status.

Supposing it is kind of a timer or counter related to CPU clock or instruction execution speed, I wonder *what* could be the reference for such measurement, since the 42S has no quartz crystal to measure against.... May it be a strange case of self-reference?

In my 42S, usual values are in the form 104XXXX, the values of XXXX are 6624, 7200, 7776, 8352, 8928, 9504; 7776, 8352 and 8928 are most frequent. It seems that the "quantum" in this scale is 576, which is 512+64 ...

In the 48G+, for values in the form 36XXXXX, some values for XXXXX are 83056, 83472, 85216, 86080, 86960, 87824, 88704, 89568, 90448, 91312, 93936. It seems to vary more than in the 42S, and there is not a clear step, the smallest one I saw is 416, but most are either 864 or 880.



the SPD value actually is the current
speed at the moment of measurement.

I don't know exactly if the 42S has a quartz oscillator,
the very varying speed displays speak against it,
but since the 17BII has timer functions,
and the 42S is nearly the same hardware
(except the language ROM), it could be possible.

Nevertheless the machine has some kind of
oscillator or clock generator to keep it working,
and it definitely has some internal timers.
So it isn't really a problem for the machine to
measure its own speed;-)




The 42S, 17B and others do indeed have a 32768hz quartz crystal controlled oscillator. You can see these crystals as a small round can on the PC boards of a Pioneer to the right of the CPU chip.

The Saturn CPU uses a x32 internal phase locked loop to generate the nominal 1 mhz clock that you see displayed during the speed test. The result you see displayed is how many clocks occur for given number of fixed cpu instructions. The 48 series machines use a similar cpu at 4 mhz.

It is also interesting to note that the IR printers (82240A/B) use a one clock wide 30.5 us pulse rate burst to send data over the IR link. This bit rate is in direct relation to the base clock rate of a 17/42 machine. More info on the IR data stream can be found in this pdf file:


Speed measuring in the HP42S, ROM rev. C:

The SPD should show the value of the strobe rate (know as CPU nominal speed). The nominal speed is the CPU frequency / 4 and the CPU freqency is calculated as (RATE+1)*524288Hz.

After reset or pressing the ON-key the content of the RATE register is 7.

CPU frequency = (7+1)*524288Hz = 4194304Hz

CPU nominal speed = CPU frequency / 4 = 4194304Hz / 4 = 1048576Hz = 1MHz

How does this measured in the HP42S?

Internally there is just a loop running exactly 62.5ms (derivated from the 8192Hz TIMER2). In this loop there's a simple up counter in the B[X] register. So the content of the B[X] is a value of the speed. To get the shown MHz (CPU nominal speed) value the following formula is used inside:

shown frequeny = (B[X] * 36 + 2) * 16

Here you get your "quantum" of 576, this is 36 * 16 from the formula above.

Why we have differences here? Maybe that the TIMER2 (8192Hz) is directly derivated from the original crystal oscillator (32768Hz) and not form the frequency locked loop circuit making the CPU frequency. But this question must be answered by the chip designer of the 1LR2 chip.





Possibly Related Threads...
Thread Author Replies Views Last Post
  Best way to test HP-71B RAM modules (the 32K/96K ones etc.)? Philippe Lasnier 4 1,713 09-25-2013, 09:54 AM
Last Post: Philippe Lasnier
  HP42S John Mosand 5 1,620 07-22-2012, 03:13 AM
Last Post: Les Koller
  HP42S graphics Han 2 957 07-20-2012, 12:23 AM
Last Post: Raymond Del Tondo
  HP42s ROM aurelio 18 4,851 06-26-2012, 09:36 AM
Last Post: Thomas Klemm
  x root y on hp42s David Griffith 14 2,860 04-08-2012, 12:43 PM
Last Post: Walter B
  HP42s - deal? Cristian Arezzini 26 4,707 02-19-2012, 10:05 AM
Last Post: Cristian Arezzini
  HP42S Dwight Sturrock 4 1,241 03-31-2011, 11:21 PM
Last Post: svisvanatha
  Hhp 32k EPROM box PeterP 2 818 11-25-2010, 03:19 PM
Last Post: PeterP
  Sick HP42S Chuck Galloway 2 934 03-17-2010, 11:46 PM
Last Post: Geoff Quickfall
  Sick HP42S Chuck Galloway 4 1,149 03-17-2010, 04:58 AM
Last Post: Nicholas Cole

Forum Jump: