Post Reply 
HP 41 program name conflict
06-20-2022, 11:07 AM
Post: #1
HP 41 program name conflict
Hello,

I have a HP41CX with both math pac and advantage pac.

We all know there is a program named solve both in math and adv pac.

But what I want is to execute the “Solve” in ADV pac.

The reality is every time the 41 call the "solve" in the Math pac.

How to define which "solve" to call?

Also if I have the user program which created by myself named " sovle" .This one will be executed by HP41 in priority.

I know the HP41 will search from cat 1 firstly then cat 2 and cat 3.

Both "solve" in math and ADV pac are all in cat2.

HP35 HP45 HP55 HP65 HP67 HP21 HP25 HP29C HP19C HP97 HP10C HP11C HP12C HP15C HP16C HP31E HP32E HP33E HP33C HP34C HP37E HP38E HP38C HP41
Find all posts by this user
Quote this message in a reply
06-20-2022, 11:18 AM
Post: #2
RE: HP 41 program name conflict
The HP-41 will execute the first occurrence of the label found in CAT 2.

Couple of options:

1) Make sure the Advantage rom is in a lower numbered port than the MATH rom. Top left for example. That should make the system find the SOLVE in the Advantage rom.

2) Turn the HP-41 off. Remove the math rom and turn the HP-41 back on. Assign the Advantage rom's SOLVE program to a key. Turn off, plug the MATH rom back in, turn on the HP-41 again.

Pressing the key should execute the Advantage rom program regardless of whether it is in a lower numbered port.

3) Other options require synthetic programming.
Find all posts by this user
Quote this message in a reply
06-21-2022, 07:42 PM
Post: #3
RE: HP 41 program name conflict
This is similar to Gene's keyboard assignment solution, but with a program.
  1. Turn off the calc and remove the advantage rom
  2. Turn on the calc. Create a program called MSOLVE:
    Code:
    LBL "MSOLVE"
    XEQ "SOLVE"
    RTN
  3. Turn off the calculator
  4. Remove the math ROM and insert the advantage rom
  5. Turn on the calc and create a program called ASOLVE:
    Code:
    LBL "ASOLVE"
    XEQ "SOLVE"
    RTN
  6. Turn off the calc and plug in both roms.

Now when you execute ASOLVE, it will call the SOLVE program from the advantage ROM and when you execute MSOLVE it will call the program from the math ROM. This works because the "XEQ 'SOLVE'" instructions get turned into XROM instructions that execute the correct routine. It uses an extra level in the return stack, but hopefully that isn't a problem. It appears that you can't GTO an XROM routine by number, only XEQ it.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)