Append to CATALOG

Discussion around the SwissMicros DM42 calculator
mcc
Posts: 277
Joined: Fri Jun 23, 2017 5:10 am

Append to CATALOG

Post by mcc »

Hi,

This will not hurt the compatibility to the HP42s since its use needs user interaction and should be completly
"invisible" for programs written for the HP42s originally.

Currently up to 18 programs can be pinned/attached/glued/inserted/whatever-is-the-correct-word-here to
the internal menu system of our beloved DM42. :)
On the opposite we have plenty of RAM and programs, which have a real small footprint in memory.
I think we will hit the out-of-18-places limit than then "no space left in memory" limit.

And: I made the experience that I already wrote utility programs from time to time: For example a "clear" function,
which "resets" parts of the DM42 back to personal preferences and left others untouched.

What, if we could attach functions to the internal CATALOG also and those would not occupy space in the menu
entries?

I think, that could be quite handy for functions, which do things of "general interest"...

What do you think?

Thomas? ;)

Cheers
Meino
DM 42 - SN: 00373, Firmware release v.:3.22. / DMCP 3.24. as compiled by SwissMicros
Thomas Okken
Posts: 1098
Joined: Tue May 02, 2017 5:48 pm
Location: Netherlands
Contact:

Re: Append to CATALOG

Post by Thomas Okken »

mcc wrote:
Fri Jan 12, 2018 7:34 pm
What do you think?
Well, "no," because that's my default thought. :mrgreen:

I'm actually not sure, though, because I don't understand what you're asking. All programs already are in the PGM catalog. What else do you need?
mcc
Posts: 277
Joined: Fri Jun 23, 2017 5:10 am

Re: Append to CATALOG

Post by mcc »

Moin Thomas,

The background of this idea:
Why are not all programs, which are available for the DM42 (including those, which comes as commands with the DM42 like SIN, IP, PIXEL etc),
in the (then bigger sized) MENU system (the opposite of the idea):
It would be hell to find the own ones and: The already shipped ones are kinda "library" programs or "utility" programs.

What, if one wants to write - say - a graphics "library" which implements functions like PLOT, LINE. ARC, FILL, etc...
This kind of program would count as "utility" function/program and may be loaded for a much longer time as the swapped in/swapped out
once which are designed only for a very specific purpose of calculation. Additional: One would not to be urged to implement certain funtionality over and over again.

It would unclutter the program menu, if it would be possible to move those to the CATALOG and use them as "self made extensions" of/for the DM42.

The second reason:
I feel (read: dont know for sure, whether) we have a "misproportion of the nice kind" between count of programs one could place into the program
menu (18 programs) and HUGE memory available. Moving utility programs "out if the way" into the CATALOG would help here.

What do you think?

Cheers!
Meino
DM 42 - SN: 00373, Firmware release v.:3.22. / DMCP 3.24. as compiled by SwissMicros
Thomas Okken
Posts: 1098
Joined: Tue May 02, 2017 5:48 pm
Location: Netherlands
Contact:

Re: Append to CATALOG

Post by Thomas Okken »

I think you greatly under-estimate the amount of effort it would take to design and implement that kind of functionality, and/or you greatly over-estimate my willingness and enthusiasm for doing that work.

Just try to design something like that: the hierarchical menus, the questions of how programs can call other programs if they're not in the same sub-directory, ditto for variables... You're going to end up designing RPL before you know it, and I'm not interested in that, it already exists.

The HP-42S design doesn't lend itself to having dozens or hundreds of programs in memory, never mind all their variables sharing a single flat namespace, shared numbered registers, a four-level data stack and an eight-level subroutine stack...

Enjoy the 42S for what it is. Free42 is faster and can access more memory because it runs on hardware that is faster and has more memory than the original calculator, but if you really feel the need to get the most out of that powerful hardware, a retro app like Free42 is not the way to go.
User avatar
Walter
Posts: 3070
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

Re: Append to CATALOG

Post by Walter »

Amen!
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
mcc
Posts: 277
Joined: Fri Jun 23, 2017 5:10 am

Re: Append to CATALOG

Post by mcc »

Hi,

...sorry for that suggestion. I am sorry...

Cheers
Meino
DM 42 - SN: 00373, Firmware release v.:3.22. / DMCP 3.24. as compiled by SwissMicros
User avatar
Walter
Posts: 3070
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

Re: Append to CATALOG

Post by Walter »

mcc wrote:
Sat Jan 13, 2018 7:18 am
...sorry for that suggestion. I am sorry...
No reason to be sorry. Anybody suggesting anything here may get his/her suggestion accepted by the community or not. Such is life. 8-)
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
rprosperi
Posts: 1698
Joined: Mon Apr 24, 2017 7:48 pm
Location: New York

Re: Append to CATALOG

Post by rprosperi »

mcc wrote:
Sat Jan 13, 2018 7:18 am
...sorry for that suggestion. I am sorry...
Walter is right, there is no reason to be sorry, making suggestions is always welcome by the community. It only becomes an issue when suggestions are unreasonably repeated, pedantic or insisted upon, which is NOT the case here.

In this case, I do agree with Thomas and Walter, these suggestions are well beyond the scope of any kind of DM42 act-alike device, though discussion of such suggestions could lead to more appropriate changes.
--bob p

DM42: β00071 & 00282, DM41X: β00071 & 00656, DM10L: 071/100
mgmander
Posts: 4
Joined: Sat Jul 22, 2017 9:18 am

Re: Append to CATALOG

Post by mgmander »

While I absolutely agree that something as complex as a directory hierarchy would be overkill for the DM42, I have to agree with the OP in this way: I too like to write small utility programs that do things like, in my case, outputting DMS and HMS numbers in a nicely formatted manner, calculating Julian day numbers, saving and restoring the stack etc. I use functions like these over and over in different programs, but they would clutter up the program directory where I want my main programs visible, but not necessarily all the utility functions.

Here is a simple suggestion (maybe not so simple to code of course!) that if implemented, would allow one to selectively hide labels or variables, and shouldn’t affect program compatibility with the HP-42S or any versions of Free42, as least as far as I can tell…

1) The DM42 could have a new virtual variable called ‘HideCH’ where one would store a single alpha character of choice. By default, the character would be a space (' '), which then disables any “hiding” behaviour. However for this example, let’s say I were to store the period (‘.’) character in HideCH. This would then cause the DM42 to hide any labels or variables prefixed with that character from CATALOG listings, the XEQ menu, the STO and RCL menus etc. For example, ‘SAVEST’ would be visible, but ‘.SAVEST’ would be hidden.

2) When you press XEQ, whether in stack mode or programming mode, the current behaviour is that a second press of XEQ is an error (beep in Free42). Change this so that the first press of XEQ shows all the regular labels, but then a second press switches to showing all the HideCH prefixed labels, so in my example all the labels I’ve prefixed with a period. Then another press goes back to the normal labels, round-robin like that.

3) At the moment, when you switch to a CATALOG, for example CATALOG->PGM, a second press of CATALOG is ignored. The new behaviour would be that a second press of the CATALOG button (‘shift +’ of course), would then switch to displaying all the hidden program labels, another press would get you back to the normal labels etc.

4) As far as STO and RCL, the same thing. Currently a second press of STO or RCL is an error, but the new behaviour would be to toggle between showing the normal named variables first, the second press would show the hidden ones prefixed with the period, the third press takes you back to the normal ones, and so on.

5) I would think the same thing should be doable for any menus, such as CATALOG->REAL, CATALOG->CPX etc.

6) Any code using labels or variables prefixed by a “hide character” should run just fine, regardless of the actual value stored in the HideCH variable, since the character is simply part of the label. Since virtual variables can be set programmatically (I believe), if one were to download a complex set of programs that someone else has written, there could be an initialization program that, amongst other things, sets the value of HideCH to what the program’s author had used for hiding utility labels and utility variables.

Anyway, this was just a really quick little thought experiment on my part, on how the DM42 could be “simply” enhanced to better organize larger numbers of program labels and variables without (hopefully) breaking anything. There is certainly a good chance I might have missed an obvious problem with this approach due to my very limited experience with 42S programming!

While I have extensive experience writing complex software for HP's RPL calculators, such as the 48 and 49 series, most recently the 50G, I haven’t used RPN based models much for programming since they’ve always seemed too limited, from an organizational (UI) standpoint, for anything other than relatively trivial stuff. I do have an 11C, 15C, 41CX, 32SII and others, but have mainly used them for direct calculations or really simple programs. With the larger multiline display, greater memory and labeled variables, I am hoping to use the DM42 for longer programs, but after playing with Free42 for a while, I realize that I’ll miss the organization that the RPL models give me.

Anyway, I still haven't seen my DM42 arrive, nearly 5 weeks after placing my order, but I am eagerly awaiting this little gem, with or without hidden labels! The 42 has the CUSTOM menu feature of course, which is great, and that will go a long way towards grouping important programs and variables into one spot. Still, personally I think I'd rather like the idea of a HideCH feature as one more available level or organization...
Krauts In Space
Posts: 85
Joined: Wed Jan 03, 2018 3:48 pm
Location: Nuremberg, Germany

Re: Append to CATALOG

Post by Krauts In Space »

mcc wrote:
Fri Jan 12, 2018 7:34 pm
What do you think?
Your're talking about the Forth way.
Every new 'program' you create becomes part of the vocabulary.

KiS
DM15L S/# 10584 FW v25
DM42 S/# 01015 FW v3.5
Post Reply