Post Reply 
HEPAX program and PowerCL not compatible on 41CL?
08-14-2016, 06:38 PM
Post: #1
HEPAX program and PowerCL not compatible on 41CL?
Hi all,

Starting with a fresh 41CL calculator, I loaded the Extra Functions Plus (YNFP) image into page 8 and enabled the MMU. I then followed the instructions in the 41CL Calculator manual to initialize four HEPAX pages and plug them into ports 3 & 4, then plug the HEPX image into page 6 using the PLUGP command. All goes well with the HEPAX manual example of creating a user program, copying it to HEPAX memory, deleting the user memory copy and running the program from HEPAX memory.

So then I thought I'd add the PowerCL utilities to the above mix. I used the instructions for adding Library4 (4LIB) in the 41CL manual by poking the flash image address into the page 4 MMU register. After confirming the presence of the library with the HEPAX 002 command, I tried loading the PowerCL image (PWRL). I used the XCAT command to verify that PowerCL loaded correctly.

But now when I run a program from HEPAX memory, the display scrolls the message below

#4 ON-LINE

The program in HEXPAX memory does not run. I've tried the PowerCL module on page 7 and page 9 with the same result. So, is it the case that HEPAX and PowerCL are not compatible with one another, or is there a problem with my configuration? Alternate Library 4 perhaps? Put HEPAX elsewhere? I haven't found an answer in the documentation! Any advice or suggestions?

Thanks,
~ Mark

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
08-14-2016, 07:53 PM (This post was last modified: 08-14-2016 07:54 PM by Ángel Martin.)
Post: #2
RE: HEPAX program and PowerCL not compatible on 41CL?
(08-14-2016 06:38 PM)mfleming Wrote:  So then I thought I'd add the PowerCL utilities to the above mix. I used the instructions for adding Library4 (4LIB) in the 41CL manual by poking the flash image address into the page 4 MMU register. After confirming the presence of the library with the HEPAX 002 command, I tried loading the PowerCL image (PWRL). I used the XCAT command to verify that PowerCL loaded correctly.

But now when I run a program from HEPAX memory, the display scrolls the message below: #4 ON-LINE

The program in HEXPAX memory does not run. I've tried the PowerCL module on page 7 and page 9 with the same result. So, is it the case that HEPAX and PowerCL are not compatible with one another, or is there a problem with my configuration? Alternate Library 4 perhaps? Put HEPAX elsewhere? I haven't found an answer in the documentation! Any advice or suggestions?

The scrolling message you're seeing comes up when executing the header function of the PowerCL Extreme module. This indicates there's probably a version mismatch in there. The PowerCL _Extreme is meant to be used with the YFNX = The Extreme Functions of the CL. The FAT entries in the YFNX and YFNP are not compatible, so the PowerCL and PowerCl_Extreme need to be paired with the matching YFN's to ensure the proper calls are made.

Try that and let's see if the issues go away...

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-14-2016, 10:09 PM
Post: #3
RE: HEPAX program and PowerCL not compatible on 41CL?
Quote:The PowerCL _Extreme is meant to be used with the YFNX = The Extreme Functions of the CL.
Thanks Angel! Very good to know that pairing.

I noticed when cycling power that it would display "ILL CONFIG" when the calculator was turned on. So, following the directions for matching the proper library with the PowerCL module, I first loaded Extra Functions (YNFZ) to page 8 after a reset, enabled the MMU, then loaded Library4 and PowerCL (PWRL) to page 7. With each step I would cycle power and check for ILL CONFIG.

After using XCAT to verify the pages, I plugged in the four HEPAX pages and cycled power again. After plugging in HEPAX (HEP2) into page 7 and turning the calculator off, it would not turn back on, not even with Backspace-ON. I pulled the batteries. In spite of a MEMORY LOST message all pages were still present after enabling the MMU. I unplugged HEXPAX and verified I could cycle power without a problem.

Whew! I'll have to let my poor tired brain cool down and try again, perhaps pairing the extreme version of library and PowerCL module (tough to unload YNFX once it's there!) I'll post the results when I have them!

~Mark

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
08-15-2016, 02:43 AM (This post was last modified: 08-15-2016 02:45 AM by mfleming.)
Post: #4
RE: HEPAX program and PowerCL not compatible on 41CL?
Well, it looks as though HEPAX will have to wait until I gain more experience with the 41CL and associated modules. I managed to get the Extreme versions of the Functions library and PowerCL loaded, but had no luck getting HEPAX loaded and working. I had results that ranged from displaying the "#4 ON-LINE" message when I ran a program in HEPAX memory, to the calculator crashing with "Y:RESET" and then not responding at all to the ON button!

Perhaps someone will start a thread for people to list their favorite 41CL configurations. I'd certainly like to know what works for other people, what they use on a regular basis, etc. I do like the PowerCL ability to access the extra MMU register sets, so I certainly want to keep that loaded. I'll keep the Extreme setup for a while and see how that goes.

Happy finger plinking,
~Mark
EDIT: Yay! Post #50!

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
08-15-2016, 05:13 AM (This post was last modified: 08-15-2016 05:31 AM by Ángel Martin.)
Post: #5
RE: HEPAX program and PowerCL not compatible on 41CL?
Hi Mark,

To recap: there are two versions of the Power_CL, than need to be matched with the version of the YFNs in an "either/or" manner, as follows:

Either: PWRL - paired with YFNP, ; or (and preferred):
PWRX paired with YFNX.

There's only one library#4, so this is not part of the requirements - other than you should have the latest version.

One important thing: you must check that the HEPAX RAM pages don't use XROM id#'s that conflict with other modules in the system. This probably is the reason why you're geting the splash message when you try to run the first program in HEPAX RAM: I bet you that page uses the same XROM id# as the PowerCL itself (i.e. "C" or xrom 12), which is found first by the OS being plugged in a lower port, and thus the function executed is the splash message instead of your program in HepRAM. You can edit that byte manually using the Hepax' HEXEDIT function, or the ROMED function within the PowerCL.

There are a few functions in the PWRL and PWRX to configure the HEPAX automatically. I mention this because you may have a conflict with the number of Hepax RAM pages. Take a look at pages 33 - 36 in the PWRX manual, posted at: http://systemyde.com/pdf/POWERCL_EXT_O_Manual.pdf

Also in the manual there's an intro section where the requirements are explained (arguably with good enough clarity). I'd start from the scratch, on a PWRX/YFNX setup and using the HEPX4 or HEPX8 functions from the PWRX to do the HEPAX setup.

This should plug the HEPAX ROM as well in the immediately precedent page to the Hepax RAM. You can move it later to page 6 or 7 if you wish, but when you do that mind potential conflicts - for instance the PWRX may be already in one of those.


Hope this helps,
'AM

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-15-2016, 06:19 AM
Post: #6
RE: HEPAX program and PowerCL not compatible on 41CL?
Hi Angel,

I'll have a another try with the preferred YFNX/PWRX configuration in the morning. I did try HEPX8 in pages e/f without success so I probably had the ROM ID conflict. I could not execute HEPCHN (not found) after HEPINI to create a valid HEPAX file system. Again, probably because of a library conflict, since some PowerCL commands work and others display the NONEXISTANT message.

I'd really like to use the MMU secondary registers to quickly flip between a development configuration with HEPAX, a Sandmath et al configuration, and then something more EE in nature.

With luck, sometime before Christmas! Thanks,
~Mark

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
08-15-2016, 07:36 PM
Post: #7
RE: HEPAX program and PowerCL not compatible on 41CL?
Here's a working configuration with the regular versions of the Extra Functions library and the PowerCL Utilities.

Code:

Port         Page  ID    XROM    Description
System        4    4LIB  N/A     Library 4
Printer  P    6    HEPX    7     HEPAX 1D
HP-IL    H    7    PWRL   12     PowerCL Utilities
1       1L    8    HEPR    8     HEPAX RAM
        1U    9    HEPR    9     HEPAX RAM
2       2L   10    HEPR    -     Reserved
        2U   11    HEPR    -     Reserved
3       3L   12    YFNP   15     Extra Functions Plus
        3U   13
4       4L   14
        4U   15

I used a modified version of the YPOKE commands from the CL41 Calculator manual to initialize the two HEPAX RAM pages. The Prev and Next Page pointers were adjusted for pages 8 & 9. Since the serial interface is in physical port 1 anyway, it seemed as good a place to start HEPAX RAM as any. Port 2 is reserved for expansion of HEPAX RAM, and I'll place other tools in the three remaining pages.

I hope I only need to substitute YFNZ for YFNP and PWRX for PWRL to get the extreme versions of the two modules working. I'll wait a few days before trying THAT so I can get more familiar with PowerCL. I wonder how others switch between favored configurations. Do you do it manually, programmatically, MMU register copy to sRAM or via the secondary MMU registers?

Much remains to explore!
~ Mark

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
08-16-2016, 03:59 PM
Post: #8
RE: HEPAX program and PowerCL not compatible on 41CL?
Were you able to edit the XROM id#'s to eliminate the conflicts?

Switching between configurations is easy with the RCLCFG functions in the YFNX module - but if you revert to the "basic" YFNP then that's not available...

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
08-16-2016, 05:18 PM
Post: #9
RE: HEPAX program and PowerCL not compatible on 41CL?
I would suggest you switch to PWRX and YFNX to use with Lib 4 and never look back.

There is nothing to lose at all. :-)
Find all posts by this user
Quote this message in a reply
08-16-2016, 05:38 PM
Post: #10
RE: HEPAX program and PowerCL not compatible on 41CL?
(08-16-2016 05:18 PM)Gene Wrote:  I would suggest you switch to PWRX and YFNX to use with Lib 4 and never look back.

There is nothing to lose at all. :-)

But with great power comes great responsibility. YFNX allows you to mess with Flash without having to copy the code to RAM before executing. I did things this way so that with YFNZ you really had to think before messing with Flash. With YFNX the OS sector is protected so that you can't accidentally brick the machine, but otherwise everything else goes.
Visit this user's website Find all posts by this user
Quote this message in a reply
08-17-2016, 03:00 PM
Post: #11
RE: HEPAX program and PowerCL not compatible on 41CL?
Quote:Were you able to edit the XROM id#'s to eliminate the conflicts?
If my understanding of HEPAX RAM is correct, the RAM page has the same XROM id# as the physical page in which it is installed. So my conflicts were the result of putting HEPAX RAM in ports 3 & 4. Now that RAM is in port 1 (with future expansion to port 2) there is no conflict (yet!).

Quote:I would suggest you switch to PWRX and YFNX to use with Lib 4 and never look back.

I look forward to doing that soon! But first, master the manual Smile

Quote:YFNX allows you to mess with Flash without having to copy the code to RAM
And that's an area to approach with great caution after much more practice than I've had so far! I assume the library is copied to RAM so you don't "pull the rug from under yourself" by erasing the Flash sector where the library resides.

I think I'll wait until I've successfully updated an IMDB image before messing too much with Flash for my own purposes. The 41CL really is a new soul in an old machine - pretty amazing, and I've hardly messed with Turbo yet.

Thanks everyone for the help!
~ Mark

Remember kids, "In a democracy, you get the government you deserve."
Find all posts by this user
Quote this message in a reply
08-17-2016, 03:11 PM
Post: #12
RE: HEPAX program and PowerCL not compatible on 41CL?
(08-17-2016 03:00 PM)mfleming Wrote:  And that's an area to approach with great caution after much more practice than I've had so far! I assume the library is copied to RAM so you don't "pull the rug from under yourself" by erasing the Flash sector where the library resides.

The write routine is copied to RAM and then temporarily plugged into Page 4 to execute. The original Page 4 reference is restored after the write is complete. But the code does not prevent you from erasing the Flash sector where YFNX resides... which is a very bad thing to do. I may try to add a check for that to the code at some point. I actually did that to myself once and it took me a while to figure out what I had done wrong.
Visit this user's website Find all posts by this user
Quote this message in a reply
08-17-2016, 07:44 PM (This post was last modified: 08-17-2016 07:45 PM by Ángel Martin.)
Post: #13
RE: HEPAX program and PowerCL not compatible on 41CL?
(08-17-2016 03:00 PM)mfleming Wrote:  
Quote:Were you able to edit the XROM id#'s to eliminate the conflicts?
If my understanding of HEPAX RAM is correct, the RAM page has the same XROM id# as the physical page in which it is installed. So my conflicts were the result of putting HEPAX RAM in ports 3 & 4. Now that RAM is in port 1 (with future expansion to port 2) there is no conflict (yet!).
Such setup is just a convention, but doesn't need to be like that. You can always edit the XROM id# manually to remove conflicts, even *after* it's been assigned by the automated sequence (or by the HEPX4/8/16 functions). All it takes is modification of the first byte at address p000 (p being the page). Doing so won;t mess with the hepax chain, so it's totally safe from that side.

"To live or die by your own sword one must first learn to wield it aptly."
Find all posts by this user
Quote this message in a reply
Post Reply 




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