The Museum of HP Calculators

HP Forum Archive 19

[ Return to Index | Top of Index ]

NUT processor NOP's (beginner's question)
Message #1 Posted by Diego Diaz on 9 May 2010, 1:42 p.m.

Hi all,

There are some words (mainly in the class 0) that NUT processor considers as NOP's.

Some of them have been used for different purposes, the most well known being ENBANK (H'100, H'140, H'180, H'1C0) and WROM (H'040).

Another two are used by HEPAX module: ROMBLK (H'030) and WPTOG (H'1F0).

Willian Doug Wilder's M-code table shows WREG0 to WREG7 (H'200, H'240, H'280, H'2C0, H'300, H'340, H'380 & H'3C0). Although I have been unable to find further references to their usage.

Still three words remain apparently unused: H'080, H'0C0 & H'2B0.

So my question is: Are they *really* unused? and, therefore, can any of them be used to extend the functionality of a new born module?

Your comments will be much appreciated.

Best wishes.

Diego.

      
Re: NUT processor NOP's (beginner's question)
Message #2 Posted by Meindert Kuipers on 9 May 2010, 2:57 p.m.,
in response to message #1 by Diego Diaz

Hi Diego,

Funny coincidence, I just returned from a short vacation to the Canaries (Lanzarote)!

I actually compiled a complete table of NUT instructions recently after I discovered some issues in my M2kM disassembler. Your observations are fully correct, I recall that there is some explanation in the HEPAX manual about WREG0 to WREG7. Also CLASS 0, command D (13) seems to be unused, these include instructions $034 to $3F4 if I am correct.

Meindert

            
Re: NUT processor NOP's (beginner's question)
Message #3 Posted by Diego Diaz on 9 May 2010, 3:31 p.m.,
in response to message #2 by Meindert Kuipers

Hi Meindert,

Good to read from you... and hope you've enjoyed your Canarian vacations; Lanzarote is certainly one of my favourite islands, unique landscapes and awsome volcanic forms there. Not to mention the beaches (Puerto del Carmen and Papagayo to say some)

Back to the NUT question, I know that there are some other NOP's in the NUT instructions "map". These in the class 0 (H'xx0) are of my interest because they're easy to decode.

Thanks for the hint regarding the HEPAX manual. I've checked it but I probably passed over the WREG info. Will read it again more carefully... :-)

Best wishes from Quisqueya (AKA Dominican Republic)

Diego

                  
Re: NUT processor NOP's (beginner's question)
Message #4 Posted by Angel Martin on 9 May 2010, 4:33 p.m.,
in response to message #3 by Diego Diaz

Hi Guys, I'm definitely a software person but here's some comment.

Not sure if they're different but I'm thinking of the instructions in the i41CX MATH module - all of them ignored by the NUT CPU and thus used as triggers for the native iPOD code.

I could dig them out if you need to know - or you probably already have?

Cheers, AM

                        
Re: NUT processor NOP's (beginner's question)
Message #5 Posted by Diego Diaz on 9 May 2010, 5:56 p.m.,
in response to message #4 by Angel Martin

Hi Ángel,

Hope you're doing well.

I'm not aware of the i41CX intrincacies... just asking for the "real thing" behaviour as I want to build some extra features intended to avoid conflicts between physical ROM packs and the RAM pages. Quite in the way the W&W RAMbox64 (inside 41CY) does.

I assume that the CY uses some sort of internal mapping to detect whether or not a physical module is using any page in the range of its RAM (#8 to #F); and disabling such RAM page to avoid conflicts.

Regrettably I'm not one of the fortunate CY owners... :-( but the process itself might not be that difficult if I'm allowed to use a pseudo-NOP for mapping purposes on start-up.

However, if someone knows the details about W&W internal process it will also help a lot!

Best wishes.

Diego.

Edited: 9 May 2010, 5:58 p.m.

                        
Re: NUT processor NOP's (beginner's question)
Message #6 Posted by Meindert Kuipers on 10 May 2010, 12:41 p.m.,
in response to message #4 by Angel Martin

I had already checked this out. i41CX+ uses the §3F4 instruction for all its functions to trigger the advanced math. The ROM images for I41CX support just contain the function names with the $3F4 instruction followed by a RTN. The rest of the ROM is just NOP's.

In the new MLDL2000 version I use memory mapped I/O, special functions are triggered by a read or write of a reserved location (I use x800 to x80F) in a special type of ROM image. This is pretty generic and can be used for both reads and writes.

I tried to search for info on the 41CY instructions (for speed change), but could not find any yet, maybe Christoph Klug can help us out here, he is specialized in the CX!

Meindert


[ Return to Index | Top of Index ]

Go back to the main exhibit hall