© 2018 Torsten Manz mail_logo.gif 20x14


Pop-ups and menu bar

Using pop-up menus

The Simulator provides several pop-up menus. Pop-up menus are invoked by clicking with the right mouse button on a user interface element, e.g. a button, the display etc., or by a keyboard shortcut of the form Altkey.

If you invoke a pop-up menu by clicking a user interface element, its top left corner appears near the mouse pointer. If you invoke the pop-up with a keyboard shortcut, the top left corner of the pop-up appears at the bottom left corner of the GUI element.

In addition to the pop menus, a menu bar can be switched on.

Mac OS X specifics

Pop-up Menus

Earlier Tcl/Tk versions did not allow fixed width fonts in pop-up menus on Mac OS X; a feature needed for the simulator pop-up menus. Therefore pop-up menus on Mac OS X were simulated with normal windows. Recent combinations of Tcl/Tk and Mac OS X do not have this limitation anymore and native pop-up menus are now used by default. However, this has the disadvantage that all native pop-up menus are always one-column. You can therefore return to the old style menus if you deactivate "Native Mac OS X pop-up menus" in the Menus section of the preferences.

The only exception is the "Program Menu" which is always a normal window. This is because coloured entries and multi-column pop-up menus are not supported by Mac OS X.

Menu bar

Under Mac OS X the menu bar is always on as it serves as the application's standard menu bar.

ON Menu

The ON pop-up menu provides functions that are typical for a "File" menu.
Menu item Shortcut Description
Open program… CtrlO Open a HP-15C program file. Opens the operating system standard "Load file" dialogue box to select a file. The new program will override the current program(s) when loaded.
Save program… CtrlS Save the current HP-15C program(s) to a file. Opens the operating system standard "Save file" dialogue box to specify a file.
Program description… F12 Opens the Program Description dialogue box. Used to edit/enter program documentation.
HTML help: text CtrlF1
Displays the HTML file for the current program.
If a HTML file is available, "text" is the file name without an extension. If no file is found, the "text" is "<not available>" and the menu entry is greyed out.
Clear storage registers ShiftEsc Set all storage registers to zero.
Memory ▸ - Memory submenu. See below.
Stay on top CtrlT HP-15C stays on top of other applications on the desktop even if it hasn't the focus.
Swap comma and period Alt.
This swaps the representation of the decimal point and the digit separator.
Preferences… Ctrl,
This entry opens a dialogue box that allows you to configure the Simulator. See Preferences for details on configurable items.
Help F1 Displays the Simulator online help while in Run mode or the help file for the current program (if available) in PRGM mode.
Show back side - Shows the back side of the HP-15C simulator.
About HP-15C… - Opens a dialogue box showing the Simulators copyright, disclaimer, serial number and other information.
Exit AltF4 Shuts off the Simulator.

Memory submenu

Menu item Shortcut Description
Save memory CtrlM Save the Simulator memory to disk. Path and file name depend on the operating system and can not be changed by the user.
Load memory CtrlL Reload the Simulator memory.
Reset memory CtrlR Reset the memory to the default value.

◀ ON Menu ▲ Top

Stack Menu

This menu shows the status of the stack. That is, the values of the numbers stored in each of the four stack registers and in the last x register.

The stack menu is available only in Run mode, not in PRGM mode.

Selecting one of the menu entries X through T performs a stack roll down. The selected register becomes the X register. Selecting the entry LSTx performs a push on the stack and copies the contents of the LSTx register to the X register.

Numbers in the pop-up menu are formatted in the same way as in the display. Let us assume you have keyed in the following:

1 2 ex g √x̅ (or )


7 7 7 7 7 7 ⅟x

4 2

f 7 2 (or simply FIX 2)

When you right click the display, you will see the pop-up menu as shown in the first image:

stack_fix2.gif 189x114
stack_fix4.gif 189x114
stack_fix4.gif 189x114

The key sequence f 7 4 gives the format shown in the second image and f 8 3 that in the third image.

In Complex mode, the stack pop-up menu displays both the real and the imaginary stack:

Real and Complex Stack
Real and Complex Stack

If a stack register contains a matrix descriptor, e.g. " E     2  2", the menu entry for this register can have two different styles. It can either become a sub-menu button with the cascading sub-menu showing the content of the matrix represented by the descriptor. Or the entry can simply show the matrix descriptor without a cascading sub-menu.

Cascading sub-menu
Matrix functions menu
Descriptor only
Matrix functions menu
By default, cascading sub-menus are switched on. They can be switched of in the Menus section of the preferences.

◀ Stack Menu ▲ Top

Storage Menus

This menu displays the status of the storage registers.

Depending on whether you invoke the menu on the STO key or the RCL key, the menu is either in storage or in recall mode. Selecting a register in recall mode will copy the contents of that register to the X register. In storage mode the contents of the X register is copied to the selected register.

By default, the storage menu is displayed in two-column mode. It can be changed to one-column mode in the Menus dialogue box.

Two-column mode
Two-column storage menu
One-column mode
One-column storage menu

As with the real HP-15C, the user can change the number of available registers with f DIM (i). The pop-up menu will show only the registers currently defined, but a maximum of 20 registers, plus the I register. If, for example, the user has limited the number of registers to 7, the pop-up menu will look like this:

One-column mode
storage_3regs.gif 193x185
Two-column mode
storage_3regs.gif 386x105

◀ Storage Menus ▲ Top

Matrix Menus

The matrix functions, along with the functions for complex numbers, are those that have the greatest impact on the handling of the HP-15C. Matrix functions affect the memory, use key sequences in which the g key precedes a gold letter function, make use of the USER mode when entering the data of a matrix, in PRGM mode store the USER status that was active during the programming.

I therefore strongly recommend to read the HP-15C Owner's Handbook for a complete list of all matrix functions, .

Matrix Content

A matrix content menu shows the elements of a matrix in the selected format.
Two styles are available for the matrix content menus: One with row and column headers like in a spreadsheet and one with the "row,column" information before each matrix element:
Row and column headers
Row and column headers
Row and column per element
Row and column per element

Matrix Functions

The matrix functions menu shows ten of the matrix specific functions and calculations.

Matrix functions menu
Matrix functions menu
Number Function Description
0 0 DIM Dimensions all matrices to 0×0.
1 1→R0, 1→R1 Sets row and column numbers in R0 and R1 to 1.
2 AP → Ã Transform ZP into .
3 à→ AP Transform into ZP.
4 AT Calculate transpose of matrix specified in X-register.
5 ATB Multiplies transpose of matrix specified in Y-register with matrix specified in X-register. Stores in result matrix.
6 B=B-AC Calculates residual in result matrix.
7 MAX Σ|aij| Calculates row norm of matrix specified in X-register.
8 (Σ|aij|²)½ Calculates Frobenius or Euclidean norm of matrix specified in X-register.
9 |A| Calculates determinant of matrix specified in X-register. Places LU in result matrix.

◀ Matrix Menus ▲ Top

Program Menu

This menu shows the current program steps in a multi-column list. It is the equivalent of the real HP-15C function GTO CHS # # # (where # is in [09]) which moves the program pointer to the step with the given number.

In PRGM mode the menu is invoked by:

In Run mode the menu can only be invoked by:

If you select a program step from the menu, the program pointer is positioned on that step. In PRGM mode, the selected program step will also show up in the display.

Three settings affect the layout of the menu (see Menus).

The following figure shows some examples of pop-up menus:

Code and colour
Code and colour
Mnemonics and colour
Mnemonics and colour

By default, the menu displays coloured mnemonics.

◀ PRGM Menu ▲ Top

GSB Menu

This menu shows all defined program labels. If no labels are defined, the menu is not shown.

You can determine whether the labels are sorted or whether they are listed in the order they occur in the program (the default). If the labels are sorted, letter labels are sorted before number labels.

If a label is used more then once, it appears only once in the sorted list. In the unsorted list, all occurences are listed. Please note that in this case, the current program position determines, which occurrence of the label is actually accessed.

If a label description is available in the Program Documentation, this description is shown right to the label. The following examples are from the "Time Value of Money" program:

Unsorted GSB menu
Sorted GSB menu

◀ GSB Menu ▲ Top

Flag Menu

This menu shows the status of the 10 flags.

A value of "1" indicates that a flag is set ("on"), a values of "0" that it is not ("off"). The flags 1 through 7 are user-defined flags. Flag 8 indicates whether or not the Simulator is in Complex mode. Flag 9 indicates the blinking of the display.

When you select a menu entry in PRGM mode, the key sequence "43. 6. N" to inquire the status of Flag "N" is inserted in the program. Selecting a menu entry in Run mode has no effect.

◀ Flag Menu ▲ Top

Test Menu

The test menu provides access to the 10 compare operations not directly accessible from the keypad.

The test menu is available only in PRGM mode, not in Run mode.

The HP-15C has 12 different compare operations. Two of them, x≤y and, x=0, are accessible directly from the keypad. The ten remaining through g TEST n, where n indicates the code of the operation:

Test menu
Test menu

When you select a menu entry in PRGM mode, the key sequence "43.30. N" to perform test "N" is inserted in the program.

◀ Test Menu ▲ Top

Error Menu

If an error occurs, the HP-15C displays the word "ERROR" followed by the error code. The error pop-up menu provides a decoding for the error numbers.

No.Short desc.Description
0y ÷ 0, LN 0, … Invalid mathematical operation

Invalid argument in one of the following routines:

×, where x = 0.
yx, where

  • in Real mode y < 0 and x is not an integer.
  • in Real mode y = 0 and x ≤ 0.
  • in Complex mode y = 0 and Re(x) ≤ 0.
√x̅, in Real mode where x < 0.
⅟x, where x = 0.

LOG, where

  • in Real mode x < 0 or
  • in Complex mode x = 0.
LN, where
  • in Real mode x<0 or
  • in Complex mode x=0.
SIN-1, where in Real mode |x|>1.
COS-1, where in Real mode |x|>1.

STO ÷, where x = 0.
RCL ÷, where the content of the addressed register is 0.

Δ%, where the value in the Y registers is 0.

HYP-1 COS, where in Real mode x<1.
HYP-1 TAN, where in Real mode |x|>1.

Cy,x or Py,x, where

  • x or y are not integers;
  • x<0 or y<0;
  • x>y;
  • x or y≥1010.
1LN A, SIN A, … Invalid Matrix operation

The Simulator does not support matrix functions.

2Σ Error Invalid statistic operation

, n = 0.
s, n ≤ 1.
ŷ,r, n ≤ 1.
L.R., n ≤ 1.

3R?, Aij? Invalid address for register or matrix element

The addressed storage register or the indexed matrix element does not exist.

Invalid line number or label name

Program step addressed by line number is not in use or does not exist (line number > 448). Attempt to enter more than 448 program steps. Addressed label does not exist.

5> 7 RTN To many nested sub-programs

More than 7 nested sub-program levels.

6SF > 9, CF > 9, F? > 9 Invalid flag

Attempt to call a flag greater than 9.

7SOLVE(SOLVE), ∫yx(∫yx) Recursive call to SOLVE or yx

A program called by SOLVE calls SOLVE; a program called by yx calls yx.

8SOLVE ? No root found

SOLVE can not find a root in the given interval.

9ON / × Service

This error can not occur with the Simulator.

10DIM > MEM Insufficient memory

Not enough memory to execute the requested operation.

11DIM A ≠ DIM B Invalid matrix element

Inconsistent or improper matrix arguments for a given matrix operation:

+ or +, where the dimensions are incompatible.
×, where:

  • the dimensions are incompatible; or
  • the result is one of the arguments.
1/x, where the matrix is not square.
scalar/matrix ÷, where the matrix is not square.
÷, where:
  • the matrix in the X-register is not square;
  • the dimensions are incompatible; or
  • the result is the matrix in the X-register.
MATRIX2, where the input is a scalar; or the number of rows is odd.
MATRIX3, where the input is a scalar; or the number of columns is odd.
MATRIX4, where the input is scalar.
MATRIX5, where:
  • the input is a scalar;
  • the dimensions are incompatible; or
  • the result is one of the arguments.
MATRIX6, where:
  • the input is scalar;
  • the dimensions are incompatible (including the result); or
  • the result is one of the arguments.
MATRIX9, where the matrix is not square.
RCLDIMI, where contents of RI are scalar.
DIMI, where contents of RI are scalar.
STORESULT, where the input is scalar.
Py,x, where the number of columns is odd.
Cy,x, where the number of rows is odd.

98File I/O Error Error while opening or saving a program file
99Tcl/Tk Error Tcl/Tk interpreter error

This is, of course, no error code of the real HP-15C. Although the Simulator has been tested a lot, there may be some undetected errors in the code.

When you come across such an error, it may happen that even restarting the Simulator does not solve the problem. In this case, the HP-15C memory file must be deleted manually.

Pr ErrorMemory error Continuous memory was reset

The memory of the Simulator was reset to the default values.

◀ Error Menu ▲ Top

Keyboard ▶