Post Reply 
Manage MultiMod's ROMs
03-29-2021, 10:33 PM
Post: #1
Manage MultiMod's ROMs
Mark Fleming's excellent new MultiMod (MM) accessory for the HP-71B easily lets you add several ROM images to your 71B as explained in this post and in more detail in the manual (available in the repo).

You can issue several commands to ‘manage’ the ROMs as follows:

Code:
    Enable Standard Modules – POKE “2C000”,”1”
    Enable Standard + Hidden Module – POKE “2C000”,”3”
    Disable all modules – POKE “2C000”,”0”

Once you have configured things, you will mostly just leave them enabled; after all, that’s the whole point of installing them – to have them available for your use. But there are some times when you may want to change the status, for example:

Disable Modules – sometimes when troubleshooting or exploring issues with a particular ROM, you can simply pull it out (after turning off) to see how things behave with the module not installed. Another similar case is when you want to use a conflicting module – for example if you have the Forth/Assembler ROM in the MM, but you want to plug-in your HP-41 Translator ROM to check something.

In the case of the MM, you can’t (or shouldn’t) pull the module out, you simply issue the above command to Disable all modules, then power-cycle the 71B (OFF then ON) and all the ROMs are now unplugged and you can proceed to use the unit as if none of the ROMs were installed.

Enable Hidden Module – This 8KB module is described on pp. 13-14 in the user manual. Although pre-configured to include JFG’s excellent User Library LEX, this module slot can be used to hold any 8KB ROM image. One possible use of this is to store LEX files which may conflict with other LEX files you install into IRAMs or even main RAM. When you need to use those LEX files, you want some means to remove (or hide from the OS) the LEX files which conflict, but without having to disable the entire MM. One easy way to do this is to create an 8K ROM image and install it in the hidden module. When you need to use the LEX files stored there, you enable the hidden ROMs, but when you want to suppress those in order to be able to use the others, you can simply hide the hidden module by enabling only the Standard modules.

While playing with this, I was annoyed at constantly having to use the POKE commands, so I created this simple little program, Manage MultiMod (MMM) to let you easily select the operating mode without the tedium of typing the commands.

Code:
100 ! MMM - Manage MultiMod ROMs
200 DISP "(S)td/(H)id/(D)is MM ?"
210 ON POS("SHDQ",KEY$)+1 GOTO 210,300,400,500,700
300 POKE "2C000","1" @ GOTO 600
400 POKE "2C000","3" @ GOTO 600
500 POKE "2C000","0"
600 WAIT .5 @ OFF 
700 DISP "" @ END

Notes:

When you run the program, it displays the operating mode choices:

[S] – Enable Standard Modules (but not the hidden module)
[H] – Enable Standard and Hidden Modules
[D] – Disable all Modules
[Q] – Quit, without making any changes (Not displayed but always available)

All other keys are ignored (technically [ON] will abort, but don’t do that, play nice)

In order for the configuration changes to take effect the 71B must be power-cycled. The program can only do half of that, once it has POKE’d the config value, it shuts-off the 71B; you will have to press [ON] to turn your machine back on.

The “Wait .5” is to provide a short ‘bus settling’ type delay, giving the POKE command enough time to be processed before shutting down. You never notice this is needed when doing this manually as you can’t enter new commands fast enough to cause problems. Without this, the program can crash to MEMORY LOST, while in practice, the extra time isn’t even noticed.

In general, KEYS$ should never be used, KEYWAIT$ should be used instead (KEYWAIT$ shuts OS down to low-power mode while waiting for a key to be pressed), if you have that keyword in a LEX file, however it’s possible that if you disable all the ROMs in the MM, you no longer have that keyword available, so it’s used here to insure it can work in all modes.

Thanks Mark for an excellent reason to dabble further with my favorite machine. Big Grin

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
03-29-2021, 10:48 PM
Post: #2
RE: Manage MultiMod's ROMs
Good to know about that half second wait... I'll have to add that to the similar program I wrote.

Also, I'll be stealing that POS()+1 trick. Wink

Can't wait for Mark to do a version 2.0 with 64-128 KB SRAM on it too! (Hey, I can dream.)
Visit this user's website Find all posts by this user
Quote this message in a reply
03-30-2021, 01:10 AM
Post: #3
RE: Manage MultiMod's ROMs
Thanks for the tip, Bob.

I was just going to write something similar but being new to the 71B, I would have never thought of the .5 sec. Wait.

My Collection: 55, 67 (Teenix Mod), 15C, 16C, 41CV, 41CX, 41-CL, DM41X, DM42, 42S, 48G, 71B, 75C, 95LX, HP-150, Portable+, HP-86, Integral PC.
Find all posts by this user
Quote this message in a reply
03-30-2021, 01:20 AM
Post: #4
RE: Manage MultiMod's ROMs
(03-30-2021 01:10 AM)twoweims Wrote:  I was just going to write something similar but being new to the 71B, I would have never thought of the .5 sec. Wait.

I initially didn't think of it either, but after several MEM LOST errors and a bunch of troubleshooting, finally figured out this solved the problem. I've no idea at all if it's sensible from a h/w viewpoint, but it worked. Sometimes, pragmatism beats know-how. Wink

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
03-30-2021, 12:41 PM
Post: #5
RE: Manage MultiMod's ROMs
Bob,
Thank you for the nice program! I have been experimenting with the MM as well and find this helpful!
Best,
Al

17bii | 32s | 32sii | 41c | 41cv | 41cx | 42s | 48g | 48g+ | 48gx | 50g | 30b

Find all posts by this user
Quote this message in a reply
03-30-2021, 09:18 PM
Post: #6
RE: Manage MultiMod's ROMs
(03-29-2021 10:48 PM)Dave Britten Wrote:  Can't wait for Mark to do a version 2.0 with 64-128 KB SRAM on it too! (Hey, I can dream.)

As the form/fit/function would change it would need a new name. Something like SRAM71. Smile
Find all posts by this user
Quote this message in a reply
05-08-2021, 03:05 PM
Post: #7
RE: Manage MultiMod's ROMs
Awesome module !

Thanks Mark !!!

As shown above, it copes very well with HP-IL + front port RAM + front port FIN + front port CMT 64 EPROM!!! (Powered with Eneloops in my case)

I'm delighted :-)

Etienne
Visit this user's website Find all posts by this user
Quote this message in a reply
05-08-2021, 09:52 PM
Post: #8
RE: Manage MultiMod's ROMs
Nice video Etienne! So much eye candy, soo many toys... Smile

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
05-09-2021, 12:04 AM
Post: #9
RE: Manage MultiMod's ROMs
(05-08-2021 03:05 PM)Etienne Victoria Wrote:  Thanks Mark !!!

Merci, Etienne !

Your video has reminded me of Le Grand Prix d’Espagne that will take place tomorrow. I’d completely forgotten about it. Ever since the races stopped being shown in our major TV channel (Globo TV) I keep missing them.
Nice HP bench multimeter you have. We had a few of these at work, also the older LED display models.

Gerson.
Find all posts by this user
Quote this message in a reply
Post Reply 




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