41CV Processor/Memory Problem


I recently repaired corrosion damage in an HP-41CV I picked up on eBay. The calculator seems to work fine until I execute "SIZE 100". This is what I see when I do that right after an ON-CLX reset to MEMORY LOST. I get a delay before the calculator comes back. Switching to program mode, I see "00 REG 219" Pressing SST Gives me a long interval during which "01" is displayed in the *right* hand part of the display. Eventually, I get a program line. Continuing to press SST, I see successive lines, sometimes with long delays in between. Currently, I see the following program:

01 LN 02

02 LBL 01

03 RCL 12

04 LBL 03

04 DEG

06 LBL 07

07 .

08 CLS(sigma)

09 LBL 00

10 FRC

11 9

12 END

Doing "GTO.." results in a very quick "PACKING." Following this, the program listed above is still in memory, but the initial line has changed to another CLS(sigma).

The first line 01 is synthetic. 'LN 02' appears to be bytes 0x50 and 0x02. CLS is 0x70. There is a delay single stepping between lines 01 and 02 in the second form of the program. Clearly, the permenant .END. is missing on this machine after resizing.

This guy had a small crack in the lower left hand screw post. I decided not to mess with it since I hate removing the flexible connector and plastic frame from damaged posts. Can anyone venture an opinion whether the above symptoms could result only from a bad connection between the processor and keyboard PCBs? My guess is "No" because flexing the (fairly solid feeling) case doesn't effect the "program" I see, It sounds more like a bad RAM chip to me.

Any help and/or advice gratefully accepted.


The problem occurs at "SIZE 256" and not above, I've discovered. Nice power of two, that...


Hi, Howard;

I consider that you have a full-nut HP41CV from now on. Is that valid?

The HP41CV main memory is divided in five blocks of (64x7) bytes, or 64 registers each. There is always a 1-register low counting, as you can see in the maximum 00 REG 319 (320 = 64 X 5). This is because of the permanent 3-byte .END., and you can check this by setting SIZE [319] and adding at least four [ENTER^] instructions (or any other 1-byte) prior to read PACKING and TRY AGAIN.

Now that you mention that you do not have troubles when executing [SIZE] 256 till [SIZE] 319, I'd guess your HP41CV has a problem with one (or some) of the lower-addressed RAM chip (maybe uper-addressed, I'm not sure right now). Have you noticed if you also have strange contents in the upper numbered registers? I mean, after executing [SIZE] 319, what do you have with 254 [RCL][IND]X, 255 [RCL][IND]X, 256 [RCL][IND]X... Chances are you'll get weird results, though.

If you have an available 41CV (fullnut) to donate parts, you could try replacing some of the RAM chips. I have an halfnut HP41CV that ony reads 64 registers, and anytime I load a program on it (keystrokes, card reader, etc.) it has bytes being changed after the first execution. I succeeded building its mainboard in an HP41C fullnut case, so I have one of each: full- and half-nut 41C, CV and CX, altough the HP41C halfnut is, in fact, a deffective HP41CV. Because the RAM, ROM and display driver are all located in the hybrid board in the LCD assembly, there are no chances to try repairing it... (sob!)

I hope you succeed. Let us know if you need guidance.

Luiz (Brazil)


Thanks for your detailed reply, Luiz. It confirms my suspicion that this is a RAM problem.

Yes, the calculator is a "full-nut" 41-CV. It's the only CV I own. I have a fully functional CX and several scrap 41Cs. presumably none of those can provide replacement RAM chips.

I ran the following program at SIZE 315, which resulted in 0 free registers.

01 0.314

02 LBL 00



05 X!=Y?

06 XEQ 01

07 STO Y

08 INT


10 X<>Y

11 ISG X

12 GTO 00


14 LBL 01

15 TONE 9


17 RTN

I never heard the beep when I ran this.


If this is indeed a memory problem, then it might be solved by a future firmware version of the MLDL2000. Support for User Registers is planned as a feature (which can be upgraded by the user of course).



That would be *cool*.

It would also be an extremely useful diagnostic tool to be able to mask out or page portions of user memory. Add that to the capability of loading the service module, and you have a very handy addition to the calculator repairman's toolkit!


The Service Module should work in the MLDL2000 as it is, but I have not tested it. Some tests will fail since the Service Module is reported to have additional hardware.



Well, it should at least be interesting to see what doesn't work.

Are there any known surviving service modules out there? I imagine HP made a few over the years, but not nearly as many as the consumer modules.


Some tests will fail since the Service Module is reported to have additional hardware.

The module is just a ROM hard-addressed at 0x4000. There are tests that will fail without additional hardware, but that hardware isn't part of the service module. See the service manual for more information.


I have just tested the Service Module, and it works fine in the MLDL2000, all tests seem to run just OK. Due to bank switching the Service Module has to be put in all 4 banks of Page 4.

I was mistaken by the Service Manual, there are some tests that require measurement of the current and somehow I was under the impression that the Service Module would measure voltage.



How would that work? Bad RAM chips generally still drive the bus when they are addressed; they just drive the wrong data. So adding an external device is unlikely to fix it, unless you also remove the bad chip.


Unsoldering the bad chips is the best, but it depends on which part of the chip is failing. If the RAM IC fails to decode the address, it will not drive the bus.



Hi, Howard;

I thought about one thing and wrote another...

Please, read:

... after executing [SIZE] 000, what do you have with 254 [RCL][IND]X, 255 [RCL][IND]X, 256 [RCL][IND]X...
instead of:
after executing [SIZE] 319, what do you have with 254 [RCL][IND]X, 255 [RCL][IND]X, 256 [RCL][IND]X...
I read it now and I see the stupid instruction of mine... If you execute SIZE 319, there will be no registers to test. You mentioned it clearly, I just messed the nubers up.


Luiz (Brazil)


No problem, Luiz. We all make mistakes (see my note to JF below) and that one was minor. I appreciate your help.


I wonder what is this "LN 02 synthetic line". I can't see any way for the HP-41 to generate it. Are you sure of this?



You're right, Jeff. Thanks for pointing that out.

I think I merged the second line number with the first instruction while editing my post without noticing it. When I saw it later, I had already done GTO.. so the first instruction on the calculator had changed to CLS. I just rationalized my way into describing an impossible synthetic instruction. 8)

The first line is '01 LN' not '01 LN 02'. I have just reverified that GTO.. does change the first instruction to CLS. But now that makes better sense in bit flipping terms. We go from 0101 0000 to 0111 0000 without adding any bytes.

Edited: 24 June 2005, 5:19 p.m.

Possibly Related Threads...
Thread Author Replies Views Last Post
  HP Prime: problem with the memory of calculator during the debug process? Carlos CM (Mexico) 7 1,141 12-06-2013, 12:34 PM
Last Post: Carlos CM (Mexico)
  HP-41CV - A Walk Down Memory Lane Tom Lewis 9 927 03-18-2013, 11:14 PM
Last Post: BShoring
  HP-41CV power problem Don Davis 2 450 10-11-2012, 09:13 PM
Last Post: Don Davis
  41 User Memory vs System Memory Gerry Schultz 6 776 07-01-2012, 12:02 AM
Last Post: Monte Dalrymple
  HP35s Internal Investigations - new processor? stefan 5 726 03-08-2012, 04:48 AM
Last Post: Paul Dale
  Unable to start and run EMU41 on new 64-bit Processor Laptop running with Windows 7 Antoine M. Couëtte 6 687 12-18-2011, 10:23 AM
Last Post: Massimo Gnerucci (Italy)
  HP17BII+ Hardware - Atmel processor? Thomas Chrapkiewicz 4 516 10-16-2011, 11:32 PM
Last Post: JamesT
  Help with 41CV - memory problem ? timw 7 702 09-08-2011, 02:15 AM
Last Post: Marcus von Cube, Germany
  41CV Fullnut shows "Memory Lost" consantly John Robinson 7 757 05-27-2011, 05:51 PM
Last Post: John Robinson
  NUT processor NOP's (beginner's question) Diego Diaz 5 552 05-10-2010, 12:41 PM
Last Post: Meindert Kuipers

Forum Jump: