|HP 41 CV (STO) ....The mistery goes on|
Message #6 Posted by Vieira, Luiz C. (Brazil) on 30 Jan 2003, 5:00 p.m.,
in response to message #5 by Bauscher;TLT
Danke. Your Portuguese expression is also very good. Ich mag die Deutsche Kultur, but I did not have the chance to study German, I just attended six classes and felt I must learn it, it amused me. When I write something in German (like the few words above) I first write in German than I spell check it and finally I use a translator from German to English. If the translation makes sense, chances are the sentence is "korrekt, rechts?". It seems to me you have been in my country some times, am I right? My brother, Paulo Vieira, have already been working at CVRD for many years, but he was in Rio de Janeiro.
Well, let's go for the calculators: I still believe you have an HP41C (fullnut type, earlier) mainboard built inside an HP41CV case OR you have a genuine HP41CV with a failure RAM IC. In the second case, what happens is the following. (a bit of HW) The fullnut type 41CV has six RAM chips, being the first chip (1LA701) a 16-register long and it holds the system "variables", known as the stack registers (X, Y, Z, T and Last X), ALPHA registers (despite being one single memory reference, the system uses four internal registers to hold it), flags and other data. The second one (1LE701) is 64-register long and holds the first 64 registers (you see only 63 because there is a permanent .END. that always uses three bytes and kind of "hide" one register from the count) and it is present in any fullnut type, being it a C, a CV or a CX. When any of these RAM chips fail, the calculator will not switch to ON (I saw an HP41C that insisted on a MEMORY LOST because the 1LA701 had a bad soldering contact with the mainboard). The last four ones (from 1lE702 to 1LE705) hold 64 registers each and are equivalent to four Memory Modules or one Quad Module in the HP41C. If by any reason one of them is no longer working, the remaining ones will never be part of a PROGRAM, but if they exist, they can store data.
Now let's perform some tests and verify what's going on. Think of an HP41C without any data stored on it and one single memory module. Plug the module in port two instead of port one, switch the calculator to ON and execute [SIZE 000]. Toggle to PRGM mode and you see [00 .REG. 63]. If you execute [RCL] 63 you get an instantaneous [NONEXISTENT]. BUT if you execute [RCL] 64, the calculator will not complain. If you switch the calculator to OFF, remove the module from port two and plug it into port three, switch the calculator to ON and execute [STO] 64 again, you have [NONEXISTENT] back to the display. Now do the following:
input press display
128 [STO] [STO _ _ ]
[shift key] [STO IND _ _ ]
[.] [STO IND ST _ ]
[X] [ 128.00 ]
You'll see [STO IND X ] briefly in the display, and if everything is fine, no complains again. In the first case, the missing port-1 module leaves a gap in memory that is 64-register long (R00 to R63) and the first "existing" register is number 64, as long as you have the first ones defined as program memory (what is done by the [SIZE 000] execution). In the second case, the gap is now 128-register long (R00 to R127), being R128 the first one existing. This seems to happen because the system probably checks for memory contiguity at program (uncommitted) level, there is no need to check for memory contiguity at register level.
If you have three modules plugged each in ports two, three and four and you execute [SIZE 000 ], you will still see [00 .END. 63 ] in PRGM mode, provided no program is stored in the calculator. But you may access from R64 to R255 in this case. So, try it: execute SZE 000 and try recalling memory contents (with indirect access) from 64 up to 318, just a few of them in the range for each RAM chip (e.g.: 64, 128, 192, 256; these are the first positions for each of the four RAM chips when you execute [SIZE] 000)
Hope this helps.