08-12-2016, 09:41 AM
Post: #1
 JDW Member Posts: 181 Joined: Jun 2016
I've been using a 28S for almost 26 years and have grown accustomed to being able to hide the soft menus at the touch of a button. I recently purchased a 48GX and a 50g, both of which appear to lack that great feature. I can understand why the 28S has it -- the screen isn't so tall. But the fact is that even with the bigger screen of the 48GX and the massive screen of the 50g, you could still gain one more stack level if you could hide the soft menus. So is there really no way to hide the soft menus on the 48GX and 50g?

Thanks.
08-12-2016, 09:59 AM
Post: #2
 Alejandro Paz(Germany) Member Posts: 117 Joined: Mar 2016
I think not, but there are ways to pack more stack levels on the screen using smaller fonts.
08-12-2016, 01:10 PM
Post: #3
 Accutron Member Posts: 109 Joined: Aug 2014
I believe you can turn it off using System RPL.
08-12-2016, 01:52 PM
Post: #4
 Logan Member Posts: 118 Joined: Jul 2016
I'm curious what you would gain on the 50g? One more stack level? With the mini-font you can see 10 already and hiding the soft keys would make 6 keys on the keyboard of no value.

I'm just curious because I can't think of a reason I would want to do that but maybe there is.
08-12-2016, 08:27 PM
Post: #5
 DavidM Senior Member Posts: 602 Joined: Dec 2013
On the 50g, you can reduce/remove the header area with the ->HEADER command. Using the default font setting, this will give you enough space for two additional stack lines if you use that command with a setting of 0. Using smaller fonts will give you even more stack display.

I believe there were several utilities that would perform a similar function on the 48gx. Check at hpcalc.org for those.
08-12-2016, 11:36 PM
Post: #6
 JDW Member Posts: 181 Joined: Jun 2016
(08-12-2016 01:10 PM)Accutron Wrote:  I believe you can turn it off using System RPL.

I have never programmed in System RPL before, so maybe my eyes are missing something, but I read pages 284 to 294 in the following System RPL book PDF and didn't see how to hide the menus:

http://isa.umh.es/calc/progsysrpl.pdf

Folks, some of you are wondering WHY I would want to hide the menus when I have other options to regain screen space. Sometimes it is not about the "why" but about the "how." Sometimes you set out to achieve something "just for the heck of it." But in my case, it is perhaps something that only 28S lovers can understand. When you have used the 28S for 26 years like I have, never having used the HP48 at all during that time, you grow pretty accustomed to the 28S way of doing things, such as the built-in ability of the 28S to show or hide menus with the tap of a single key! It becomes second nature to hide the menus. And sometimes you just want to get those menus out of view, not to have more screen space, but to have a cleaner display. Hiding menus means less visual clutter.

So if there is some trick that really can hide the soft menus, then I would love to hear it. Or maybe Claudio's newRPL will have this feature?

Thanks.
08-13-2016, 12:41 AM
Post: #7
 Accutron Member Posts: 109 Joined: Aug 2014
The command you're looking for is TURNMENUOFF. It's in there.
08-13-2016, 12:44 AM
Post: #8
 Claudio L. Senior Member Posts: 1,273 Joined: Dec 2013
(08-12-2016 11:36 PM)JDW Wrote:  Or maybe Claudio's newRPL will have this feature?

Thanks.

Actually, newRPL goes the completely opposite direction, having 2 independent (and configurable) soft menus on screen at all times. You can hide the second menu with the touch of a button, but not both. But there's no technical reason why it can't be done, just that it makes sense to keep both menus on sight at all times.
08-13-2016, 01:07 AM
Post: #9
 DavidM Senior Member Posts: 602 Joined: Dec 2013
(08-12-2016 11:36 PM)JDW Wrote:  ... And sometimes you just want to get those menus out of view, not to have more screen space, but to have a cleaner display. Hiding menus means less visual clutter.

So if there is some trick that really can hide the soft menus, then I would love to hear it.

Thanks.

If your goal is simply to hide the menus, then there are several options, and there's no need to resort to SystemRPL to do it on either the 48gx or 50g. Just be aware that the area normally occupied by the menus will simply be occupied by some other graphical image as opposed to being used as additional stack space.

As an example, try running the following code on either the 48gx or the 50g:

Code:
\<<    #21d #8d BLANK "" 2 \->LIST    DUP DUP DUP DUP DUP    6 \->LIST    TMENU \>>

You should find that the soft menu is now gone, but the area is simply "blanked out" instead of being used for any particular purpose. I believe this qualifies as one example of how to have the cleaner display that you identified above. Note that any operation that changes the menu will then override this blank area, but that's probably what you would want anyway, right?
08-14-2016, 05:55 AM (This post was last modified: 08-14-2016 06:01 AM by JDW.)
Post: #10
 JDW Member Posts: 181 Joined: Jun 2016
(08-13-2016 12:41 AM)Accutron Wrote:  The command you're looking for is TURNMENUOFF. It's in there.

Thanks. I've never used systemRPL before, but the exact code appears to be this:

Code:
 :: TURNMENUOFF ;

But I believe I need a compiler or other software on my 48GX and 50g to run the above, right?

(08-13-2016 01:07 AM)DavidM Wrote:  ... try running the following code on either the 48gx or the 50g:

Code:
\<<    #21d #8d BLANK "" 2 \->LIST    DUP DUP DUP DUP DUP    6 \->LIST    TMENU \>>

David, I typed in the following code on my 48GX:

Code:
 <<    #21d #8d BLANK "" 2 →LIST    DUP DUP DUP DUP DUP    6 →LIST    TMENU >>

(To input that right-arrow to the left of LIST, I pressed the blue/green right-shift key followed by the 0 key.)

When I pressed ENTER the 21 and 8 decimal values changed to binary (10101b and 1000b).

I then saved it as "MENu" using STO and then tapped that new softmenu to run it, but that results in the following error:

Code:
 →LIST Error: Too Few Arguments { Graphic 21 x 8 "" } { Graphic 21 x 8 "" } { Graphic 21 x 8 "" } 6

08-14-2016, 06:39 AM
Post: #11
 Accutron Member Posts: 109 Joined: Aug 2014
(08-14-2016 05:55 AM)JDW Wrote:  Or do you know the address of TURNMENUOFF and TURNMENUON such that SYSEVAL can be used?

You probably want to run a RECLAIMDISP (#130ACh) before each of those. MENUOFF? (#4E360h) tests the menu status and returns true if it's turned off.

Those are for the 48G/GX only, and will be different for the 50G. It's also possible they might not work if your GX isn't ROM 'R'. It's been about 20 years since I used SYSEVALs on the GX, so it's possible I'm completely wrong and your calculator will explode into bits of flaming plastic. You'll want to back things up before trying them.
08-14-2016, 07:19 AM (This post was last modified: 08-14-2016 07:24 AM by JDW.)
Post: #12
 JDW Member Posts: 181 Joined: Jun 2016
Accutron,

Thank you for the specifics. I have the newest "R" revision ROM in my 48GX, and since I have nothing important stored and no cards installed, I proceeded first with this:

#4E360h ENTER

But that put # E360 on the stack. I then realized I had saved 16 into STWS to limit the number of binary bits in the past, so I changed that back to the default of 64 using STWS and then the full #4E360h appeared when I retyped it and pressed ENTER.

However, when I subsequently typed SYSEVAL, the stack showed: External. External menus??

I then did this:

#130ACh ENTER
SYSEVAL ENTER

#4E2CFh ENTER
SYSEVAL ENTER

The menus flickered off and back on in perhaps 100ms. They didn't stay off.

I then tried #4E347h, but with the menus already showing that did nothing at all.

Looks like a no-go.
08-14-2016, 10:32 AM (This post was last modified: 08-14-2016 10:33 AM by RMollov.)
Post: #13
 RMollov Member Posts: 191 Joined: Dec 2013
Quote:Looks like a no-go.

It is. HP48 was designed to have permanently menu line as opposed to 28 for obvious reasons. It's possible to use that line temporarily to display something, but not to mimic hp28's behaviour.
08-14-2016, 11:19 AM (This post was last modified: 08-14-2016 12:14 PM by JDW.)
Post: #14
 JDW Member Posts: 181 Joined: Jun 2016
Not only a no-go, but those SYSEVAL commands I mentioned in my previous post messed up something pertaining to sound on my 48GX. I had BACH stored in VAR (internal RAM) and it played great before, but now the sound is badly distorted. Very strange.

UPDATE: I performed a Memory-Clear Reset (ON-A-F), then I used Hoppi to transfer BACH back onto the 48GX, and now the sound is working fine again with no distortion. Whew!
08-14-2016, 01:34 PM
Post: #15
 DavidM Senior Member Posts: 602 Joined: Dec 2013
(08-14-2016 05:55 AM)JDW Wrote:  David, I typed in the following code on my 48GX:

Code:
 <<    #21d #8d BLANK "" 2 →LIST    DUP DUP DUP DUP DUP    6 →LIST    TMENU >>

(To input that right-arrow to the left of LIST, I pressed the blue/green right-shift key followed by the 0 key.)

When I pressed ENTER the 21 and 8 decimal values changed to binary (10101b and 1000b).

The 21 and 8 values changed because your current base display mode is set to binary. The values compiled into your program are still the same, they are simply being displayed using base 2 instead of base 10 (or hex, or octal).

(08-14-2016 05:55 AM)JDW Wrote:  I then saved it as "MENu" using STO and then tapped that new softmenu to run it, but that results in the following error:

Code:
 →LIST Error: Too Few Arguments { Graphic 21 x 8 "" } { Graphic 21 x 8 "" } { Graphic 21 x 8 "" } 6

My first guess is that you may have missed a DUP (there should be 5 of them). The evidence would suggest that there are less than 6 of the '{ Graphic 21 x 8 "" }' objects on the stack at that point in the running code, which shouldn't have happened if all the DUPs are in place.

I don't have a 48GX to test this on, but I have successfully run the code as supplied on both a 48SX and 50g with no problems. It also ran on an emulated 48GX without issue, so I'd look for a typo as the culprit.

(08-14-2016 07:19 AM)JDW Wrote:  Accutron,

Thank you for the specifics. I have the newest "R" revision ROM in my 48GX, ...

The menus flickered off and back on in perhaps 100ms. They didn't stay off.

I then tried #4E347h, but with the menus already showing that did nothing at all.

Looks like a no-go.

That's exactly what should have happened. TURNMENUOFF only works within the context of a running SysRPL program; the menu disappears, and the ABUFF "text grob" is expanded into that area for your program to be able to draw into it as a contiguous part of the screen. All of that is reset as soon as the program stops, however. At your program's conclusion, the calculator's normal stack display is resumed.

Attempting to use that area for stack display for normal calculator operations really is a no-go. The 48-50 series systems don't provide any built-in support for that, and you'd really have to hack the system to get that to work.

Also, please be aware that the SYSEVAL command is potentially very dangerous. You are essentially telling your calculator to start running whatever code happens to be at a specific memory address, which it will do without consideration for what's there. Data loss and corruption can result if you supply an address that isn't what you originally intended (such as what happens when you use an address meant for a different platform). It sounds like you may have run into this situation. If you plan on using that command, make frequent backups and be prepared to restore your calculator after problems occur.
08-14-2016, 02:13 PM (This post was last modified: 08-14-2016 02:13 PM by JDW.)
Post: #16
 JDW Member Posts: 181 Joined: Jun 2016
(08-14-2016 01:34 PM)DavidM Wrote:  My first guess is that you may have missed a DUP (there should be 5 of them).

You're right. I typed in your recommended program again and this time it works!

The absence of the menu line is quite lovely to behold, even if you don't gain another stack line. And all that's required to restore menus is just press VAR or MTH or any key that normally brings up a menu. It's great. The perfect solution. I love it!

Many thanks, David!
08-14-2016, 02:44 PM
Post: #17
 DavidM Senior Member Posts: 602 Joined: Dec 2013
(08-14-2016 02:13 PM)JDW Wrote:  The absence of the menu line is quite lovely to behold, even if you don't gain another stack line. And all that's required to restore menus is just press VAR or MTH or any key that normally brings up a menu. It's great. The perfect solution. I love it!

Many thanks, David!

You're quite welcome, JDW. The code I provided was intended to be relatively simple and portable between both your 48gx and 50g. There are other ways to do the same thing (custom menus come to mind), and in the case of the 50g, additional commands available that can simplify the code (NDUPN would be useful). Just food for thought!
08-14-2016, 03:03 PM (This post was last modified: 08-14-2016 03:03 PM by JDW.)
Post: #18
 JDW Member Posts: 181 Joined: Jun 2016
(08-14-2016 02:44 PM)DavidM Wrote:  The code I provided was intended to be relatively simple and portable between both your 48gx and 50g.

Very true. I just confirmed the same code works to hide the menu line on my 50g too. Your tip about NDUPN is appreciated. Thank you again for your excellent solution!
08-15-2016, 04:02 PM
Post: #19
 BartDB Member Posts: 108 Joined: Feb 2015
(08-12-2016 11:36 PM)JDW Wrote:  ....
But in my case, it is perhaps something that only 28S lovers can understand.
....

Yes, I identify with that. I used my 28S up to 2006 when a drop onto the floor gave the death knell to the battery door. In 2007 I replaced it with the 50g.

I also tried to find a way to hide the menus on the 50g, but gave up. I have gotten used to it being there during normal stack display and fortunately the menu can be turned off for graphs.
08-15-2016, 10:51 PM
Post: #20
 JDW Member Posts: 181 Joined: Jun 2016