The Museum of HP Calculators

HP Forum Archive 16

[ Return to Index | Top of Index ]

Writing directly from a program ti Hepax memory
Message #1 Posted by Geir Isene on 29 Oct 2006, 12:51 p.m.

I'd like to write directly from a program to Hepax memory (actually, I want to write directly to address 4100 so that I can have a program that switches the two sets of blocks in the NoV-32 - instead of using HEXEDIT manually). How?

      
Re: Writing directly from a program ti Hepax memory
Message #2 Posted by Doug on 31 Oct 2006, 2:43 p.m.,
in response to message #1 by Geir Isene

Hi Geir,

What is needed is a function for this purpose. It could look something like:

0F8 READ X 040 WROM 3E0 RTN

The WROM (ROM=C, WRITEROM, etc.) instruction takes it's address from C(6-3) and the data to write from C(X): 0|000000AAAA|WWW, so CODE or similar will be needed to initialize X. Alternately, one could put the data within the function, eg:

04E C=0 130 LDI 041 CON 0065 27C RCR 9 rotate addrress to C(6-3): 0|0000004100|000 130 LDI 201 CON 0513 assuming disired to write 201H 040 WROM 3E0 RTN

Best

Edited: 31 Oct 2006, 2:49 p.m.

            
Re: Writing directly from a program to Hepax memory
Message #3 Posted by Geir Isene on 1 Nov 2006, 9:48 a.m.,
in response to message #2 by Doug

Being new to MCODE, I wonder to where I should write the code (along with the backward function name above the code). I have the NoV-32... should I "unmount" one 4K block from the file system and write the code there, or could I write the code inside the HEPAX file system. And how about the address 4100, where does it physically reside? In the NoV-32? Is there space directly after 4100 to write a short routine like this?

                  
Re: Writing directly from a program to Hepax memory
Message #4 Posted by Doug Wilder on 3 Nov 2006, 1:17 a.m.,
in response to message #3 by Geir Isene

Geir,

Being new to mcode, one could write the code to a function within some ram block that has a function that is never used. Simply put the code at the entry to a function that one does not need, there must be some of these type functions. One would not even need to rename the function, although it is not hard to do.

Alternately, one could "define" a "development" block for your mcode, this is probably prefered to learn about mcode. Find a copy of "Mcode for Beginners" or study the old PPC journals. Also you may want to download the "-DISASM- 4C" rom from TOS which I just posted a few days ago, it has a basic ramrom editor and several functions of use for mcoding. Also an annotated listing of itself which may help to understand mcode.

No, there isn't any room at 4xxx unless you place a ram block there. In fact, the HPIL printer rom resides there when turned off and the diagnostic rom resides there when installed.

Best

Edited: 3 Nov 2006, 1:24 a.m.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall