Configuring Your HP Palmtop: CONFIG.SYS and AUTOEXEC.BAT

This intermediate level article discusses the use of CONFIG.SYS and AUTOEXEC.BAT files in the HP Palmtops.

By Mark Scardina

[Editor's Note: Many HP Palmtop users don't need CONFIG.SYS or AUTOEXEC.BAT files on their computers. Both machines are set up to run without them, and the old adage, "If it ain't broke, don't fix it!" applies here. However, if you attach peripherals to the Palmtops or run other software programs on them, it might be necessary to add these two files to C:\ (root drive of the C directory).

Many software and hardware products come with installation disks that automatically modify, or create CONFIG.SYS and AUTOEXEC.BAT files for you. If they don't, the documentation for these products should tell you the commands you need to add to these files.

The following article is more of a reference than a "How to" article. It will probably be most useful to intermediate and advanced users with some experience with CONFIG.SYS and AUTOEXEC .BAT files. You can consult a good MS-DOS manual or reference book for more information on creating and using these two files. In addition, both HP Palmtop User's Guides briefly discuss these files. See pages B-18 and B-22 of the HP 95LX User's Guide, and page 7-20 of the HP 100LX User's Guide.]

CONFIG.SYS and AUTOEXEC.BAT files can be used on PC compatible computers like the HP Palmtops to configure and set up the computer.

However, there are some pitfalls in this process unique to Palmtops.

Before you attempt to create and use a CONFIG.SYS file, back up your data! An error in this file can force 95LX users to reinitialize their C: drive, causing loss of data in it. You can keep a copy of a valid CONFIG.SYS and AUTOEXEC.BAT file on a RAM card. If you have problems booting up your 95LX from the C: drive, you can insert that card an reboot.

HP 100LX users do not have this problem as they can reboot and press the ALT key, selecting the D: drive as their boot drive. This bypasses a bad CONFIG.SYS file.

Whenever you reboot your Palmtop by pressing (CTRL)-(ALT)-(DEL), you activate an automatic start-up process that can be controlled by two files: CONFIG.SYS and AUTOEXEC.BAT. These files are first searched for on the A: drive. If not found there, the Palmtop looks for them on the C: drive. In order for both files to be processed, they must both reside on the same drive.

CREATE THE FILES IN MEMO

Both files are created as simple ASCII text files. Open MEMO, type in the desired lines, and save the files with the appropriate name (C:\CONFIG .SYS or C:\AUTOEXEC.BAT). Do not insert any formatting (bold, italics, etc.) if you are using MEMO on the HP 100LX. If you create the files in another word processor, make sure you save them as ASCII files.

We'll look at the commands that can be used in each file, and give some simple examples towards the end of each section.

CONFIG.SYS File

The CONFIG.SYS file includes commands that control how your PC hardware will work in conjunction with software and peripherals. Mistakes in editing this file can cause your PC to lockup.

There are a range of commands that have a profound effect on your Palmtop's performance. Let's look at the CONFIG.SYS file by examining the commands that you could use.

DEVICE= Command

Device commands load device drivers, small software programs used to control devices such as printers, monitors, a mouse, external drives, etc.

ON THE PALMTOPS: Device drivers are needed on the 95LX to let it interface with the Sundisk mass storage card. Both Palmtops need device drivers to use Sparcom's Drive95 external floppy drive, or DoubleCard/Stacker compression software.

The FILES= Command

The FILES=n command where "n" is a number up to 255, governs the number of files that can be open at one time on your PC.

ON THE PALMTOPS: On the 95LX, the minimum value that you should use is 20. If you are using multi-tasking software such as SWITCH!, it should be increased to 30. On the 100LX, the value should be 30 as System Manager keeps more files open for the built-in applications than it does on the 95LX.

Every program uses at least 3 files, because items such as your keyboard are treated as files. Each file you specify in the FILES command costs 40 bytes of memory, whether the file is open or not! Therefore you should not specify many more than you need. The error that you will usually get when the number is set too low is that the program is unable to open a file or a file handle is not available.

The FCBS= Command

The File Control Blocks command is a holdover from CP/M (an early computer operating system). Currently this command is only used in conjunction with SHARE.EXE.

ON THE PALMTOPS: The FCBS command is not used on the Palmtops.

The BUFFERS= Command

The BUFFERS=n command sets up areas in memory to temporarily store data that is read from and written to your drives.

ON THE PALMTOPS: Setting BUFFERS = 5 is sufficient on either Palmtop.

Creating buffers in System RAM has the effect of speeding up access time. These areas act as a very basic disk cache.

You can specify any number of buffers up to 99, but each one sets aside 530 bytes of memory for buffer use. Since the HP Palmtops use a RAM disk and RAM cards for file storage instead of hard disks, file access is much quicker to begin with. This means that the optimal BUFFER setting for your Palmtop will be different than the setting on your desktop PC.

I ran several tests on the 95LX and 100LX using both SRAM and FlashRAM cards with and without Stacker. The results were virtually identical in all cases. Performance significantly increased up to the setting BUFFERS=5, after which it leveled off and even decreased a bit. The 100LX's D:\CONFIG.SYS file has a BUFFERS=20 setting. I recommend changing this to 5 when using this file on the A: or C: drive. You will save 7.5K of memory without a loss of performance.

The STACKS= Command

The Stacks command sets the amount of RAM that DOS reserves for processing hardware interrupts.

ON THE PALMTOPS: The Palmtops' default setting of STACKS=9,128 should be considered minimum. Never specify STACKS=0,0, even if a DOS manual tells you it's OK.

A PC is considered by many to be an "interrupt driven computer". Instead of being able to do many things at once, it performs small tasks one at a time, very quickly. It must keep interrupting the program it is running to process keystrokes, access the disk, keep track of time, etc. It is only its sheer speed that gives it the appearance of doing simultaneous tasks.

Whenever one of these "interrupts" occurs, the processing of one program or task must stop until the interrupt process is completed. A problem can occur if a second interrupt wants the computer's attention while it is still processing the first interrupt. The STACKS=m,n command sets up "m" memory areas of size "n" to store these interrupt requests.

Many desktop PCs have the command STACKS=0,0 in their CONFIG .SYS files to save memory because they have enough processor power to handle any interrupts thrown at them. You should never specify STACKS=0,0 on your HP Palmtop!

The way in which the Palmtop keyboard and power management is implemented requires that the default setting of 9,128 be considered the minimum setting. If you are getting "Stack Overflow" errors you should put the command STACKS=9,256 in your CONFIG.SYS file. Otherwise, simply leave the command out. Finally, if you are using a PCMCIA modem, you should also use the 9,256 setting.

The BREAK= Command

The BREAK=ON command causes DOS to check the keyboard much more frequently for Ctrl-C and CtrlBreak. This makes it easier to break out of a locked up program.

ON THE PALMTOPS: You could use this command on either Palmtop to make it easier to get out of an unfamiliar program you're testing. However, BREAK=ON will slow down performance.

On a desktop PC, the BREAK=ON command causes an imperceptible loss of performance. On the HP Palmtops it is an entirely different matter due to the power management techniques employed. The 95LX and 100LX use a technique called "Light Sleep" that turns off the CPU for up to 55msec every time a call to check for a keypress is made. If an application is truly waiting for a key this action does not affect performance, however when you specify BREAK= ON, you cause the machine to shutdown the processor far more often during activities that noticeably affect performance.

Since you can issue this command, or its complement BREAK= OFF, anytime from the DOS prompt, I recommend that you use it only when you need it and turn it off when you are done. Also by using the AC adapter which disables Light Sleep, you can eliminate most of the performance impact.

The VERIFY= Command

VERIFY=ON causes DOS to verify data written to a disk on every write.

ON THE PALMTOPS: It's unnecessary to use on either Palmtop. In addition, a bug in earlier 95LX's can lock up your machine and corrupt your C drive if this command is used.

The VERIFY command is of no use on the Palmtops since all disk access is to electronic chips that are as reliable as the memory that is being checked against. Nothing is gained except slower performance by including it.

The LASTDRIVE= Command

Specifies the maximum number of drives you can access.

ON THE PALMTOPS: Default value on the Palmtops is E (i.e. A-E, five drives). If you add additional drives to the Palmtops, set the LASTDRIVE to a higher letter (i.e. H, I , J, etc.).

Regardless of the number of physical drives on your PC, DOS keeps a set of "logical drives" as letters in its data area. Each drive is given 80 bytes of memory to maintain information about that drive. On your Palmtop this value is defaulted to LASTDRIVE=E. You will normally not need to concern yourself with this command unless you are going to hook up your Palmtop to a "server" using such software as Interlink or the Redirector included in the 100LX Connectivity Pack. In that case you should select a letter at least one higher than the total number of drives that you are mapping. Also if you are using Stacker software, it will use up drive letters as well. You can check the letters by rebooting and noting which drive letters Stacker reserves when it loads.

For example, let's say that you are using a Stac'd card on a 100LX and want to use the Redirector to map your 3 desktop drives to your 100LX. Stacker will report that it is using A: and E:, therefore you should put LASTDRIVE=I in your CONFIG.SYS to reserve the letters F, G, and H for the Redirector.

The COUNTRY= Command

Configures DOS to recognize the character set and punctuation conventions of other languages.

ON THE PALMTOPS: On the 95LX, it is used to select the different foreign language conventions for time, date, currency symbol and decimal separator. On the 100LX the KEYBEZ program governs the COUNTRY selection. System Manager has its own setting for this function in its SETUP application.

The SHELL= Command

Specifies the name and location of the command interpreter you want MS-DOS to use.

ON THE PALMTOPS: This command can be used on either Palmtop to cause them to bypass System Manager and boot up to DOS.

I have saved this for last because it is the most dangerous. A mistake in this command can produce an error that will lock up your machine before a point at which you can intervene. The SHELL command tells DOS what command interpreter to use. In the case of the HP 95LX/ 100LX, this is COMMAND.COM.

The format of this command is very important and the setting is different on the 95LX and 100LX. Below are the acceptable forms:

HP 95LX

SHELL=C:\COMMAND.COM /P

SHELL=COMMAND /P

HP 100LX

SHELL=D:\DOS\COMMAND.COM /P

SHELL=COMMAND /P

There are two important items to notice.

  1. 1. There is a blank space before each /P.
  2. 2. The complete path is used whenever COMMAND.COM is used.

  3.  

     

If you have both a 95LX and 100LX and use the same card to reboot both machines, the choice for a SHELL statement appears to be SHELL=COMMAND /P. This will work most of the time. Some DOS programs that allow you to go to the DOS prompt from within the program will not be able to do it without using the alternative full path SHELL statement. You can solve this by copying D:\DOS\COMMAND.COM to C:\ on the 100LX and using SHELL=C:\COMMAND.COM /P.

There are two more options that can be used on the SHELL command line. "/E:nnnn" sets the size of the DOS environment (nnnn is the size in bytes). The DOS environment is used to store the PROMPT, PATH, COMSPEC, and program variables. Remember, to use an empty space before the /E.

This /E option has limited use on the 95LX unless you are using that space within the immediate shell in which it is specified. This is because the ROM DOS that is within the 95LX defaults to 160 or the amount used if greater whenever DOS is spawned, unless the /E: parameter is used. On the 100LX the default size is increased to 256 bytes.

A final parameter can be added to the SHELL command line to tell COMMAND.COM where it can find itself and to set the COMSPEC variable that is used by many programs to create a DOS shell. On the 95LX, you would add C:\. On the 100LX you would add D:\DOS. It is not strictly necessary on the 95LX or 100LX, but it doesn't hurt either and can prevent some problems that programs have shelling to DOS.

If you continue to have problems with programs shelling to DOS on the 100LX, you can add D:\DOS to the end of the SHELL command line. If you continue to have shelling problems on the 95LX, you must use the following command in your AUTOEXEC.BAT file:

SET COMSPEC=C:\COMMAND.COM

CONFIG.SYS Examples

Below are examples of basic CONFIG.SYS files that are good starting points on either your 95LX or 100LX. Rebooting your Palmtop with these CONFIG.SYS files in the C:\ directory will cause the Palmtop to bypass the System Manager and go directly to the DOS prompt. [Don't forget the empty space before the /P.]

HP 95LX CONFIG.SYS

FILES=20

BUFFERS=5

SHELL=C:\COMMAND.COM /P C:\

HP 100LX CONFIG.SYS

FILES=30

BUFFERS=5

SHELL=D:\DOS\COMMAND.COM /P D:\DOS

AUTOEXEC.BAT File

The existence of the SHELL statement in your CONFIG.SYS file causes your AUTOEXEC.BAT file to be run automatically at the end of the CONFIG .SYS process. The AUTOEXEC file is designed to allow you to automatically set up your software environment and load Terminate and Stay Resident (TSR) software programs. This file can also launch System Manager for you.

The AUTOEXEC.BAT and CONFIG.SYS files are ASCII text files that can be created or edited in MEMO or any text editor. While there is a wide variety of commands that can be used in this file, we will be focusing on those that will be most likely to appear in HP Palmtop versions of AUTOEXEC.BAT. In order to efficiently do this, let's take a look at a sample AUTOEXEC.BAT that can be used on either a 95LX or 100LX.

echo off

prompt $D $T$H$H$H$H$H$H$_$_[dos]$p$g

path=C:\;C:\_DAT;

echo.

echo Press [Ctrl]+[C] to go to DOS

echo Press any key to launch SysMgr

pause > nul

:LOOP

prompt $D $T$H$H$H$H$H$H$_$_[sys]$p$g

$sysmgr

prompt $D $T$H$H$H$H$H$H$_$_[dos]$p$g

command

goto LOOP

The above sample uses a number of batch file commands. Before we examine what actually will take place when this file is run, let's take a look at the commands that are used.

The ECHO command

The ECHO command in any batch file lets you display messages on your Palmtop's screen.

By using the syntax ECHO <text>, you can have your AUTOEXEC file display messages on the screen. You need one ECHO for every line. ECHO. (period after echo) will cause a blank line to be displaced.

Normally, all command lines are written or "echoed" to the screen when they are executed. This can cause a jumble of confusing commands to scroll down the screen on startup. Place the ECHO OFF command at the beginning of your AUTOEXEC.BAT file and command lines will not be displayed. All ECHO statements will still be displayed.

The PROMPT command

The PROMPT command determines how the DOS prompt is displayed.

While the syntax of the command is simply PROMPT <text>, there are several special characters that provide extra special commands.

$b -- | (display pipe character)

$d -- Current date

$e -- Escape code

$g -- > (display greater than sign)

$h -- Bksp (deletes prev. character)

$l -- < (display less than sign)

$n -- Current drive

$p -- Current drive and path

$q -- = (display equals sign)

$t -- Current time

$_ -- Carriage return plus linefeed

$$ -- $ (display dollar sign)

The most common command is PROMPT $P$G which displays the current drive and path followed by the greater than sign. A more sophisticated example would be:

PROMPT $D $T$H$H$H$H$H$H$_$_$p$g This displays the date and time on one line and the path below. It would look something like this:

Fri 10-22-1993 14:29

C:\_DAT>.

The PATH= command

This command tells DOS where to look for executable programs you want to launch.

If you always run your DOS programs from FILER you need never worry about a PATH statement. If you launch programs from the DOS prompt on either Palmtop, the PATH statement can save keystrokes.

By including in your PATH statement the drives and directories that contain your program files, you cause DOS to search for them instead of having to enter the complete path every time you run the program.

In the example above, you should add any directories that contain programs that you use from DOS, separating each with a semicolon. PATH statements can be a total of 128 characters in length. There must be no embedded spaces or the entire statement will be invalidated. This is important if you are a 100LX owner as MEMO will insert a space anytime it wraps a line. You should set the margins to 1 and 128 to avoid this. Finally, if you run your Palmtop with and without a card, you can get a "drive not ready" error if you include an A: directory and the card is not present. Because of an obscure bug on the 95LX, it's recommended to capitalize all drive letters in the PATH statement.

The PAUSE command

The PAUSE command can be used on either Palmtop to temporarily stop the processing of the AUTOEXEC. BAT file.

If it is used by itself on a line, you will see the message "Press any key to continue...". Press any key and the AUTOEXEC.BAT file continues processing. Press (CTRL)-(C) to terminate the AUTOEXEC.BAT file and go directly to the DOS prompt. I recommend that all 95LX owners put the PAUSE statement into their AUTOEXEC.BAT in case they have a problem launching System Manager. That way they can press (CTRL)-(ALT)-(DEL) to reboot and exit AUTOEXEC before they get to the SYSMGR command.

HP 100LX owners can use the ALT Boot menu to boot from D: drive if they have a problem.

Since I use two ECHO statements to describe the action of PAUSE in our sample AUTOEXEC.BAT file, I have added "> NUL" to the statement. This prevents the normal PAUSE message from being displayed.

LABELS and GOTO Commands

LABELS and GOTO commands are used to loop back to previous parts of the batch files.

The :LOOP statement on line 8 of the AUTOEXEC.BAT file is a "label" and is not processed as a command by DOS. The colon at the beginning of the line tells DOS to treat the next 8 characters as a label. Labels are used with the GOTO command (line 13) to control the flow of a batch file. In our sample AUTOEXEC file, the final GOTO LOOP statement sends the processor back to the :LOOP position to continue processing. This feature can be used in AUTOEXEC.BAT, or any batch file, to do some pretty useful things.

AUTOEXEC.BAT In Action

Let's take a detailed look how this works in our example. If we press (CTRL)-(ALT)-(DEL) to reboot, the AUTOEXEC.BAT file is automatically run. The ECHO is turned off, the PROMPT and PATH are set, the messages "Press [Ctrl]+[C] to go to DOS" and "Press any other key to launch SysMgr" are displayed, and the AUTOEXEC file PAUSES.

We can press (CTRL)-(C) to go to DOS. If we do, because of the first PROMPT command, the DOS prompt will contain [dos] to indicate that System Manager is not loaded.

If instead we press any other key, the AUTOEXEC file would continue running. It would ignore the label :LOOP, execute the next PROMPT command, and start System Manager. We would end up at the topcard.

If we now go to FILER and then to DOS, the prompt will display a [sys], indicating that System Manager is running in the background.

New Twist on the HP 100LX

The next three lines apply to the 100LX. HP 95LX users can leave them in AUTOEXEC.BAT, they will not affect it's operation on the 95LX.

The 100LX can terminate System Manager by pressing (&...) (MENU) Applications Terminate. If we do this, AUTOEXEC.BAT continues with the third-to-the-last command, and PROMPT is set again to [dos].

The second-to-the-last line does something a little unusual. We're already in DOS at this point. The line COMMAND launches another copy of the DOS COMMAND.COM program (DOS within DOS, so to speak). This lets us "go to DOS" and execute DOS commands without running the final command line in the AUTOEXEC .BAT file. '

If we want to go back to System Manager, all we have to do is type exit from the DOS prompt. This terminates the other copy of DOS, and runs the goto LOOP command. AUTOEXEC goes back to :LOOP, runs the second PROMPT command, and launches System Manager.

Although the AUTOEXEC.BAT file seems complicated, this series of commands allows us to easily unload System Manager, go to DOS and return.

This technique can be very useful if you need to run a DOS program without System Manager loaded to provide more memory. By substituting the DOS Program for COMMAND you can easily go back and forth by exiting either.

There are numerous other batch commands that can be used in AUTOEXEC.BAT files. A good MS-DOS book will provide you with descriptions of these commands and examples on how to use them.

I apologize for not elaborating on TSRs, but they are an article all in themselves. The CONFIG.SYS and AUTOEXEC.BAT files are powerful tools that allow you to optimize your HP Palmtop. If you made it through this article, you have a good start.