41C and modules from eBay — "NONEXISTENT"

Everything about 41C 41CV and 41CX Hardware

41C and modules from eBay — "NONEXISTENT"

Postby Jordan Orlando » Sun Apr 04, 2021 11:24 am

I just bought what appears to be a fully functional HP-41C, from eBay. (The seller said it "appeared to work," and it passed all rudimentary tests I could come up with.) I then bought the MATH I and STANDARD modules, each from a different vendor. (Both vendors promised that the modules "work perfectly.")

I can key in programs and run them fine (see them in CAT 1 etc.).

All catalog functions seem to work. However when I load programs from either module, I frequently get "NONEXISTENT" while running them.

For example, running the "WORDS" hangman game, from the STANDARD module. The program starts; prompts me for the word; I type in the six-letter word; I hit R/S...the little jet airplane flies across the display (that's how I think of it)...and then I get "NONEXISTENT."

I've tried moving the modules to different slots, but it makes no difference.

Can anyone point me in the right direction? I suspect (based on that last test — moving the modules around) that the problem's with the 41C hardware, but of course I don't have any idea. Is there a way to test the registers?

Thank you very much in advance for your time and attention, whoever can help!

Jordan
Jordan Orlando
....
....
 
Posts: 13
Joined: Sun Apr 04, 2021 11:16 am

Re: 41C and modules from eBay — "NONEXISTENT"

Postby Jordan Orlando » Sun Apr 04, 2021 11:30 am

Update: based on hints on this topic I ran "SIZE 000" and got 0.90000. I don't really understand, but I suspect this indicates a problem with the registers?
Jordan Orlando
....
....
 
Posts: 13
Joined: Sun Apr 04, 2021 11:16 am

Re: 41C and modules from eBay — "NONEXISTENT"

Postby rprosperi » Sun Apr 04, 2021 12:53 pm

You probably don't have enough registers allocated for the programs you run. Typically, a program's documentation will state how many registers it requires and you need to ensure they are allocated before running the program. If they are not allocated, when the program tries to run, you will indeed see the NONEXISTENT message, because they don't exist. Just use SIZE NNN to set it for NNN registers.

If the program doesn't state the requirement, take a guess, and use something like SIZE 020; if that doesn't do it, try a higher number until you find it works. But don't use too many as doing so takes away storage space for your programs. Your post says you got an HP-41C - if actually a 41C, and not a 41CV or 41CX, I suggest you pick up a Quad Memory Module from eBay, they are usually fairly cheap ($50 if you're patient) as this adds the maximum amount of main memory a 41 can use, so you can set SIZE 100 or more and still have room for many programs.

Good luck, and welcome to the 41 club!
rprosperi
.......
.......
 
Posts: 31
Joined: Sat Apr 11, 2015 1:03 pm

Re: 41C and modules from eBay — "NONEXISTENT"

Postby Garth » Sun Apr 04, 2021 9:06 pm

When it stops with the NONEXISTENT message, can you press and hold SST and see what the instruction is? It might say for example STO 12, and then you'd know you don't have that many data registers set aside; or it might say RCL IND 01, and you can see what's in R01 and see if it's higher than the number of registers you have.
Garth
Moderator
Moderator
 
Posts: 224
Joined: Tue Jan 20, 2009 1:31 am

Re: 41C and modules from eBay — "NONEXISTENT"

Postby Jordan Orlando » Mon Apr 05, 2021 12:15 am

Garth wrote:When it stops with the NONEXISTENT message, can you press and hold SST and see what the instruction is? It might say for example STO 12, and then you'd know you don't have that many data registers set aside; or it might say RCL IND 01, and you can see what's in R01 and see if it's higher than the number of registers you have.


Thanks very much for your prompt and courteous reply.

I'm running "Words," the hangman game from the Standard module (which I assume is the same "Word Guessing Game" program from the Standard Applications Manual).

I "XEQ" the program and it loads. It prompts me for a six-letter word; I comply. When I hit R/S — and get "NONEXISTENT" — holding down SST gives me "05 ASTO 08"

The same program runs fine on the iOS app I've got loaded (from its virtual "Standard" module which I assume is identical to the real one I've bought). I realize that the virtualized HP calculators out there tend to take liberties with the calculator's memory structure: maybe providing extra registers or a taller stack. Or, maybe there's some previous operation I performed on my real 41C that clogged up the registers.

So I can't simply put in a module and "XEQ" its programs without doing some sort of register/stack cleanup? I apologize for my ignorance about the basic functions of this amazing, prescient 1970s machine. (From the discussion, I suspect it was the same thing, on the HP65 or the 67/97, loading similar programs from cards.)
Jordan Orlando
....
....
 
Posts: 13
Joined: Sun Apr 04, 2021 11:16 am

Re: 41C and modules from eBay — "NONEXISTENT"

Postby Jordan Orlando » Mon Apr 05, 2021 12:23 am

Jordan Orlando wrote:
Garth wrote:When it stops with the NONEXISTENT message, can you press and hold SST and see what the instruction is? It might say for example STO 12, and then you'd know you don't have that many data registers set aside; or it might say RCL IND 01, and you can see what's in R01 and see if it's higher than the number of registers you have.


Thanks very much for your prompt and courteous reply.

I'm running "Words," the hangman game from the Standard module (which I assume is the same "Word Guessing Game" program from the Standard Applications Manual).

I "XEQ" the program and it loads. It prompts me for a six-letter word; I comply. When I hit R/S — and get "NONEXISTENT" — holding down SST gives me "05 ASTO 08"

The same program runs fine on the iOS app I've got loaded (from its virtual "Standard" module which I assume is identical to the real one I've bought). I realize that the virtualized HP calculators out there tend to take liberties with the calculator's memory structure: maybe providing extra registers or a taller stack. Or, maybe there's some previous operation I performed on my real 41C that clogged up the registers.

So I can't simply put in a module and "XEQ" its programs without doing some sort of register/stack cleanup? I apologize for my ignorance about the basic functions of this amazing, prescient 1970s machine. (From the discussion, I suspect it was the same thing, on the HP65 or the 67/97, loading similar programs from cards.)


It worked exactly as you said! Thank you very much.

I just increased the size, and the program ran.

It's gratifying because I was at that early, ignorant stage with any new tech product where you're just familiar enough to get into trouble but not familiar enough to get out of it, so you begin to wonder if you bought damaged goods (all of this exacerbated by what happens when you're buying 40-year old gear).

Of course the iOS emulator doesn't have this problem because it's emulating a 41CV, with more memory.

I've wanted one of these since my dad brought home the brochures for the product line, when I was in middle school — I've recently gotten obsessively interested in the history of HP, and actually getting a 41C has been very gratifying. Hooray for the Internet, which makes stuff like this possible.
Jordan Orlando
....
....
 
Posts: 13
Joined: Sun Apr 04, 2021 11:16 am

Re: 41C and modules from eBay — "NONEXISTENT"

Postby Garth » Mon Apr 05, 2021 1:15 am

It's a happy feeling to get it going, huh?! :D

When you run something in a module, it doesn't get loaded. It just runs in place, in the ROM.

As far as registers go, there's a limited amount of RAM, and it is split between program memory and data registers. Nothing happens to the RAM, but system variables hold a position for that wall so you don't for example accidentally write data over part of a program if you didn't have SIZE set for enough data registers.

As far as age goes, these things seem to be very well made, and holding up well. The original version, which HP officially internally named the "Coconut" (not the "Fullnut") before they had a model number for it, was less reliable but apparently easier to repair. In 1985 or '6, it was replaced by the "Halfnut," named that because the effort was to reduce costs, and early ideas included half the number of ICs and half the number of ports. The 4 ports remained though, fortunately.

My 41cx from '86 is a Halfnut, and I have had only very minor problems with it, like that two or three of the keys have to be pressed harder than the rest in order to register, and when I've dropped it, I've had to bang on the side with the heel of my hand to restore the connections to the bridge board to get it to go back on, then set the time and date again. The memory is not lost though, and I have not had a MEMORY LOST condition in three decades. When I did, it was because I was new to synthetic programming which gives you access to more registers and lets you make programs more efficient, get more frequencies and durations of tones, and other cool stuff, but may result in wiping out your memory if you don't know what you're doing and you do something wrong and it can't make sense of the program chain anymore so it starts over. That never happened again after I got the ZENROM when it was on sale, which makes all the synthetics as if they were standard, like STO M.

The 41 is still going strong in a sense though, with very smart engineers still coming up with new modules for it. Instead of plugging in a lot of hardware modules, we get something like Diego's Clonix module and put a lot of ROM module images in its flash. Angel has been quite a prolific writer of new modules, with new functions written in MCode for maximum performance. See my HP-41 links in my links page linked in my signature line. The Systemyde page linked there has a lot of his modules' manuals. My own CAT2 now shows this on the monitor with the HP92198 HP-IL 80-column interface:

CAT2_12-12-17.jpg


The 41CL transplant board for the Coconut 41's (which I don't have) is more-modern hardware that's up to 50 times as fast as the original (hence the "L," the Roman numeral for 50) and comes with over 300 modules already installed. Then there's SwissMicros and their DM41x which is even faster but does not have HP-IL.

So welcome to a world that is bigger than you thought, and has advanced a lot even in the last five years! :D How I got into it and what I've done with it is told at http://wilsonminesco.com/HP41intro.html .
Garth
Moderator
Moderator
 
Posts: 224
Joined: Tue Jan 20, 2009 1:31 am

Re: 41C and modules from eBay — "NONEXISTENT"

Postby Jordan Orlando » Mon Apr 05, 2021 1:28 am

Garth wrote:It's a happy feeling to get it going, huh?! :D

When you run something in a module, it doesn't get loaded. It just runs in place, in the ROM.

As far as registers go, there's a limited amount of RAM, and it is split between program memory and data registers. Nothing happens to the RAM, but system variables hold a position for that wall so you don't for example accidentally write data over part of a program if you didn't have SIZE set for enough data registers.

As far as age goes, these things seem to be very well made, and holding up well. The original version, which HP officially internally named the "Coconut" (not the "Fullnut") before they had a model number for it, was less reliable but apparently easier to repair. In 1985 or '6, it was replaced by the "Halfnut," named that because the effort was to reduce costs, and early ideas included half the number of ICs and half the number of ports. The 4 ports remained though, fortunately.

My 41cx from '86 is a Halfnut, and I have had only very minor problems with it, like that two or three of the keys have to be pressed harder than the rest in order to register, and when I've dropped it, I've had to bang on the side with the heel of my hand to restore the connections to the bridge board to get it to go back on, then set the time and date again. The memory is not lost though, and I have not had a MEMORY LOST condition in three decades. When I did, it was because I was new to synthetic programming which gives you access to more registers and lets you make programs more efficient, get more frequencies and durations of tones, and other cool stuff, but may result in wiping out your memory if you don't know what you're doing and you do something wrong and it can't make sense of the program chain anymore so it starts over. That never happened again after I got the ZENROM when it was on sale, which makes all the synthetics as if they were standard, like STO M.

The 41 is still going strong in a sense though, with very smart engineers still coming up with new modules for it. Instead of plugging in a lot of hardware modules, we get something like Diego's Clonix module and put a lot of ROM module images in its flash. Angel has been quite a prolific writer of new modules, with new functions written in MCode for maximum performance. See my HP-41 links in my links page linked in my signature line. The Systemyde page linked there has a lot of his modules' manuals. My own CAT2 now shows this on the monitor with the HP92198 HP-IL 80-column interface:

CAT2_12-12-17.jpg


The 41CL transplant board for the Coconut 41's (which I don't have) is more-modern hardware that's up to 50 times as fast as the original (hence the "L," the Roman numeral for 50) and comes with over 300 modules already installed. Then there's SwissMicros and their DM41x which is even faster but does not have HP-IL.

So welcome to a world that is bigger than you thought, and has advanced a lot even in the last five years! :D How I got into it and what I've done with it is told at http://wilsonminesco.com/HP41intro.html .


All very interesting, and thanks again for replying. I knew some of what you're referring to, but not all of it. As I learn more about the prodcut line, I'm especially impressed, technically and aesthetically, with the "blanknut" 41CV — I love that they saw a market for that, given how much customization was going on. (It's fascinating that all of this was happening concurrently with the development of the PC — I can understand why so many engineers and academics would rather have a programmable HP than a technically more advanced and capable Apple ][ or IBM PC.)

The history of HP is extremely impressive. They made so many smart decisions, and the cleverness of their thinking seems to have increased dramatically in the mid-Sixties when they simultaneously started investigating the CORDIC algorithms and getting involved with Tom Osborne (who must have been very gratified after his experiences with Smith-Corona). The development of the 41C reminds me of the best of 21st Century innovation: to have a system as popular, dependable and rock-solid as the magnetic-card system (over those three machines), with that giant user base....and then to abandon the entire thing for a total paradigm shift into Atari-like ROM modules and an alphanumeric programming language (and, to maintain backward compatibility with that card reader, which much have been very difficult to make work), is NASA-level management and intelligence.

It's also interesting how, after the HP-65, they started that smaller series — the white-cased machines with fewer rows of keys — and then turned that technology around in order to make the HP-67, which superficially resembled the 65 but used the new, miniaturized technology.

Thanks again for your run-down of what's going on in the present-day 41C community — it's fascinating.
Jordan Orlando
....
....
 
Posts: 13
Joined: Sun Apr 04, 2021 11:16 am


Return to HP-41 Hardware

Who is online

Users browsing this forum: Jordan Orlando and 1 guest