HP25 Memory


Is there any data/specification for the HP25 memory ic type 1820-1564. Mine seems to be faulty, unable to store programs & memories.




I thought that was the difference between the 25 and 25C: the "C" stood for continuous memory so that it would retain the program once you turned it off. I would not expect a non-C series 25 to retain memory after turning off.


Alas all the chips in the HP25 (and, in fact, most of the chips in all HP handheld calculators) are HP custom devices. There are no data sheets available, and the only source of spares is other old HP calculators.

FWIW, The HPCC schematics CD-ROM contains reverse-engineered schematics for the 25 and 25C (and IIRC all other Woodstocks).


It's a pity there's no info, although having a look at the HP25 diagram might shed some light on the operation of the chip. I may be re-tracing old steps here but it seems a shame I can't use my calc fully.

thanks anyway



Somone posted something like this a couple of years ago. A reply stated that it probably was one particular chip due to the pattern of what still worked and what didn't.
If you repost with 1)if it is a 25 or 25c 2)when, if at all programs can be stored 3)what can be entered and rolled around in the stack 4)if the memories work 5)does the last x function- then some people here can take a good guess as to what is burned out.
A lot of these go south because of a bad battery connection durring recharging. For some reason; the problem can be worse if the calc is OFF while the charging problem is happening. Sadly; you don't know it happened till the dammage is done and theres no fix for a fried chip.
Good luck. May the RPN deities by with you.


*** 1)if it is a 25 or 25c 2)when, if at all programs can be stored 3)what can be entered and rolled around in the stack 4)if the memories work 5)does the last x function ***

1) HP25

2) Unable to store programs '13 00' for all entries

3) Stack seems to be OK

4) Memory contents always zero

5) LASTx always zero



Here's a little background. Some of this comes from what I know about the HP41 series (NUT CPU), I believe the Woodstocks (ACT CPU) are similar, but hopefully Eric Smith will correct any serious errors.

The bus in these machines is bit serial. There's a 2 phase clock generated by the ACT which is routed to all the chips, there are 56 clock cycles per machine cycle. The ACT also generates a SYNC signal during a particular set of clock states of _most_ machine cycles (yes I believe I know the reason for this, but I don't want to confuse you too much).

Another bus line is ISA (Instruction and Address). During the first part of a machine cycle, the ACT outputs a ROM instruction address bit-serially on this line. During a later part of the cycle -- actually the states where SYNC is asserted, the ROM outputs the instruction, again bit-serially, and it's read by the processor _and by other chips in the machine_.

The last bus line you need to consider is the DATA line. This is normally an output from the ACT, and carries the 56 bits (one bit per clock cycle) from one of the internal registers of the ACT.

The RAM chip connects to all those bus lines and very little else. There is, for example, no traditional Read/Write line or address bus to the RAM.

To store something in RAM, the ROM chip contains a write-to-RAM instruction. To the ACT processor this is essentially a NOP. But the RAM also decodes it, and on the next machine cycle stores the bits from the DATA line into one of the 56 bit RAM 'registers'.

To load something from RAM, the ROM outputs a read-from-RAM instruction. Now the processor makes the DATA line an input, and stores the 56 bits presented on it during the next cycle into the appropriate register. Meanwhile the RAM also decodes that instruction and outputs the selected 56 bit 'register' onto the DATA line.

From this you can see that the RAM chip in an HP25 is a lot more than just RAM. It includes circuitry to decode some of the machine code instructions and do the appropriate things.


A wee bit clearer now, it sound a bit like an early I2C type device! This may be a bit simplistic, but might it be possible to program a Pic to decode these instructions and either read or write the 56bit data to the Pic's internal ram? It would depend on the clock speed of course but if sync and other timing pulses are available ;)

A worthwhile project?




Yes, programming a PIC to replace a Woodstock-series RAM chip is definitely possible. You'd need level shifters on the two-phase clock inputs, because they have a -12.5 to +6.5V swing (IIRC). Most of the PIC chips don't have an operating voltage range extending to +6.5V, but you can probably get away with that on any of them that are spec'd with an absolute maximum rating of +7V. Or you could use a PIC16HV series part.


Tony's description is correct. There's a little bit of additional complication, in that there are actually 16 instructions that read the RAM, 17 that write it, and one that clears a block of 16 registers:

(octal) function
------- -----------------------------------------------------
1160 select register (and selects the block of 16)
0070 read selected register
xx70 (xx != 00) read register xx from selected block of 16
1360 write selected register
xx50 write register xx to selected block of 16
1260 clear block of 16 registers

The "clear block" instruction disappeared from later RAM chips. The 1820-1564 has it, and the 1820-1843 probably does as well. Both of those are 16-register chips. I'm not sure whether the 32-register chips (1820-1886, and the CMOS 5061-0469) have the clear instruction.

There are also combined RAM/ROM chips, used in the 67, 92, 97, 19C, 29C, 27, and Spice (series 30).



Before you start replacing chips, please take a look at this link from Katie:

I am the original owner of a 25C from 1977. It went into storage for 15 years, when I revived it, it no longer stored data properly. RCL yielded random results in all 8 registers, and so did the program memory, as well as the statistical functions (which used the registers).

I accidently discovered that if I left it connected to a charger overnight, it would work perfectly after the charging resistor heat up the calculator. When it cooled, the problem returned.

I followed the directions on the link, guess what, it worked beautifully ever after. Thank you Katie! I also added the zener diode to protect the calculator while I had the case opened and soldering iron out.

If your memory chips weren't fried by the charger, you may want to try out this repair and keep the original chips.

Good luck.


Thanks for that, some usefull information there. I'll stick the meter on it and do some checks.




Dear Graham,

if you need a replacement RAM chip you might salvage one from a
HP25C. These are more common and they have the same functionality,
but a different pinout, so they don't fit into the socket of the
HP25 RAM. I'd love to try such kind of surgery or assist in it.
If you see no way out, please contact me by email.



Rewiring a different pin-out ic should be possible, there is a reasonable amount of space around the chip and not all pins are used. I'm keeping an eye out for any 25/25c's on Ebay, unless you have any;)

I read with interest the post for a new flexible connector for the 41c, that would breath some more life into mine.




Dear Graham,

one hint for hunting "transplant donor" HP25/25C on Ebay: the RAM chip
of them is very close to the battery contacts and if the calc was killed by a leaky battery, then the RAM chip might be corroded, too.

The best way to mount a HP25C RAM chip into a HP25 probably is to
bend the pins 90 degrees or snip them off, solder thin isolated
wires to those which are needed, and the other side of the wires to the PCB, and then glue the RAM chip to the old place an upside down position.

I think if you add the few discrete components of the HP25C circuit which relate to the continous memory you might succeed in getting
a HP25 with continous memory just like the HP25C.

But if the donor HP25C PCB is good (except for a few bad chips) it
might be better to replace the bad chips with good ones from your HP25. This of course assumes that at least the RAM chip of the donor is still good. According to my experience with HP25Cs which were killed by attempting to run them on a charger without battery inserted almost all of them had a dead 1818-0154 ROM (the chip on the right lower side) while all other chips were still good (especially the 1818-0168 anode driver always was good, somehow the display seems to protect it from overvoltage). Second place in fatalities was the ACT. All these chips can be interchanged between HP25 and HP25C. ACT 1820-1523 and 1820-1741 also fit the same socket (can be interchanged in the HP25, HP25C)

BTW, I have a few 5061-0469 RAM chips (25C/29C) and would swap / trade against a 1818-0154 and/ or a 1818-0431 which I am looking for.



As I only have the one 25 at the moment I'll keep looking for a doner machine but I agree with your idea of mounting the chip upside-down and wiring the pins out to the board. I still think it would be a good project to emulate the ram chip within a PIC, a bit more research into the workings of the HP ram chip first though.

many thanks


Possibly Related Threads...
Thread Author Replies Views Last Post
  41 User Memory vs System Memory Gerry Schultz 6 659 07-01-2012, 12:02 AM
Last Post: Monte Dalrymple
  HP25 Programming Failure MikeG 1 274 05-05-2007, 01:54 PM
Last Post: Randy
  Value of HP25? John Polhemus 3 351 02-06-2007, 03:56 PM
Last Post: Thomas Okken
  reparation HP25 french pou 4 452 01-02-2007, 04:41 AM
Last Post: Olivier TREGER
  What's wrong with my HP25? Karen 2 274 11-04-2006, 03:29 PM
Last Post: Randy
  HP25 problem at revival Alain Delmotte 4 381 02-19-2006, 09:40 PM
Last Post: John Garza
  HP25 without or with polar coordinate bug more valuable ? Bernhard 1 256 10-30-2005, 08:36 PM
Last Post: David Smith
  HP25, HP65, HP67 and HP41 emulators Alvaro Gerardo Suarez 0 191 05-25-2005, 12:05 AM
Last Post: Alvaro Gerardo Suarez
  HP25 PROBLEM JULIO PONCE 4 327 04-24-2005, 01:56 PM
Last Post: Andrés C. Rodríguez (Argentina)
  HP25-C Louis 1 269 02-09-2005, 04:01 PM
Last Post: David Smith

Forum Jump: