Breaking AppManager Limit, More

Learn how to break the HP 100LX AppManager 38 program barrier and speed up HP CALC's Solver function. Be aware of a bug in the System Macro function.

By Ed Keefe

Breaking the APPMGR Barrier

One of the new features on the HP 100LX is the Application Manager program (APPMGR). When you press (&...), you're presented with a group of icons that can be used to activate any of the built in applications or any DOS or System Manager compliant (SMC) program that you add to this pictorial menu system.

Application Manager will accommodate up to 38 such applications. However, since 17 of the slots are taken up by the built in applications, you're left with 21 slots to use for your own applications.

Most people will find that 21 applications may be more than they'll ever need. However, if you add a RAM card, the number of applications begin to grow: quickly.

Furthermore, if you happen to have more than one RAM card, each with its own set of applications, you may find yourself bumping up against the 21 application limit sooner than you thought.

Using More Than One APPMGR.DAT File

Even though you can never have more than 21 of your applications available in APPMGR at one time, you can have more than one set of 21 applications.

Whenever you add a DOS application to APPMGR, the information that you enter, including the icon, is saved in the C:\_DAT\APPMGR .DAT file.

If you add a System Manager compliant program to APPMGR, some of the information will go in the APPMGR.DAT file and some of it will go in the C:\_DAT\APNAME .LST file.

Moreover, if the System Manager compliant application resides on a RAM card, the Application Manager will create a separate APNAME.LST file in the root directory of the A: drive and store the information there.

So, to get another set of 21 slots in APPMGR, we have to create, and manage, a duplicate APPMGR.DAT file and one or more new APNAME .LST files. Here's how.

Step 1: Create duplicate APPMGR and APNAME data files.

To create an additional APPMGR data file, use FILER and highlight the C:\_DAT\APPMGR.DAT file name. Press (F2) (Copy) and name the file C:\_DAT\APPMGR.ALT. This will create another 8,774 byte file on your C: drive.

While you're working with FILER, point at C:\_DAT\APNAME.LST and COPY that file to C:\_DAT\ APNAME.ALT. Likewise, if you have a RAM card in the A:\ drive, COPY the A:\APNAME.LST file to A:\ APNAME.ALT.

The reason for duplicating the APNAME.LST files is to let you have more than 8 System Manager compliant (SMC) programs. Apparently, if you add a new APPMGR.DAT file, and don't change APNAME.LST, the SMC programs configured in APNAME.LST will be automatically added to the new APPMGR.DAT file. If you create a new, empty APNAME .LST file this will not happen.

Step 2: Getting APPMGR.DAT and APNAME.LST to swap

To get the APPMGR.DAT and APNAME.LST files to "swap" with their *.ALT counterparts, we'll use a batch file.

Use MEMO, or any editor that will produce an ASCII text file, to key in the following batch file and save it as SWAP.BAT (ON DISK ICON). Don't run this batch file until you finish the setup. [Editor's note: Because of layout constraints, I had to wrap many of the lines in this batch file. Any indented line is really a continuation of the previous line -- not a new line! Do not insert any empty spaces between the indented line and the previous one.]

APPMGR.DAT $$$.$$$
IF EXIST C:\_DAT\$$$.$$$ REN C:\_DAT\
$$$.$$$ APPMGR.ALT
APNAME.LST $$$.$$$
IF EXIST C:\_DAT\$$$.$$$ REN C:\_DAT\
$$$.$$$ APNAME.ALT
APNAME.LST $$$.$$$
IF EXIST A:\$$$.$$$ REN A:\$$$.$$$ APNAME.ALT

The use of "IF EXIST" insures that nothing destructive will happen if there are no .ALT files in existence. Thus, if you want to keep the same APNAME.LST files for both APPMGR screens, just don't create any APNAME.ALT files. If you don't have a RAM card in A:, you may omit the lines that begin with IF EXIST A:\...

Save this file in the root directory of the C: drive, or in a directory that is included in your DOS path statement.

To run this batch file, go to APPMGR and press (MENU) A T (ENTER) to terminate all applications and go to the DOS prompt. Type c:\ swap and press (ENTER). The batch file will run and swap all three files. The final command, 100, will restart System Manager.

Step 3: Load New AppManager Entries

Once the new files have been loaded, press (&...) and delete any APPMGR entries you wish and load in some new ones.

It won't hurt to have duplicates in both APPMGR.DAT files. One such duplicate entry could be a small program that will terminate all applications and run the SWAP batch file DO_SWAP.COM (ON DISK ICON). Another file, DO_SWAP.ICN (ON DISK ICON), is a suitable icon to use with DO_SWAP.COM.

This "swapping strategy" will give you room for an additional 21 applications. If you need more than that, try modifying the batch file to accommodate a third APPMGR.DAT file. This is left as an exercise for the interested reader.

Speeding Up Solver

Another problem that I've encountered with the HP 100LX is the slowness with which the HP CALC program loads equation files.

If you thought the Appointment Book was slow, try loading an .EQN file that contains a dozen or so equations. The wait time is excessive.

Here's my work around for this problem. It involves using a Note Taker file (EQN.NDB) to hold your equations and a macro that will transfer one equation at a time into solver and run it.

This method has the added benefit of letting you use Note Taker to browse through your equations and even categorize them by types. For example, I have equations categorized as "Business Math Equations", "Scientific Equations", "Graphing Formulas", and "Calc+123 Formulas."

The downside is that you'll have to use the COPY and PASTE keys to transfer your individual equations to Note Taker note fields. Depending on the number of equations you have, this could take some time.

I'd suggest that you try the following procedure with a couple of equations. See if it meets your needs. If you find that this method of loading equations into Solver is satisfactory, you can transfer all your equations to an EQN.NDB file later. I'd also suggest that you back up your equation files before beginning.

Step 1: Create a Note Taker file for your equations.

You can create a new EQN.NDB file by pressing (CTRL)-(MEMO) (MENU) File New, keying in EQN and pressing (F10) (OK).

Step 2: Transfer your equations to Note Taker

Load an .EQN file into MEMO and press (<Shift>)-(<DownArrow>) to highlight the desired equation. Then press (Fn) (=) to copy the text to the clipboard. Press (CTRL)-(MEMO) to open Note Taker and press (ENTER) twice to go to the Note field. Then press (Fn)-(+) to paste the equation in the notes field.

VERY IMPORTANT! Delete any French brackets "{ }" at the start and end of the equation. This is particularly important if you have not given your equation a name in Solver!

Press (ALT)-Title if you want to add a title to the note, and (ALT) Category to add a category description. Repeat this operation for a couple of equations. Then exit the EQN.NDB file by pressing (F10) (ALT) Quit.

Step 3: Transferring equations to Solver

Next we need to get Solver ready to accept a single equation. This is where things get tricky. We have to account for all possible contingencies. For example, Solver might or might not be active when we start our procedure. It might contain a default equation file. It could even have an equation active in its editing screen. The possibilities are almost endless.

Here's how to account for all these contingencies.

  1. A. Press (HPCALC) (MENU) Options Startup application. Pick any of the startup applications, other than "Last Screen" or "Solver". Press (ENTER) to complete this step.
  2. B. Access Solver by pressing (CTRL)-Solver. Then press (MENU) File New. Key in the name scratch.eqn and press (F10). Now press (ESC) and (ALT)-Quit to exit Solver and HP CALC.
  3. C. Press (FILER) (MENU) Options DOS to get to the DOS prompt. There type the command rem>c:\_dat\scratch.eqn and press (ENTER). This will create a zero-byte file in the C:\_DAT directory.
  4. D. As a check that all is working well, type exit and press (ENTER) to get back to FILER. Then press (F5) (Goto), key in c:\_dat and press (ENTER) to see if there is a SCRATCH.EQN file with 0 bytes.
As a further check, press (HPCALC) (CTRL)-Solver. You should see the Solve Catalog screen, with the SCRATCH.EQN file loaded. Of course, there won't be any equations on the screen. Quit the Calc program by pressing (ESC) and (ALT)-Quit.
  1. E. The next task is to create a System Macro that will let us copy an equation from EQN.NDB to Solver and run it. Without using this system macro, this workaround would be a real time and keystroke waster.
Start by pressing (CTRL)-(MEMO) to make sure that the Note Taker EQN.NDB file is active. (It will be the default file unless you've accessed a different .NDB file in the meantime.) Highlight one of the equations.

Record the following macro. Note that this macro must be recorded. It won't work if you key it into a macro "Contents" field. I'll explain why later. I'll assume that you're going to record this as Macro #10. However, you may pick any empty macro key.

Follow these steps (a hyphen between two keys indicate that they must be pressed at the same time):

  1. 1. Press (<Shift>)-(Fn) (F10) to record the macro.
  2. 2. Press (ENTER) (<Tab>) to go to the description field of the note.
  3. 3. Press (<Shift>), hold down (CTRL)-(Fn) and then press (<Right Arrow>) to highlight all of the text in the notes field.
  4. 4. Press (Fn) (=) to copy the highlighted line into the clipboard.
  5. 5. Press (ESC) (HPCALC) (CTRL)-S to go to Solver.
  6. 6. Press (ESC) (CTRL)-S (MENU) File New scratch.eqn (ENTER). If you see the dialog box that asks if you want to replace the existing file, press (ENTER). This starts HP Calc, accesses Solver, shuts it down and reopens it so you can successfully open a new file and replace any active file.
  7. 7. Press (F6) (Fn)-(+) (F10) to Paste the equation in and close the editing screen.
  8. 8. With the equation highlighted in the Solver Catalog, press (ENTER) to run it.
  9. 9. FINALLY, press (<Shift>)-(Fn) (F10) to stop recording the macro.
DO NOT edit this macro -- it's very fragile! If you try to access it and make changes, you'll destroy it.
  1. F. To test the macro, return to Note Taker and highlight another equation. Press (Fn) (F10) and watch the screen dance. You should wind up with the new equation ready to run. If not, you may have missed a keystroke while recording the macro. Try rerecording the macro again.
The biggest time saver in this system is the fact that once you load a single equation into Solver, it stays there until you change it by loading another equation. That speeds up the process since Solver doesn't have to read in a whole bunch of equations and check each one of them for errors. This process was much faster on the 95LX because the error checking was done when you tried to run the equation, rather than when the equations were loaded.

I'll leave it up to you to decide if this procedure adds anything worthwhile to the Solver program. Perhaps it will inspire the programmers at HP to make CALC part of the HP "101LX" database program. That way we could use a database file for saving equations, and, perhaps, we could have some mathematical functions available in our database programs.

System Macro Bug in the HP 100LX

Most System Macros on the 100LX work reliably. The macro described above is the first one that I've run across that is "fragile."

As far as I can tell, the problem arose while recording the System Macro, when I pressed the (<Shift>)-(CTRL) (<RightArrow>) keystrokes to highlight an entire note field in Note Taker. I can record the keystrokes in a System Macro and play them back. However, it appears that this series of keystrokes puts some unusual "phantom" keystrokes in the System Macro file. If I press (&...) M, edit and save the macro, it no longer works properly. If anybody knows what's going on, let us know!

Until then, Happy Programming!