Post Reply 
What does HP-41 <<"FFD" XROM "HN" STO b>> do?
09-29-2024, 03:40 PM
Post: #4
RE: What does HP-41 <<"FFD" XROM "HN" STO b>> do?
(09-29-2024 09:12 AM)J-F Garnier Wrote:  Trying on V41 with a 41CV "HFF" ROM image:
press SST and keep it down --> LBL 07 is displayed --> ROM word is 008 --> revision 'H'

Hi J-F!

This looks like a great tip, something I missed or have forgotten since those days ... Wink

But, sorry to be a party spoiler ....

I'm trying to understand how this works and I think something is missing in the description.
I tried it on a CV, but all I get is "01" for several seconds, then "01 STO 00" and finally "NULL" if I keep pressing.
The same result on a CX, but on a C I got "03 ############" (#=blockstar).

xFFE (i.e. FFD+1) is indeed the ROM address stating the revision, but SST will not work on a 10 bit address, it will take the PC as a FOCAL address (brrr where b is the byte in RAM register rrr), and try to look it up, and PC goes down in memory, i.e. decrementing the PC.

I traced the execution when pressing SST after the STO b, and indeed the address goes from 0FFD -> CFFC -> AFFC etc down in memory until it finds something.

In my case this happens in X-Memory at register address 301 (masked out from F01):

Code:
   4828>0000|0000000000CF01 *x 29BD (Q10:1BD) 270 - RAM SLCT  <-- Next address to check (0F01)
   4829>0000|0000000000CF01 *x 29BE (Q10:1BE) 07C - RCR 4
   482A>0000|0000000000CF01 *x 29BF (Q10:1BF) 130 - LDI S&X
   482B>0000|CF010000000000  x 29C0 (Q10:1C0) 221 - CON: 221 (1041)
   482C>0000|CF010000000000 *x 29C1 (Q10:1C1) 0FC - RCR 10
   482D>0000|FFFF0000000221 *x 29C2 (Q10:1C2) 1E0 - GOTO ADR
   482E>0000|0000000221CF01 *x 221C (Q 8:21C) 038 - READ DATA
   482F>0000|30130100000301 *x 221D (Q 8:21D) 37C - RCR 12  <-- Now we found something!
   4830>0000|00130100000301 *x 221E (Q 8:21E) 3E0 - RTN

And my X-Memory at register 301 contains the found data:
Code:
Reg 301: 30130100000301
That is the first data we read from RAM, until here, we just have read zero (0).

Somehow we must fool the calculator to think it is ROM execution mode (NUT flag 10), otherwise I don't think we are able ro read the ROM - by just executing FFD XEQ 'HN STO b SST the calculator will just read RAM ...

So, lets dig deeper and see if we can help Joe with his cryptic marginal note ... Wink

Cheers,
Thomas

[35/45/55/65/67/97/80 21/25/29C 31E/32E/33E|C/34C/38E 41C|CV|CX 71B 10C/11C/12C/15C|CE/16C 32S|SII/42S 28C|S 48GX/49G/50G 35S 41X]
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: What does HP-41 <<"FFD" XROM "HN" STO b>> do? - ThomasF - 09-29-2024 03:40 PM



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