Post Reply 
HP 28S - Custom Menu
03-24-2019, 06:28 AM (This post was last modified: 04-24-2019 02:08 PM by Giuseppe Donnini.)
Post: #4
RE: HP 28S - Custom Menu
Enjoy your HP-28S, it is a very fine and beautiful calculator!

If you use CUSTOM menus a lot, here are a few tips:
  1. Store your custom menu in a variable before executing MENU, i.e. instead of:

    { A B C D E F ... } MENU

    do:

    { A B C D E F ... } DUP 'CST1' STO MENU

    This doesn't take any extra memory (except for the variable name), and the benefits are multiple:
     
    • You can retrieve your menu after a warmstart, which clears CUSTOM menu memory, but not USER memory.
       
    • You can retrieve your menu after running a program which happens to use the MENU command with a list
      argument, overwriting CUSTOM menu memory in the process.
       
    • You can modify the menu at any moment without having to rebuild it from scratch.
       
    • You can use several custom menus and easily change between them. In that case, you may want to store
      them as self-executing programs (at a slightly higher price of memory) so that they can be activated
      with a single key stroke from the USER menu, i.e. instead of:

      { A1 B1 C1 D1 E1 F1 ... } 'CST1' STO
      { A2 B2 C2 D2 E2 F2 ... } 'CST2' STO etc.

      do:

      << { A1 B1 C1 D1 E1 F1 ... } MENU >> 'CST1' STO
      << { A2 B2 C2 D2 E2 F2 ... } MENU >> 'CST2' STO etc.

      This opens up the possibility to have CUSTOM menus call each other, by including
      an appropriate entry in the definition of each menu, e.g.:

      << { CST2 A B C D E ... } MENU >> 'CST1' STO
      << { CST1 X Y Z T W ... } MENU >> 'CST2' STO
      CST1


      will store and activate the first menu (CST1) as the current CUSTOM menu;
      then, pressing CST2 within that same menu will activate the second CUSTOM menu.
      To go back to the first one, just press CST1.

      (Just to be clear: There's no limitation in the number of keys you can assign to a menu,
      but it may be preferable to have different sets of menus, rather than having to cycle
      through many pages of the same menu.)
     
  2. Normal menus could be described as "output" menus: you press a key in order to get an "answer",
    or to "recall" a variable. But sometimes, you want the reverse: pressing a key to "store" something
    in a variable, like in the SOLVR menu.

    Accordingly, the MENU command also allows you to build CUSTOM "input" menus. This is done by including
    the STO command in the list as its very first element (STO will not be visible in the menu, it just tells
    the HP-28S to create an "input" menu). E.g.

    { STO A B C D E F ... } MENU

    will create a SOLVR-like menu with inverse labels (black on white), where you can easily
    input your data in any order you like, simply by putting the values on the stack and pressing
    the corresponding variable keys.

    However, it is not possible to mix "input" and "output" keys in the same CUSTOM menu.
    Also note that, for the same reason, an "input" menu may not contain keys which activate
    another menu.
     
  3. CUSTOM has menu number 19. So, if you want to display the current CUSTOM menu in a program, use:

    << ... 19 MENU ... >>
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP 28S - Custom Menu - BradD - 03-23-2019, 02:56 AM
RE: HP 28S - Custom Menu - BradD - 03-23-2019, 02:05 PM
RE: HP 28S - Custom Menu - Giuseppe Donnini - 03-24-2019 06:28 AM
RE: HP 28S - Custom Menu - franz.b - 03-25-2019, 07:14 AM
RE: HP 28S - Custom Menu - cdmackay - 03-24-2019, 04:49 PM
RE: HP 28S - Custom Menu - BradD - 03-24-2019, 07:00 PM
RE: HP 28S - Custom Menu - franz.b - 03-25-2019, 10:32 AM



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