Disabling Internal Hp-41 roms(long)



#2

<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


#3

Just have a look at www.kuipers.to/hp41. 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.

Meindert


#4

Meindert,

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.


#5

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.

#6

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 www.tla.org/hp41/mldl/). 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 (www.zworld.com); 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.

Cheers

/ji


Possibly Related Threads...
Thread Author Replies Views Last Post
  HP-41(CL): The easiest way to transfer FOCAL programs from a Linux PC to the HP-41 Geir Isene 13 1,135 12-05-2013, 02:40 AM
Last Post: Hans Brueggemann
  HP Prime: Long integers (continued) Helge Gabert 2 314 11-07-2013, 11:24 AM
Last Post: Helge Gabert
  HP Prime: Pass "Long" Integers to a Program Helge Gabert 6 572 11-03-2013, 01:12 PM
Last Post: Helge Gabert
  HP Prime polynomial long division bluesun08 13 874 10-30-2013, 03:29 AM
Last Post: parisse
  old HP roms Olivier De Smet 3 341 08-21-2013, 04:54 PM
Last Post: Namir
  Bug Bounty Programs Beat Internal Researchers Peter Murphy (Livermore) 0 222 07-12-2013, 06:59 PM
Last Post: Peter Murphy (Livermore)
  A very long HP-17BII equation Gerson W. Barbosa 22 1,288 04-19-2013, 12:37 AM
Last Post: Gerson W. Barbosa
  A long WP-34S night Siegfried (Austria) 10 722 04-16-2013, 02:11 AM
Last Post: Siegfried (Austria)
  HP-25 left on for a long, long, while Matt Agajanian 12 705 04-10-2013, 11:33 PM
Last Post: Steve Leibson
  Roms ... Olivier De Smet 6 448 03-26-2013, 07:13 PM
Last Post: Eric Smith

Forum Jump: