This is an old revision of the document!
Working with the menus
General concepts
newRPL has two independent menus at all times on the screen, from now on referred to as Menu 1 and Menu 2. Each menu has 6 tabs, each associated with a corresponding key on the keyboard. Keys A
through F
correspond to Menu 1, and keys G
through L
are associated with Menu 2. On the screen, Menu 1 is the top row, while Menu 2 is organized in 2 rows of 3 tabs (second and third rows). The layout of the menu on the screen mimics the layout of the corresponding keys on the keyboard.
Each tab on a menu may contain anything: a system command, a program written by the user, variables, and tabs perform an action when their associated key is pressed. When a menu key is pressed in a shift or shift-hold combination, different actions are performed.
Each tab can therefore perform up to 5 different actions depending on how the user activates the key:
- By itself
- Left-shift mode
- Left-Shift hold
- Right-Shift mode
- Right-Shift hold
There are system defined menus that are ready to be used, but also the user can create custom menus.
Using the menus
newRPL's main menu is activated with the key P
. Pressing it will display the main menu in the active menu (the active menu is by default Menu 1, but this can be customized). The menu shows the main 6 tabs:
Math
contains other math related submenus in various subjects.Symb
contains submenus related to manipulation of symbolic expressions.Units
contains submenus to work with unitsProg
contains submenus regarding RPL programming.System
contains various system settings, flags and various hardware and user interface commands.Vars
shows the variables in the current directory.
Tabs that will open a submenu always have the first letter grayed out, while tabs that activate a command or other objects don't.
Navigating through submenus
Activating any tab in the main menu will change the active menu into the corresponding submenu. In the main menu, activating a tab using any shift or shift-hold combination will display the submenu in the secondary menu (by default Menu 2).
For example, after pressing P
to bring the main menu, pressing:
A
will show theMath
submenu in Menu 1, the main menu is no longer visible in Menu 1.RS-A
will show theMath
submenu in Menu 2, while Menu 1 still has the main menu available.
To go back to a previous menu in Menu 1, use right shift and the M
key. To go back to a previous menu in Menu 2, use right shift-hold and M
. The last 8 submenus are remembered by the system, so it is possible to use this key to go back multiple times.
All submenus in the system menu behave as described above. The Vars
submenu is somewhat different, since it displays user variables and tabs with the first letter grayed out are directories. Activating a directory changes the current directory (see dirs) rather than changing to a different submenu. Even after changing to a different directory, the same Vars
menu is being displayed. Therefore, the RS-M
key doesn't go back to the previous directory (which might be the expected behavior), instead it goes to the submenu that was active before Vars
.
When a menu needs more than 6 tabs, the last tab becomes NXT…
. This can be found for example by going into the Units
submenu in the main menu. Activating NXT…
will show other 5 tabs, and pressing it repeatedly will cycle through all the available tabs in a menu. Using any shift with NXT…
will show the previous 5 tabs, and pressing it repeatedly will cycle through tabs in the opposite direction.
To change the currently active menu, activate the main menu then go into System
, Settings
, Flags
. There is one tab that reads either 1MENU
or 2MENU
indicating which menu is currently active. Activate the tab by pressing D
and the currently active menu will alternate between 1 and 2. When this tab indicates 2MENU
, pressing P
to invoke the main menu will display it in Menu 2.
The Vars menu
The Vars
menu shows variables and directories, and is therefore quite useful and the user is expected to spend most of the time with Vars displayed in one of the menus. Tabs with the first letter grayed out are directories, while all other tabs are variables.
Activating a tab with a variable has various effects, depending on when it's being used.
At the stack
Activating a tab in the Vars
menu causes it to run XEQ
on its contents. In most cases, this results in the contents being recalled to the stack. However, if the variable contains an RPL program, XEQ
will instead run that program. If the variable is a directory name, it will become the currently active directory.
Using the right shift with a tab (with or without holding it) causes it to run RCL
on the variable, resulting in the contents being recalled to the stack.
Using the left shift with a tab (with or without holding it) causes it to run STO
, storing whatever is in Level 1 of the stack into the variable. The contents of the variable will be overwritten and there is no confirmation message, so it must be used with caution.
At the command line editor
Activating tabs while the command line editor is open has different effects depending on the active mode.
- Direct mode 'D': Activating the variable will close the editor as if the user had pressed
ENTER
, then perform the same action as when at the stack (XEQ
when by itself,RCL
with right shift andSTO
with left shift). - Programming mode 'P': When pressed by itself, the unquoted name of the variable will be inserted in the editor. Using it with right shift will insert the quoted name and
RCL
, while using it with left shift will insert the quoted name andSTO
. - Algebraic mode 'A': When pressed by itself, the unquoted name of the variable will be inserted in the editor. Using it with right shift will insert the contents of the variable in the editor, while using it with left shift will close the command line and perform
STO
.
Regardless of the active mode, holding right shift and activating the tab will always insert the content of the variable in the editor.