Post Reply 
41CL use of EXCFG, RCLCFG and STOCFG
10-10-2018, 02:19 PM
Post: #1
41CL use of EXCFG, RCLCFG and STOCFG
Hi, I am a little dubious about these three functions.
Before use EXCFG or RCLCFG is necessary to
execute MMUDIS and anfter MMUEN or not?
Thank you so much.
With best regards.
Find all posts by this user
Quote this message in a reply
10-10-2018, 09:03 PM
Post: #2
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-10-2018 02:19 PM)Podalirius Wrote:  Hi, I am a little dubious about these three functions.
Before use EXCFG or RCLCFG is necessary to
execute MMUDIS and anfter MMUEN or not?
Thank you so much.
With best regards.

Since MMUDIS would disable the 41CL Extreme Functions where these functions
reside, the answer is: No, no MMUDIS is required. Neither is MMUEN required after
executing them. The only restriction is that the 41CL Extreme Functions (YFNX)
must be mapped identically (via the MMU) among the different configurations.
I thought that this was explained in the manual but perhaps I'm wrong.
Visit this user's website Find all posts by this user
Quote this message in a reply
10-11-2018, 11:27 AM (This post was last modified: 10-12-2018 05:29 AM by Ángel Martin.)
Post: #3
RE: 41CL use of EXCFG, RCLCFG and STOCFG
These functions allow you to switch very easily between different "personalities" of the calculator. Simply set the configurations by themes or logical module grouping and switch back and forth between them just one call of the Extreme function away.

For instance, I use the following sets:

1. Math Machine (41Z, SandMath, SandMatrix, Advantage_Math)
2. Hacker's Delight (ToolBox, XROM Module, HEPAX)
3. Super-User (WARP_Core, 16C Emulator, Formula Evaluation)
4. Engineering Collection (ETSII3, ETSII4, ETSII5, UMS, Non-Linear ROM)
5. etc...

The only precaution as Monte said is that the CL_Extreme Functions needs to be in all configurations.

Besides that, I also have the Library#4 as a fixture, and most of the time also include the AMC_OS/X Module for the sheer convenience that it provides.

Cheers,
ÁM
Find all posts by this user
Quote this message in a reply
10-14-2018, 08:44 AM
Post: #4
RE: 41CL use of EXCFG, RCLCFG and STOCFG
Hi, My very best thank you for your very valuable help!!!
But Mr. Angel Martin has made me very curious:
I know that these functions operates on a four set of MMU
registers, one primary, and three secondary.
How I can create a fifth?
I have now my new Sy41CL and is a true masterpiece,
but also very useless without your help, because the
manuals are generally too technical, for me (I am a programmer
but I don't know Assembler) !!!
More and more, thank you so much!!!
Find all posts by this user
Quote this message in a reply
10-15-2018, 08:36 PM
Post: #5
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-14-2018 08:44 AM)Podalirius Wrote:  Hi, My very best thank you for your very valuable help!!!
But Mr. Angel Martin has made me very curious:
I know that these functions operates on a four set of MMU
registers, one primary, and three secondary.
How I can create a fifth?
I have now my new Sy41CL and is a true masterpiece,
but also very useless without your help, because the
manuals are generally too technical, for me (I am a programmer
but I don't know Assembler) !!!
More and more, thank you so much!!!

The MMU hardware only knows about configuration 0. The other configurations are
just extra storage locations at dedicated locations in RAM. I reserved four locations
per MMU register in the very beginning, and those locations are what are used by
the EXCFG, RCLCFG and STOCFG functions. So, with those functions only four
configurations are possible.

However, since the alternate configurations are software constructs, it would be
possible to write new EXCFG, RCLCFG and STOCFG functions that handled any
number of alternate configurations, as long as you standardized the storage
locations for the additional information. There isn't space available directly next
to the existing MMU registers, but there is plenty of space in the bottom page
of RAM, where all of this information resides. Is this something that other users
would find attractive? I could find time to do this if there is interest. It would be
an interesting project.

Monte
Visit this user's website Find all posts by this user
Quote this message in a reply
10-16-2018, 10:16 AM (This post was last modified: 10-16-2018 10:19 AM by Podalirius.)
Post: #6
RE: 41CL use of EXCFG, RCLCFG and STOCFG
Thank you so much, Mr. Monte!!!
I like very well to use computer-like calculators,
as more as true computers as possible.
I use in this manner my hp 50g, with data-base,
expanded storage, book reading, etc.
I think the Sy41CL is more powerful, because the
FOCAL language is very more powerful.
For hp 41 exist a Word Processor with only 429
lines of code!!!
You has made a true masterpiece with the 41CL,
making it full or space.
I think that all possibilities capables to offer and
facilitate the use of these capabilities was very
welcome to every Sy41CL user!
I have my 41CL well working from Sep 26, and all
days I am very impressed by its qualities!
I am very glad to thank you for all your efforts
to give a new life for the most beautiful
computer-like calculator in the world.
With best regards.
Find all posts by this user
Quote this message in a reply
10-16-2018, 01:11 PM
Post: #7
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-15-2018 08:36 PM)Monte Dalrymple Wrote:  However, since the alternate configurations are software constructs, it would be
possible to write new EXCFG, RCLCFG and STOCFG functions that handled any
number of alternate configurations, as long as you standardized the storage
locations for the additional information. There isn't space available directly next
to the existing MMU registers, but there is plenty of space in the bottom page
of RAM, where all of this information resides. Is this something that other users
would find attractive? I could find time to do this if there is interest. It would be
an interesting project.

Since there is plenty of memory available, instead of adding a specific 5th or 6th set somewhere else, why not implement a new function that swaps the current set of 4 banks with an alternate set, thus having a 'Primary' and 'Alternate' set of 4 configurations. This could even be extended further of course, but it's hard to imagine needing more than 8 sets of CL configurations... Just a thought.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
10-16-2018, 01:34 PM
Post: #8
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-16-2018 01:11 PM)rprosperi Wrote:  but it's hard to imagine needing more than 8 sets of CL configurations...

SCNR to slap here an unverified quote:

Quote:640K ought to be enough for anybody.

;)

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
10-16-2018, 02:27 PM
Post: #9
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-16-2018 01:11 PM)rprosperi Wrote:  Since there is plenty of memory available, instead of adding a specific 5th or 6th set somewhere else, why not implement a new function that swaps the current set of 4 banks with an alternate set, thus having a 'Primary' and 'Alternate' set of 4 configurations. This could even be extended further of course, but it's hard to imagine needing more than 8 sets of CL configurations... Just a thought.

If by "4 banks" you mean the sRAM blocks 800-803; - remember that anywhere above those is already reserved for other dedicated uses, like MMU regs, IMDB in RAM, etc.

This may have changed since I last looked at it, so feel free to correct me if inaccurate.

Cheers,
ÁM
Find all posts by this user
Quote this message in a reply
10-16-2018, 04:32 PM
Post: #10
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-16-2018 01:34 PM)Massimo Gnerucci Wrote:  
(10-16-2018 01:11 PM)rprosperi Wrote:  but it's hard to imagine needing more than 8 sets of CL configurations...

SCNR to slap here an unverified quote:

Quote:640K ought to be enough for anybody.

Wink

I was waiting for this... my only question was who would get here first. Wink

But since the universe of people that would likely need more than 8 41CL ROM configurations (never mind understanding what that even means) is fairly small, I think it's still probably true.

But then again, so did Bill. Ah to be in good company...

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
10-16-2018, 06:13 PM
Post: #11
RE: 41CL use of EXCFG, RCLCFG and STOCFG
There is plenty of unused space in the fourth page of RAM for extra MMU context.
The EXCFG, RCLCFG and STOCFG functions currently accept numbers 0-3 for the
configuration. I'll modify the functions to accept 0-9. It's a pretty simple change.
Visit this user's website Find all posts by this user
Quote this message in a reply
10-16-2018, 07:31 PM
Post: #12
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-16-2018 04:32 PM)rprosperi Wrote:  I was waiting for this... my only question was who would get here first. Wink

How could you doubt? Smile

(10-16-2018 04:32 PM)rprosperi Wrote:  But since the universe of people that would likely need more than 8 41CL ROM configurations (never mind understanding what that even means) is fairly small, I think it's still probably true.

But then again, so did Bill. Ah to be in good company...

Well Podalirius is already asking for more, just after 3 weeks of use...

Greetings,
    Massimo

-+×÷ ↔ left is right and right is wrong
Visit this user's website Find all posts by this user
Quote this message in a reply
10-16-2018, 11:44 PM
Post: #13
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-16-2018 07:31 PM)Massimo Gnerucci Wrote:  
(10-16-2018 04:32 PM)rprosperi Wrote:  I was waiting for this... my only question was who would get here first. Wink

How could you doubt? Smile

(10-16-2018 04:32 PM)rprosperi Wrote:  But since the universe of people that would likely need more than 8 41CL ROM configurations (never mind understanding what that even means) is fairly small, I think it's still probably true.

But then again, so did Bill. Ah to be in good company...

Well Podalirius is already asking for more, just after 3 weeks of use...

Well, I said need more than 8... it's easy to wish... I do it all the time. Smile

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
10-17-2018, 10:51 AM
Post: #14
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-16-2018 01:11 PM)rprosperi Wrote:  Since there is plenty of memory available, instead of adding a specific 5th or 6th set somewhere else, why not implement a new function that swaps the current set of 4 banks with an alternate set, thus having a 'Primary' and 'Alternate' set of 4 configurations. This could even be extended further of course, but it's hard to imagine needing more than 8 sets of CL configurations... Just a thought.

YMCPY function from YFNX module can easily backup and/or restore block 1 to 3, block 0 is more tricky but not that much.
Code:
"803>823" YMCPY  // backup block 3 to RAM page 0x823
"827>803" YMCPY  // restore block 3 from RAM page 0x827

(10-14-2018 08:44 AM)Podalirius Wrote:  But Mr. Angel Martin has made me very curious:
I know that these functions operates on a four set of MMU registers, one primary, and three secondary. How I can create a fifth?

Not presently, but you can easily get around the limitation, see above.
I would suggest to use this method for awhile to see if you really need more than what we have presently.
If that is really the case, then Monte could modify the code for sure, the drawback is compatibility with users currently using memory pages that Monte will use.
Find all posts by this user
Quote this message in a reply
10-17-2018, 03:19 PM
Post: #15
RE: 41CL use of EXCFG, RCLCFG and STOCFG
The MMU registers are stored in page 804, between 80401C and 8040FF. This
entire page has always been reserved for 41CL internal use, as shown in the
Memory Reference. The details of specific locations used are shown in the
manuals for the different 41CL-specific software.

I plan to add six more sets of MMU registers. Three sets will reside at 80411C
through 8041FF and three sets will reside at80421C through 80422FF. All of
these locations are currently unused by 41CL software. This change requires
less than two dozen bytes of code, in the YLIB image.

The only user-visible change will be that the EXCFG, RCLCFG and STOCFG
functions will now accept 0-9 as an argument, where before only 0-3 were
accepted.
Visit this user's website Find all posts by this user
Quote this message in a reply
10-17-2018, 05:01 PM
Post: #16
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-17-2018 03:19 PM)Monte Dalrymple Wrote:  The MMU registers are stored in page 804, between 80401C and 8040FF.
This entire page has always been reserved for 41CL internal use, as shown in the Memory Reference.
The details of specific locations used are shown in the manuals for the different 41CL-specific software.

I plan to add six more sets of MMU registers.
Three sets will reside at 80411C through 8041FF and three sets will reside at80421C through 80422FF.
All of these locations are currently unused by 41CL software.
This change requires less than two dozen bytes of code, in the YLIB image.

The only user-visible change will be that the EXCFG, RCLCFG and STOCFG functions will now accept 0-9 as an argument, where before only 0-3 were accepted.
I understand the management part.
Currently "Expanded Memory 1 to 3" uses 0x801, 0x802 & 0x803, what RAM 4K pages do you plan to use for "Expanded Memory 4 to 9" ?
Find all posts by this user
Quote this message in a reply
10-17-2018, 06:29 PM
Post: #17
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-17-2018 05:01 PM)Sylvain Cote Wrote:  
(10-17-2018 03:19 PM)Monte Dalrymple Wrote:  The MMU registers are stored in page 804, between 80401C and 8040FF.
This entire page has always been reserved for 41CL internal use, as shown in the Memory Reference.
The details of specific locations used are shown in the manuals for the different 41CL-specific software.

I plan to add six more sets of MMU registers.
Three sets will reside at 80411C through 8041FF and three sets will reside at80421C through 80422FF.
All of these locations are currently unused by 41CL software.
This change requires less than two dozen bytes of code, in the YLIB image.

The only user-visible change will be that the EXCFG, RCLCFG and STOCFG functions will now accept 0-9 as an argument, where before only 0-3 were accepted.
I understand the management part.
Currently "Expanded Memory 1 to 3" uses 0x801, 0x802 & 0x803, what RAM 4K pages do you plan to use for "Expanded Memory 4 to 9" ?

I have no plans to increase the number of pages available for Expanded Memory.
I'm only talking about increasing the number of configurations available via the
MMU.
Visit this user's website Find all posts by this user
Quote this message in a reply
10-18-2018, 03:01 AM
Post: #18
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-17-2018 06:29 PM)Monte Dalrymple Wrote:  I have no plans to increase the number of pages available for Expanded Memory.
I'm only talking about increasing the number of configurations available via the MMU.
I though that we were talking to expand both, my mistake, sorry about that, then I have no more concern. Smile
Find all posts by this user
Quote this message in a reply
10-20-2018, 05:57 AM
Post: #19
RE: 41CL use of EXCFG, RCLCFG and STOCFG
OK, so there are now 15 alternate configurations available: 1-9 and A-F. Seems
to be working in V41, but I haven't loaded it on a real CL yet. Soon, though.

Keeping track of this many configurations might be a challenge, so I was
wondering if there were a way to "name" them. What I came up with would
only be a substitute for RCLCFG, and the names would be hard-coded in
the IMDB. You would use the regular PLUG function to access the alias. So,
for example, PLUG 9MTH x would be aliased to RCLCFG 1. The page identifier
in the PLUG function would be ignored and the 9MTH entry in the IMDB would
have the number "1" in it that would be passed to the RCLCFG transparently.

I thought that the following might be useful:

9MTH for math
9ENG for engineering
9MNY for financial
9FUN for games
9AST for astronomy
9AVI for aviation
9CHM for chemistry
9MED for medicine
9MIL for military/government
9NAV for navigation
9PHS for physics
9HAK for hacker
9SUR for surveying

These would be the standard aliases, but you can always add more or modify
them if you wanted, although that makes your IMDB custom. The 9xxx entries
in the IMDB are currently unused except to hold the version information, so
this would be compatible. These IMDB entries would be marked as "not pluggable"
for backwards compatibility.

Any votes yes or no? Any comments? I reserve the right to say "sorry, can't
be done" if I can't find space or can't figure out how to do it.
Visit this user's website Find all posts by this user
Quote this message in a reply
10-20-2018, 06:02 AM (This post was last modified: 10-20-2018 06:03 AM by Ángel Martin.)
Post: #20
RE: 41CL use of EXCFG, RCLCFG and STOCFG
(10-20-2018 05:57 AM)Monte Dalrymple Wrote:  OK, so there are now 15 alternate configurations available: 1-9 and A-F. Seems
to be working in V41, but I haven't loaded it on a real CL yet. Soon, though.

Hi Monte,

I didn't think V41 would be capable to act on those, so the implementation is just a mock-up to test the functionality?

(10-20-2018 05:57 AM)Monte Dalrymple Wrote:  Any votes yes or no? Any comments? I reserve the right to say "sorry, can't
be done" if I can't find space or can't figure out how to do it.

I like the concept you've come up with, definitely a worthy enhancement.
My only request is don't remove the original RCLCFG 1/2/3/4 settings, i.e. make he new ones ad addition and not a replacement.

Best,
ÁM
Find all posts by this user
Quote this message in a reply
Post Reply 




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