HP Forums
[41CL WARP] XEQ+ oddness - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not quite HP Calculators - but related (/forum-8.html)
+--- Thread: [41CL WARP] XEQ+ oddness (/thread-16608.html)

Pages: 1 2 3


[41CL WARP] XEQ+ oddness - cdmackay - 04-05-2021 08:41 PM

I've been belatedly enjoying the wonders of the XEQ+ function on my 41CL, from Ángel's excellent WARP module.

I'm using this on both my DM41X and 41CL, and seeing oddness only on the latter.

For example… I have XEQ+ assigned to the XEQ key, so press that, and get the XEQ+ prompt.

I press the − key, for 'Q', to find the function QREM, from the SM44 module.

On the DM41X, this works fine: QREM.

On the 41CL, after I press 'Q', I get:
Code:
L'__

I know I'm hitting 'Q', because if I hold it, the display shows 'Q'. So what is that above?

I try RCL, to see the XROM detail, but RCL has now been mapped to: M<>, so I get:
Code:
M<>'__

Clearly I've done something wrong here, but I'm not sure what.

Might it be my module order? On the 41CL I have:

8 OSX3
9 YFNX
A PWRX
B WARP
C SM44 (and D)


I checked Cat 6, but I have nothing assigned, other than the PWRX & SM44 launchers, to 11 and -11, and XEQ+ to 32 (on both devices).


I have the same modules loaded in my DM41X (bar YFNX), albeit in different pages, and order:

6 OSX3
7 WARP
8 PWRX
A SM44 (and B)


Any ideas, please?


RE: [41CL WARP] XEQ+ oddness - Ángel Martin - 04-06-2021 12:42 PM

(04-05-2021 08:41 PM)cdmackay Wrote:  I press the − key, for 'Q', to find the function QREM, from the SM44 module.
On the DM41X, this works fine: QREM.

That's already odd, with your ROM configuration the first function shown in the "Q" section should be Q<>, in the WARP module in page B. Not sure why it shows you something from the SandMath, located in pages C/D

(04-05-2021 08:41 PM)cdmackay Wrote:  On the 41CL, after I press 'Q', I get:
Code:
L'__

I know I'm hitting 'Q', because if I hold it, the display shows 'Q'. So what is that above?

That's definitely wrong, i suspect a version mismatch between the different ROMs involved - notably the Library#4 and the WARP. BTW I didn't see the library on your list, is it installed??

(04-05-2021 08:41 PM)cdmackay Wrote:  I try RCL, to see the XROM detail, but RCL has now been mapped to: M<>, so I get:
Code:
M<>'__

Pressing RCL at the XEQ+ prompt will take the "M" for function search, so M<> is the first one found in the bus. This time it works ok, not so with "Q" though

(04-05-2021 08:41 PM)cdmackay Wrote:  Might it be my module order? On the 41CL I have:

8 OSX3
9 YFNX
A PWRX
B WARP
C SM44 (and D)

I checked Cat 6, but I have nothing assigned, other than the PWRX & SM44 launchers, to 11 and -11, and XEQ+ to 32 (on both devices).

Key assignments don't have any impact in the XEQ+ functionality, so never mind those.

Try the versions included in the attached ZIP file and let me know if things get any better...


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-06-2021 08:14 PM

thanks very much, Ángel,

(04-06-2021 12:42 PM)Ángel Martin Wrote:  
(04-05-2021 08:41 PM)cdmackay Wrote:  I press the − key, for 'Q', to find the function QREM, from the SM44 module.
On the DM41X, this works fine: QREM.

That's already odd, with your ROM configuration the first function shown in the "Q" section should be Q<>, in the WARP module in page B. Not sure why it shows you something from the SandMath, located in pages C/D

Good point. And odd that it finds QREM on my DM41X, which has:

4 LIB4
6 OSX P6
7 WARP P7
8 PWREXT
A/B SM44

so it ought not to have found QREM from page A there, either, from the first 'Q' press?

The DM41X is running with your 20210218 module set.

The 41CL with the 03/03/2021 clupdate, including the OS modules.


(04-06-2021 12:42 PM)Ángel Martin Wrote:  
(04-05-2021 08:41 PM)cdmackay Wrote:  On the 41CL, after I press 'Q', I get:
Code:
L'__

I know I'm hitting 'Q', because if I hold it, the display shows 'Q'. So what is that above?

That's definitely wrong, i suspect a version mismatch between the different ROMs involved - notably the Library#4 and the WARP. BTW I didn't see the library on your list, is it installed??

Apologies; I took that as read, yes LIB 4 in page 4.

(04-06-2021 12:42 PM)Ángel Martin Wrote:  
(04-05-2021 08:41 PM)cdmackay Wrote:  I try RCL, to see the XROM detail, but RCL has now been mapped to: M<>, so I get:
Code:
M<>'__

Pressing RCL at the XEQ+ prompt will take the "M" for function search, so M<> is the first one found in the bus. This time it works ok, not so with "Q" though

Except that I did not (on the 41CL) press RCL at the XEQ+ prompt; I pressed it after pressing 'Q' showed me "L'__"; I did that to see what page this "L'__" was on.

Also, if I do press RCL/M at the XEQ+ prompt, I get "MDY" (page 5, XROM 26 "TMOD"), not "M<>".


(04-06-2021 12:42 PM)Ángel Martin Wrote:  
(04-05-2021 08:41 PM)cdmackay Wrote:  Might it be my module order? On the 41CL I have:

8 OSX3
9 YFNX
A PWRX
B WARP
C SM44 (and D)

I checked Cat 6, but I have nothing assigned, other than the PWRX & SM44 launchers, to 11 and -11, and XEQ+ to 32 (on both devices).

Key assignments don't have any impact in the XEQ+ functionality, so never mind those.

Try the versions included in the attached ZIP file and let me know if things get any better...

thanks!

I'm not sure how to load individual modules using clupdate (rather than the official update); I'll look into that.


RE: [41CL WARP] XEQ+ oddness - rprosperi - 04-06-2021 09:04 PM

(04-06-2021 08:14 PM)cdmackay Wrote:  I'm not sure how to load individual modules using clupdate (rather than the official update); I'll look into that.

You cannot load the .mod files Angel provided here into the 41CL, these are for V41 and DM41X and other emulators. For the 41CL (and CLONIX/NoV) you will need the .rom versions; technically, these could be extracted from the .mod files, but then you would need to do a lot of tedious manual work to hack them into the pkg/format the CLUPDAT ROM needs, so best bet would be to wait for Monte to update his .rom file package.


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-06-2021 10:49 PM

(04-06-2021 09:04 PM)rprosperi Wrote:  You cannot load the .mod files Angel provided here into the 41CL, these are for V41 and DM41X and other emulators. For the 41CL (and CLONIX/NoV) you will need the .rom versions; technically, these could be extracted from the .mod files, but then you would need to do a lot of tedious manual work to hack them into the pkg/format the CLUPDAT ROM needs, so best bet would be to wait for Monte to update his .rom file package.

thanks Bob; actually, Ángel has supplied both mod and rom files in the zip.

So I have the files, just not quite sure how to load them on my 41CL, yet; which is the second part of your point above, I think. I could presumably copy them into RAM, and plug that, rather than updating the flash?

I can easily try the mod files in the DM41X, but since that doesn't show the (main) problem…


RE: [41CL WARP] XEQ+ oddness - rprosperi - 04-07-2021 12:58 AM

(04-06-2021 10:49 PM)cdmackay Wrote:  thanks Bob; actually, Ángel has supplied both mod and rom files in the zip.

So I have the files, just not quite sure how to load them on my 41CL, yet; which is the second part of your point above, I think. I could presumably copy them into RAM, and plug that, rather than updating the flash?

I can easily try the mod files in the DM41X, but since that doesn't show the (main) problem…

Oh! The .zip file's contents changed, so you have the .rom files. That's part of the challenge, but as you surmised, the .rom files would need to be integrated into the .zip file with precisely matching filenames, crc info, and modified database files (for the FLDB).

But, yeah, unplug the flash copies and load the updated files into RAM and plug those, that should work fine.


RE: [41CL WARP] XEQ+ oddness - Ángel Martin - 04-07-2021 05:54 AM

(04-07-2021 12:58 AM)rprosperi Wrote:  
(04-06-2021 10:49 PM)cdmackay Wrote:  thanks Bob; actually, Ángel has supplied both mod and rom files in the zip.

So I have the files, just not quite sure how to load them on my 41CL, yet; which is the second part of your point above, I think. I could presumably copy them into RAM, and plug that, rather than updating the flash?

I can easily try the mod files in the DM41X, but since that doesn't show the (main) problem…

Oh! The .zip file's contents changed, so you have the .rom files. That's part of the challenge, but as you surmised, the .rom files would need to be integrated into the .zip file with precisely matching filenames, crc info, and modified database files (for the FLDB).

But, yeah, unplug the flash copies and load the updated files into RAM and plug those, that should work fine.

Actually the zip contents did not change, had the ROM files all the time.
Their names are the same ones used for the CL update, so once you feel comfortable with the update process you can use them without any modifications.

Yes you can always copy them to RAM and plug them using the PLUGxx commands. Don't forget the * in the syntax for bank-switched modules, like the WARP. For instance, if the ROM images are in addresses 810, 811 and 812 the syntax would have "*810" - n ALPHA if using the YFNS version of PLUGxxx, or in the prompt if using the YFNX version of PLUG _

You can use any page above #6 (i.e. 7 - F) for the WARP. Obviously the Library#4 needs to go to page 4

Can you try the MOD files on the 41X and see if that strange "Q"-business is now straightened out?

Let us know the outcome...


RE: [41CL WARP] XEQ+ oddness - Sylvain Cote - 04-07-2021 12:32 PM

On the 41CL (once)
Code:
SERINI              // Initialize serial port (needed for YIMP later on)
BAUD 48             // Set transmission rate to 4800 bauds (needed for YIMP later on)

///// FOR EACH ROM TO BE LOADED TO RAM /////

On the 41CL
Code:
"820000-0FFF"       // Physical destination address 0x820000 and length 0x0FFF in RAM where the ROM image will be loaded
[XEQ][ALPHA]YIMP    // do not press the second [ALPHA] button yet
NOTE: adjust the RAM destination address (here hex: 820) as needed

On the PC:
Code:
Unix...: java -jar clupdate-1.1.0.jar --upload MODULE.ROM /dev/tty.usbserial 4800 [RETURN]
Windows: java -jar clupdate-1.1.0.jar --upload MODULE.ROM COMx 4800 [RETURN]
NOTE 1: replace the MODULE.ROM by your actual ROM name
NOTE 2: replace the COMx or the /dev/tty.usbserial port by your actual port

On the 41CL
Code:
[ALPHA]             // press the second [ALPHA] button of YIMP within 5 seconds of the [RETURN] press on the PC
"820"               // address of the ROM module in RAM
YCRC                // validate the module CRC and should match the CRC given by the PC side
"-820 9"            // read the "Page Management Functions" of the "41CL Extreme Functions" manual for your case
PPLUG               // plug the module to port 9

edit: typos


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-07-2021 06:38 PM

thanks very much indeed, Bob, Ángel & Sylvain.

I'll give the new modules a try, on both DM41X & 41CL and report back.


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-07-2021 10:15 PM

So far, I've only tried the new modules on my DM41X

First, I replicated my normal config where I use the p6/p7 versions of OSX & WARP, but using the LIB4 & WARP-P7 mod files from the above zip, and the other modules from the SM 20210218 set. that gave me:

4 LIB4 R58+ 12.02.2021
6 OSX p6 R51 06.01.2021
7 WARP p7 6.3 16.02.2021
8 PWRX P9 18.09.2019
A/B SM44 8.8 12.10.2020

with the above, XEQ+ Q produces QREM, pg A.


I then repeated the above, but using the floating versions of OSX & WARP, which gave:

4 LIB4 R58+ 12.02.2021
8 OSX R51 06.01.2021
A WARP 6.3 16.02.2021
C PWRX P9 18.09.2019
E/F SM44 8.8 12.10.2020

with the above, XEQ+ Q produces QREM, pg E.


In neither case does XEQ+ find Q<> from the WARP module.


Finally, I tried loading solely the LIB4 & (floating) WARP modules from the above zip. With that, XEQ+ Q says No Match.

I take it that the above is unexpected?

It does, however find P<> from WARP, which appears to be adjacent in the FAT?


I'll try the 41CL tomorrow.


RE: [41CL WARP] XEQ+ oddness - Ángel Martin - 04-08-2021 06:22 AM

Thanks for the test report.

ok, no mysteries here... the latest revision of the WARP module doesn't have the function Q<> , it was replaced by R0R4 in the same FAT location just after P<>.

Thus pressing "Q" at the XEQ+ prompt doesn't find it (since it's not there anymore) - and a complete bus scan returns no hits starting with Q with that configuration -> "NO MATCH"

This changes when you plug the SandMath, which does have QREM (and several others: QROOT, QROUT, QNTL also in the "Q" section)

So it all appears to be working just fine, despite the apparent whimsical behavior. Consider that the ROM plug order will influence the sequence of appearance in the enumeration or course. BTW, one way to scan the bus for all matches (within a given letter) is pressing R/S once the first one is shown, that saves you pressing SST after each one.

Cheers,
ÁM


PS. The attached diagram should help understand the XEQ+ navigation...

[attachment=9346]


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-08-2021 06:34 PM

Thanks Ángel; so the DM41X behaviour is as expected; that's fine, as I was really just reporting the problem with the 41CL, and you noted the apparent oddity in the 41X behaviour too, now explained.

I'll hopefully test the above modules in my 41CL tonight, and see if that helps the reported problem.


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-08-2021 10:57 PM

I tried the new modules on my 41CL; the behaviour is slightly different, but still wrong, unfortunately. Apologies if I made any mistakes.

I transferred four ROM files from the above zip, to my 41CL, to these RAM pages:

Code:
820     LIBRARY4        0xBE5305A7
821     WARPB1          0x8A9BD03A
822     WARPB2          0x70025E66
823     WARPB3          0x2889F856

and checked their YCRC against that quoted by clupdate, as above: all good.

I then:

unplugged all but YFNX, and removed all key assignments

confirmed only YFNX plugged:

Code:
PLUG ?IMP ?
YFNX 9

loaded the new LIB4 from RAM to page 4
single-page, non-banked, at 0x820

Code:
"-820 4"
PPLUG

loaded and verified OSX (from flash) to page 8

Code:
"OSX3 8"
PPLUG
CAT 0 PGCAT

enabled USER keys (for OSX ALPHA change)

loaded and verified PWRX (from flash) to page A

Code:
"PWRX A"
PPLUG
ΣCL MMUCAT

loaded the new WARP from RAM to page B
single-page, banked, starting at page 0x821

Code:
"*821 B"
PPLUG

tried:

Code:
XEQ+
Q

which showed:

Code:
"Q        385

and backspace would not clear it; OFF/ON did.

Similarly for another letter that ought to be no match: J.

At this point I noticed that seven key assignments had been added, of the form:

Code:
TEXT 00-14

for (shifted) keys 14, 24, 35, 54, 63, 73 & 74. All with assignment "TEXT 00".


loaded and verified SM44 (from flash) to pages C/D

Code:
"SM44 C"
PPLUG
ΣFL LOGYX

Code:
XEQ+
Q

gives:

Code:
"Q        385



RE: [41CL WARP] XEQ+ oddness - Sylvain Cote - 04-09-2021 04:46 AM

I tried to replicate the configuration and stopped at the WARP ROM mapping.

How do I correctly map a RAM based three banks ROM to one page ?

The manual says to use the "*AAA P" parameter for PPLUG,
but how do we specify the number of banks or RAM pages ?
or if we have to do the PPLUG several times, how do we specify the target bank ?

In the Flash space, the FLDB/IMDB files tell the 41CL how to map the WARP ROM (0x1B8, 0x1B9, 0x1BA) but that information is not available for the modules in RAM space.


RE: [41CL WARP] XEQ+ oddness - Ángel Martin - 04-09-2021 05:52 AM

(04-09-2021 04:46 AM)Sylvain Cote Wrote:  I tried to replicate the configuration and stopped at the WARP ROM mapping.

How do I correctly map a RAM based three banks ROM to one page ?

The manual says to use the "*AAA P" parameter for PPLUG,
but how do we specify the number of banks or RAM pages ?
or if we have to do the PPLUG several times, how do we specify the target bank ?

In the Flash space, the FLDB/IMDB files tell the 41CL how to map the WARP ROM (0x1B8, 0x1B9, 0x1BA) but that information is not available for the modules in RAM space.

As far as I know for RAM mappings (plugging really) you always need to use the RAM block address *instead* of the IMDB mnemonic. For example:

"-820" for single page
"*820: for multi-page modules or bank-switched pages

So you always copy four pages / four banks even if they don't exist. This shouldn't be a problem since the actual code will never attempt to go to the "excess" page.


RE: [41CL WARP] XEQ+ oddness - Ángel Martin - 04-09-2021 06:07 AM

(04-08-2021 10:57 PM)cdmackay Wrote:  At this point I noticed that seven key assignments had been added, of the form:

Code:
TEXT 00-14

for (shifted) keys 14, 24, 35, 54, 63, 73 & 74. All with assignment "TEXT 00".

I see no errors or issues in the sequence of plugging and mapping you followed as described, so the error is not caused by that. Those phantom key assignments are telling us that there's a code issue, that's what happens when trying to write to the LCD when the LCD is not selected (status register "e" is ovrwritten).

This makes me suspect the OSX3 or the PWRX itself. Do you have the latest updates in your machine? I think you mentioned never doing an update prior to this one. Monte has just released an updated ROM library, I suggest you use it to update your flash with all modules involved. Don't forget IMDB.ROM, critical since a few images have changed location too.

Once you're on the latest revisions we'll have a better handle on the troubleshooting...


RE: [41CL WARP] XEQ+ oddness - Sylvain Cote - 04-09-2021 12:07 PM

(04-09-2021 05:52 AM)Ángel Martin Wrote:  As far as I know for RAM mappings (plugging really) you always need to use the RAM block address *instead* of the IMDB mnemonic.
Agreed.

(04-09-2021 05:52 AM)Ángel Martin Wrote:  So you always copy four pages / four banks even if they don't exist. This shouldn't be a problem since the actual code will never attempt to go to the "excess" page.
Understand, I will load a FF filled Flash page into the fourth RAM page (0x824) just in case.

I have updated my 41CL v5 test unit to the latest ROM images (04/04/2021) and loaded in RAM your latest ROM images.
I will try the cdmackay setup tonight.

Thank you Ángel.

Sylvain


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-09-2021 04:11 PM

thank you both.

I was going to ask Sylvain's question too, about how it knows how many banks to use, but then assumed it didn't directly matter, since it's all tied to a single page (for '*') and so presumably a 3-bank module never accesses the 4th bank.

(04-09-2021 06:07 AM)Ángel Martin Wrote:  Those phantom key assignments are telling us that there's a code issue, that's what happens when trying to write to the LCD when the LCD is not selected (status register "e" is ovrwritten).

ah! that is most interesting; I had wondered what the connection might be, or just random RAM over-writing.


(04-09-2021 06:07 AM)Ángel Martin Wrote:  This makes me suspect the OSX3 or the PWRX itself. Do you have the latest updates in your machine? I think you mentioned never doing an update prior to this one. Monte has just released an updated ROM library, I suggest you use it to update your flash with all modules involved. Don't forget IMDB.ROM, critical since a few images have changed location too.

Once you're on the latest revisions we'll have a better handle on the troubleshooting...

Actually, I update fairly often, and had recently updated to the 3/3/2021 set, before trying WARP for the first time. I ran into an issue with the OS pages not being updated, and then having to manually force them. I worried that perhaps I'd done something wrong there, but Monte confirmed I had done it correctly (well, from what I reported at least, which might have missed something).

So my OSX3 & PWRX ought to be correct. I was going to check their checksums today, just to be sure.

But now I will try the 4/4/2021 set instead.

I note that the latest set does not include updates to 4LIB or WARP.

I'll first try the 4/4/2021 set as is, and see what happens.

If the problem is still present, I'll then try adding your new 4LIB/WARP, from the zip file above (well, from my existing 0x82x RAM pages, assuming they survive; I'll check their YCRC first).

thanks!


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-10-2021 12:00 AM

I've updated my 41CL to the latest 4/4/2021 modules, and can confirm the problem is present there, i.e. without the newer modules from the above zip (which I will try shortly).

I started from backspace-ON memory lost, and did an MMUCLR.

Then updated as normal, CPONLY/AUTOVFY, and noted that OSX3 banks 1 & 2, and PWRX were updated, as well as 9 other pages.

I then used YCRC to check the flash checksums matched the new set, for 4LIB & WARP:

Code:
CSV filename: rom_files_210404.zip/mem_ref_v5.txt
================================================================================​==========================================================
0x120; ;    0x1C539FC4; 0x1C539FC4; 0x1C539FC4; LIBRARY4.ROM;  2021-01-17; ;           4LIB;   N/A; Library-4
0x1B8; ;    0x793A3AEC; 0x793A3AEC; 0x793A3AEC; WARPB1.ROM;    2020-05-02; ;           WARP;    21; Warp-core, bnk 1
0x1B9; ;    0xBD20B531; 0xBD20B531; 0xBD20B531; WARPB2.ROM;    2020-05-02; ;           WARP;    21; Warp-core, bnk 2
0x1BA; ;    0x4EAAA5A5; 0x4EAAA5A5; 0x4EAAA5A5; WARPB3.ROM;    2020-05-01; ;           WARP;    21; Warp-core, bnk 3

and they did. So my flash versions of 4LIB, OSX3, PWRX & WARP all match the 4/4/2021 set.

I then plugged:

Code:
4LIB 4
OSX3 8
PWRX A
WARP B

and tried XEQ+. I started at 'A' (ALENG), and used ENTER to walk through the letters, all fine up to and including 'I'. Then, ENTER again for 'J', which is the first that ought to be No Match.

At this point, the LCD went blank for several seconds, and then displayed:

Code:
@+K@@@@0 '__

The same if I went direct to 'Q'.

Again, note that this is with all modules from the 4/4/2021 zip.


I'll try again, but using the 4LIB & WARP from the above zip.


RE: [41CL WARP] XEQ+ oddness - cdmackay - 04-10-2021 12:19 AM

I performed the test again, using the new 4LIB & WARP modules from the above zip (with the rest of the system on the 4/4/2021 modules), and the problem is still there.

Again, I started from memory lost, MMUCLR, YFNX -> page 9.

I checked the YCRC of my in-RAM pages that still contained the 4LIB & WARP modules from the above zip:

Code:
820     LIBRARY4        0xBE5305A7
821     WARPB1          0x8A9BD03A
822     WARPB2          0x70025E66
823     WARPB3          0x2889F856

YCRC all good

I then PPLUGed:

Code:
-820 4
OSX3 8
PWRX A
*821 B

and tried XEQ+, then 'Q', which gave:

Code:
"Q       385

and 'J':

Code:
"J       385