HP Forums

Full Version: HP 41 Catalog implementation
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
While the HP41 CATALOG function may probably be called revolutionary for its time (as the whole machine) I am curious why there is no way to use/execute a function when browsing the catalog. It wouldn't seem too far-fetched to allow using e.g. XEQ while stepping through a catalog to execute the "current" function.

I'm still very new to HP41 operation and wonder if there are any known or suspected design considerations that would make this impractical or downright stupid.
(05-02-2021 07:25 PM)Siegfried Wrote: [ -> ]While the HP41 CATALOG function may probably be called revolutionary for its time (as the whole machine) I am curious why there is no way to use/execute a function when browsing the catalog. It wouldn't seem too far-fetched to allow using e.g. XEQ while stepping through a catalog to execute the "current" function.

I'm still very new to HP41 operation and wonder if there are any known or suspected design considerations that would make this impractical or downright stupid.

I would like to know as well. That would have seemed like a really handy way to execute a function that you didn't remember the name of and had to search the catalog for. I suppose the answer might be that "Life is short and ROM is full" Smile
You can do that on catalog 1.

press CAT 1.
when the function appears press R/S.
use backarrow to exit catalog.
press R/S and the function will execute.

Works also with roms containing normal programs but not with the built in functions in cat 3
XEQ+ is similar to what you want, in Angel's WarpCore module. However, in trying it just now to verify something to write here, I did just find a serious bug, the first bug I think I've ever found in the 41cx, which I need to tell him about. It apparently crashed and I thought I lost everything; but after pressing various button combinations which I thought were supposed to reset it, I did get it back, but a lot of my key assignments were gone, and a few new ones were there but I couldn't tell what they were, like that CATALOG was doing something else, and so was XEQ. When I figured this out, the solution of course was to turn off the USER keyboard. My programs and files were still there, and the time and date were still correct.
The CCD ROM (from 1985) added this feature while in CAT-2:

-In normal mode, pressing [XEQ] would execute the currently highlighted command/function

-In Program mode (yes, CAT-2 works in PRGM mode) pressing [XEQ] will insert the currently highlighted command into the program you are editing, as the next instruction

Angel Martin's AMC-OSX module includes this, plus many other CCD ROM extensions to the OS, so it can be installed and used today in emulators, the 41CL and the DM41X.

So this is not a new idea, and has been there a very long time.

As for why it was not in the original OS, who can say, but it's likely a combination of ROM being full (which it pretty much was) as well the team certainly never imagining from the beginning, just how far and wide the variety of modules would evolve in it's future.

Its easy to look back on an old, mature design and wonder why the initial developers didn't see this or add that, but the magic hindsight of 20/20 just wasn't available. Remember that the core 41 OS was basically done in '79 and even the CX features were added as mostly external ROM commands; it never really evolved very much once completed. The most interesting OS enhancements came from 3rd parties, like this one.
(05-03-2021 12:34 AM)Garth Wilson Wrote: [ -> ]It apparently crashed and I thought I lost everything; but after pressing various button combinations which I thought were supposed to reset it, I did get it back, but a lot of my key assignments were gone, and a few new ones were there but I couldn't tell what they were, like that CATALOG was doing something else, and so was XEQ. When I figured this out, the solution of course was to turn off the USER keyboard. My programs and files were still there, and the time and date were still correct.

It's hard to say without more details (which configuration, what modules were plugged where, which sequence of events to reproduce the failure). The fact that some of your key assignments were lost indicates a write to status register "e" instead of to the LCD. This feels like a ROM mismatch (Library#4 / WARP), so I'd first ensure they have the paired versions.I have attached the latest & greatest ROM images here for you to try.

PS. Was this on a CL or using NoVRAMs? I know Diego has recently updated the way bank-switching works precisely to allow for all WARP functionality to work on them, but this may not be related to your case. Another thing to watch for is not to plug the WARP in an external port that contains another bank-switching module, this is a known restriction of the bank-switching models.
Thanks. It's a stock Halfnut 41cx with Clonix-D which I bought 3½ years ago. I had Diego load it before sending it, because I don't use Windows, and his software for it was Windows-only. I have it in port 1, and there's nothing in port 3 below it. The double XMem is in port 2, and my combined HPIL/XIO was not plugged in at the time. When the latter is plugged in (so I can use my HP92198 video interface), CAT 2 shows:

[attachment=9441]

I think that when I pressed some of the keys that got the re-assignments, and held the key down to see what it was trying to do, it gave an XROM number. I should have written everything down; but I was afraid that if it was in some kind of loop, it would do more destruction if I didn't hurry. It's the only problem I've had that seemed to be a bug.

For others' benefit, what I wrote in the email was:
Quote:What was in the display when the calc froze up included @@x& (where I can't remember what the x was). I had been looking for SQRT which was getting skipped in the S's, and what might have triggered the problem was that I tried the Q after the S, looking for anything starting with SQ (for SQRT). When it appeared to be crashed, I pressed <shift>ON, <shift><back_arrow>, <back_arrow>ON, R/S, and different things, and then I think I pressed ON by itself and got it to turn off, then when I turned it back on, there was some degree of control again but it was hard to figure out what was happening since my key assignments had changed. Then I took it out of USER keyboard. I had to re-do most of my key assignments, but the rest of what was in memory seems to be intact, and SIZE? gives the number I had had it at.

I've never before had a crash, although I did get the MEMORY LOST at least a couple of times in the 1980's when I was new to synthetic programming, before I had the ZENROM module.
(05-03-2021 06:35 AM)Garth Wilson Wrote: [ -> ]When the latter is plugged in (so I can use my HP92198 video interface), CAT 2 shows:

Since it wouldn't appear in a CAT'2 listing I don't see the Library#4 listed, but I assume it's in the Clonix-D. Also I see you're using the WARPB2 version, quite an old one - although this shoudn't be a problem if it's paired with the correct Library#4 of course.

I understand your situation with Windoze but if at all possible it'll be good to upgrade to the latest revisions.
(05-03-2021 01:17 AM)rprosperi Wrote: [ -> ]The CCD ROM (from 1985) added this feature while in CAT-2:

-In normal mode, pressing [XEQ] would execute the currently highlighted command/function

-In Program mode (yes, CAT-2 works in PRGM mode) pressing [XEQ] will insert the currently highlighted command into the program you are editing, as the next instruction
I am amazed that a ROM could change the CATALOG behaviour like that.
Another reason to get one...


(05-03-2021 01:17 AM)rprosperi Wrote: [ -> ]Its easy to look back on an old, mature design and wonder why the initial developers didn't see this or add that, but the magic hindsight of 20/20 just wasn't available. Remember that the core 41 OS was basically done in '79 and even the CX features were added as mostly external ROM commands; it never really evolved very much once completed. The most interesting OS enhancements came from 3rd parties, like this one.
Of course. I assumed as much.
I would suggest getting an HP-41CL (HP-41 with a replacement CPU board) or a DM-41.

A WHOLE lot easier than finding the physical CCD rom or Zenrom these days. :-)

My 2 cents.
Gene
I think the reason is a combination of that it would not work that way in the original design, and the ROM was full.

When a catalog is stopped the keyboard acts "the normal way". Pressing a numeric keys starts numeric entry (and terminates the catalog). The logical thing would be altered XEQ key, but it works the usual way putting up a prompt.

R/S and SST/BST have special handling when you are in catalog mode (ENTER also in enhanced 41CX CAT 2).

I suppose they could have special handled XEQ too, but the ROM was literally full and there were other things that probably should have been there that were (also) left out. They had to stop somewhere.
Reference URL's