A small but powerful LIB-key manager for the HP49/HP49+

With the Filer, libs can be purged and moved but the LIB menu on the LIB key cannot be rearranged in any way. This key becomes intolerably slow with about 20 libs on the HP49. Libman solves these and other problems. One may easily create small LIB menus for one or more directories. Libraries whose commands are not used directly (like extable) or which are set by extra keys need not show up in the LIB menu, hence will not slow down the LIB key anymore. They remain active. One can also rearrange the libraries into categories, e.g., games on page 1, etc. A "spacer" inserts gaps in the LIB menu, e.g., to fill the game page if there are only 5 games, say. Store the library in a port and attach it as usual with a warmstart.

Libman screen and menuIf Libman is set from the LIB menu, the screen looks as indicated by the screen-shot, displaying also title and version. The one-page command menu of Libman  is shown as well, with precise descriptions below. Data on the LIB menu are stored in LPAR, a list which may be different in different directories, similar to PPAR. In other words, LIB-key customization may be context-sensitive. This is very useful for people using many different libraries from different areas. Do not modify LPAR manually, various commands will do it for you. Purging LPAR or storing the empty list in it amounts to the same. Important: There are 2 versions, Libman (last version 7.2003) is valid for ROM 19-6 on the HP49, and LibmanPlus (alias Libman+) is valid for ROM 1.22 on the HP49+. The essential difference is that Libman+ has four options at the end of  the LIB menu, :0:  :1:  :2:  :3:  if the menu has been customized. In stack (default) mode, these set corresponding port browsers, see below. In edit mode, these options set port menus as usual. Since there is no menu of the card files, :3: sets the MTH menu in edit mode.

What is New

VERSION 1.2004 (Libman+): Each of the options  :0:  :1:  :2:  :3: of the LIB menu sets port browser in default mode.

VERSION 9.2003 (Libman+): Appending to the LIB menu a  port entry :3: for SD-card management.

VERSION 8.2003 :(Libman+) Updating to ROM 1.22 because of  a different management of the LIB menu by the OS.

VERSION 2.2003: LBOX is faster, with a simplified application menu. Menu of the main browser LBOX reorganized. This html version is a revised version of the plain ASCII file Libman.text.

VERSION 7.2002: Completely new browser for rearranging the LIB menu, no stack manipulation anymore. 4 browsers make everthing as pleasant as possible. LDAT removed.

VERSION 6.2002: New command LDAT toggles library data. Enriched apps-menu of LBox. CsLIB and Rearrange (formely Reord) are also in the apps menu of LBox which has become a full-screen browser. Its commands AddL, RemL, CsLIB can now get multiple items to be marked with a special check-option in the apps menu.

Fast instruction for a first use. Press command CsLIB or LBox. This opens the main browser of all attached libs (see also the screenshots below). Select with F1 your favourite ones for the LIB menu and press press Cust.You are now in the so-called Rearrange-box of the selected libs with its own menu. The menu options DROP and GAP allow to drop some items, to add gaps (empty places in the LIB menu), and ORDER permits to reorder the items such that the checked ones are on top. The first two menu options do the Cheching and Unchecking. With GAP one easily gets a multiple of 6 many items which puts the 3 port entries on a separate page. OK confirms the customization, i.e., you'll see the titles on the LIB key in the order shown in the Rearrange box.. After returning to the main browser leave it with CANCEL and the LIB menu looks as wanted. Clearly, customization is valid only in USR mode. Outside USR mode, the LIB menu looks unorganized as before and there aren't any port browsers at the end of the LIB menu in Libman+.

Both CsLIB (Customize LIB) and LBox (Library Box) are browsers containing all attached libs on your calculator. The only difference is that the menu options Cust (Customize) and AddLs (Add Libs) of CsLIB refer to the current directory only. Thus, in  HOME these commands act identically. The 2-page application menu of these browsers looks as follows:

vCHK   UnCHK Cust  AddLs CmdBx OK

Both browsers show the lib titles and numbers for instance as in the screen. Normally, the libs are listed in ascending order of the lib numbers.The main browser But option ORDα on menu page 2 swaps this with alphabetic order of the library titles as in the screen, internally controlled by user flag 27. Alphabetic ordering may slow down the browser on the 49. In the menu only CFG and EXTP are "hacker" options. They recall $CONFIG and $EXTPRG if present in the library source. You see them on the stack with HALT which suspends the main browser temporarily so that one can do some other things and then return to the library browser with CONT. In all browsers, vCHK checks the items with little numbers in growing order, UnCHK removes all check marks. Items can also be checked with the +/- key which sets standard check marks, no numbers. Clearly, this is useful only if order doesn't count.

Attention. When having checked some items do not press shifted UParrow or DOWNarrow for fast scrolling because this erases the check marks although the checked items remain checked internally (a bug in the old HP48 browser engine).

The Rearrange browserCust puts the checked libs into the Rearrange box which contains the libs you see with the LIB key, for instance as shown in the screenshot. A little number in at the end of the browser title shows how long the LIB menu will be. In the example screen this is a 6 which means that the LIB menu will have two pages, the second one containing only the port entries. If nothing is checked, Cust takes only the scanned one for customization. You may later add some libs to the LIB menu with AddLs. One may add gaps or drop some items or reorder as stated already above. The example screenshot will generate a gap on page 1 at position 5. Some items had just been checked. If pressing ORDER and then OK on this screen you get Choosext at the 1st, Fontman at the 2nd postion in the resulting LIB menu. Once the LIB menu has been customized, the Rearrange box may also directly be set with the Rearr command, see below.

Important: Only the OK-option in the Rearrange box confirms the LIB menu customization. Returning to the main browser with CANCEL does not set anything! Remember, if the Rearrange browser is called from inside CsLIB, then OK creates or overwrites LPAR in the current directory. If the Rearrange box is called directly or from inside LBox, the LPAR first found on the path is overwritten or created in HOME if not found.

The lib command browserLeaving the main browser with OK or ENTER sets the command menu of the selected library. If you don't want the selected library menu, leave LBOX with CANCEL. Instead of setting a library's menu you may also browse through its commands with CmdBx as in the screen. This is the last not yet commented menu option of the main browser. It shows all visible commands of the selected lib. In addition, it also shows HELP on F1 whenever HELP exists for the scanned command (like for the command in OT49 as shown in the last screen). Just press HELP to see the HELP text. Presently, only few libraries provide HELP although this can easily be made with DL from OT49. In the CmdBx-browser, Stk on F6 recalls a selected command while EVAL and EXIT do what they suggest.

Description of Libman's six library commands (refers to RPN mode only)

CsLIB A browser similar to LBox. The only difference is that its menu options Cust or AddLs customize the LIB menu in the current directory after pressing OK in the Rearrange-box. That is, LPAR is created or overwritten only in the current directory, while starting with LBox, OK will act on the LPAR first found on the path, normally the one from HOME.
Rearr The Rearrange box. A browser that rearranges the LIB menu as described above, provided LPAR is on the path (i.e., the LIB menu has already been customized with CsLIB).
Updat Updates LPAR which after purging or updating a library may contain obsolate data. Does nothing if LPAR is empty or not existent. LPAR may be empty. In this case, the LIB menu consist of port entries only.
UnCs uncustomizes the LIB menu by deleting the small key assignment made in the Rearrange box with OK. Should be used only when purging Libman or updating it to a newer version.
LofRP (List of Rom-Pointers). This powerful command yields the list of all named and unnamed rompointers of any external or internal library. Its argument is the lib number, a real or zint. E.g., 222 LofRP yields the huge list of rompointers of the CAS library. You can use this and other lists for making own application menus. The ouput list is empty if and only if no external or internal library with the input romid exists. If a rompointer's content is needed, recall it with DType from OT49, for instance.
LBox Main browser, decribed above. We propose to assign it to rightshift-hold LIB (93.31). This is a useful alternative to the standard LIB key. LBox works completely independent on any user customization of the LIB menu.

The browsers  :0:  :1:  :2:  :3:  at the end of the LIB menu

Suppose you customized the LIB menu and are in USR mode. Then you see  :0:  :1:  :2:  :3:  at the end of the LIB menu which in default mode are port browsers similiar to browsing a port with the filer but with a smaller menu. In particular, :3: is a card browser provided there is a card in the slot. Otherwise it simply browses HOME. The menu options


are self-explaining and the most important operations with files on a port, card included. In addtion, some hard keys are active as long as this menu lives. As usual, the Arrow keys ,  and their shiftings do the browsing, may be used for setting the TREE and for entering another port or directory. Other hard keys functions are almost the same as in the built-in filer. They are mainly for temporary file sorting except for Unsort on key U which has no key in the built-in filer. Double-click on ALPHA is useful for name search. There is no ORDER option in the menu because files on the SD-card or in ports aren't reorderable. There is also no TREE entry from the menu and no transfer option because these browsers need not have the full functionality of a filer. The browser is left with CANCEL and resets the last page of the LIB menu. Here a listing of some active hard keys in the port browsers. A key is denoted by the letter on it except for +/-.

 N  Name sorting (LS N = inverse name sorting).
 S  Size sorting (LS S = inverse size sorting).
 T  Type sorting (LS T = inverse type sorting).
 U  Unsorting (original order of files on the SD-card).
 +/-  Selecting files, e.g.,  for COPY. Also done with ENTER 

Wolfgang Rautenberg - -

Credits: The browsers in Libman are partly based on the descriptions in Programming in SysRPL by Carsten Dominik and Eduardo Kalinowski. Peter Geelhoed wrote the codes extracting $CONFIG and $EXTPRG. Note that Libman has no library splitter/creator because the much older OT49 always contained it, named DL .