The Museum of HP Calculators

HP Forum Archive 08

[ Return to Index | Top of Index ]

Disabling Internal Hp-41 roms(long)
Message #1 Posted by Rick Garza on 8 July 2002, 2:35 p.m.

<crazy bizzare esoteric stuff follows>

Is there a way to 'fool' the hp-41 internal roms to remain in sleep on a CV? The idea is an external shadow rom that occupies the entire 64k space and still have the internal regs/mframe stay disabled so as not to draw power or conflict with "now" external instruction fetches.

If it was a C, or an older CV I could cut traces -- but this model has everything neatly buried inside a single chip....and besides its a new challenge.

I know that PWO (PowerOn) is driven by the CPU to disable -- but its also an input for the PowerOnReset circuit. So I wonder can I drive it from the outside? Would this cause the the usual POR? Or with all the RUN/STANDBY/SLEEP smarts would it be just be safely ignored and look for instructions anyway? I know its CMOS and its NEVER ok to have driving pins tied directly together, but I have managed to pull this off it the duty cycle is closely watched....

I have also looked at SYNC but not sure if it would be of any use at all. Looks like its mainly for timing and syncing regs/display/etc and the serial roms respond to the internal addrdecode primarily.

Banking (the Hp scheme) would work only if the 1Lxx internal chiproms are new enough to support it -- and why would they in bank1 and $0000-$3fff? But maybe?

Theres always relocating code up to $8000 but I lose being able to use all those nice roms that have been developed over the years...

The ugliest is to make an external state decoder that watches for long instructions and translates code BEFORE it gets to the cpu, but this could get complicated. It does have the advantage of nice unlimited banking possibilties(not the kind you can deposit--chuckle--).

I ask these questions because I am now committed to making this HP-41CV act as a microCNC controller and will have a plugin that ends in a USB connector.

I am familiar with all the modern stuff. After looking at PICs, Rabbits, ARMs, etc and designing a unit from scratch(been there done that too many times!) the HP-41 is very very attractive and besides its turning into a lot of....FUN! My hats off to the design team, and to think back then I bought a TI!

Who sayz u cant tich an oldog nwe trix?

Regards, Rick

Re: Disabling Internal Hp-41 roms(long)
Message #2 Posted by Meindert Kuipers on 8 July 2002, 3:05 p.m.,
in response to message #1 by Rick Garza

Just have a look at The (preliminary) specs for an MLDL, which can easily be used for a EPROM box can be downloaded there. I certainly looked at the possibility to disable the internal ROMS, and the best option is probably to remove them from the internals. A good alternative however is to use the diagnostics ROM entry point to bypass the internal ROMS on startup. This prevents you from doing too dramatic internal changes. Even in the 'standard' configuration can the '41 be tricked in almost anything by using the various entry points at the end of any ROM.


Re: Disabling Internal Hp-41 roms(long)
Message #3 Posted by Rick Garza on 8 July 2002, 3:29 p.m.,
in response to message #2 by Meindert Kuipers


I dled the service manual and I have looked thru it. When you jump to the diagnostic you then execute code in thatquad right?

Then the ISAs are all coming from a space outside the internal roms, so they wont respond because instructions requested are simply not in the local range,right? But if code anywhere has a LONG refernce to the lower space it will recreate the problem.

Or did I misread and have that wrong? Also these entry points your mentioning, arent they just quad2quad policed jumps? Or ways to include banking in the upper ports?

Where can I find more info? All these different mnemonics that all mean the same can drive you nuts....

BTW good luck on your mldl2000 (looks nicely done) I also am using a cheap fpga.

Re: Disabling Internal Hp-41 roms(long)
Message #4 Posted by David Smith on 8 July 2002, 6:11 p.m.,
in response to message #3 by Rick Garza

The ROMs for the half nut machines are located in the display module. They cannot be accessed without ruining the machine. Also you cannot cut the lines to the module without losing the display.

Re: Disabling Internal Hp-41 roms(long)
Message #5 Posted by John Ioannidis on 9 July 2002, 12:54 a.m.,
in response to message #1 by Rick Garza

I assume that if you are embarking on such a project, you already have some way of emulating hp41 ROMs with external hardware (if not: I have a PIC-based emulator, look in My emulator will actually interpret all four ENBANK commands, so you get four shadow roms in each 4k slot. This way, with some careful programming you can get 128K of mcode in the upper half of the address space, so you don't really need to disable the internal roms. Plus, you still have the hp41 "mainframe" roms, and you can stick in a printer and a time module that will certainly be of use in a CNC situation.

You may also want to check out the ZWorld microcontrollers (; you can program them in a C-like language, and if you burn one you can always buy another! I've done interesting stuff with a PK2270.



[ Return to Index | Top of Index ]

Go back to the main exhibit hall