There are many ways that DOS can be accessed on the HP palmtop, and three of these ways are relevant to TSRs.
Method 1) DOS pre-System Manager (either remove the 100 from your AUTOEXEC.BAT, or use the AppMgr Terminate All selection while in the System Manager). This method is the best place to load TSR's on the 100LX. This method allows TSRs to allocate memory that won't subsequently be fragmented by the SysMgr, and all interrupts can be chained before the SysMgr starts grabbing them. The only bad part about this is if a TSR needs to intercept an interrupt that the System Manager takes over--this special case will be addressed shortly.
Method 2) DOS from within the System Manager, but in a "locked" DOS box. There are two ways to get this locked DOS box; from the AppMgr (put an upside-down !, or Fn+!, as the first character in the comment field). This is a "sort of" undocumented feature--it is in the help system and manual for the 200LX, and in widespread knowledge on CompuServe/Internet, although it certainly isn't "user intuitive"! The second way of getting a locked DOS box is a launch of DOS through 123's System command. DOS in the locked box state cannot be task-switched away from. The only way to return to the System Manager is to exit the DOS box. The locked box also prevents the System Manager from fiddling with the interrupt vectors every second or so. Most TSRs should run fine in this environment, but they will need to be unloaded before you exit the DOS box.
Method 3) "Standard" DOS, i.e. Ctrl+123, DOS from the AppMgr, or DOS from the Filer. I can't recommend strongly enough that TSR's not be installed in this type of DOS box. Not only will the memory block allocated by the TSR clog up the System Manager's memory management, but any "stolen" interrupts are very fragile, and are likely to be trampled by the System Manager under a number of circumstances.
TSRs usually make use of interrupt vectors. Since the System Manager takes over some interrupt vectors without "chaining" onto the previous owner, a TSR that is loaded first may not be able to use an interrupt that has been taken over by the System Manager. It is therefore necessary to be aware of interrupts that are used by the System Manager as listed below:
See "Int 05h - Print Screen Interrupt" for more information.
HP palmtop specific BIOS service used to signal entering and leaving sleep modes.
See "Int 06h: BIOS Hook" for more information.
COM1 Serial Port interrupts.
CTRL-Break interrupt.
The System Manager saves the original value and restores it before accessing DOS from the Filer. See "Int 1Bh - Keyboard Break Interrupt" for more detail.
User alarm called by BIOS when the real-time clock alarm goes off.
See "Int 4Ah: User Alarm Interrupt" for more information.
95LX System Manager support (analogous to Int 7Fh, 7Eh for the 100LX), but with more limited support.
Used for calls to System Manager services (100LX/200LX).
Used by the System Manager to load its DS register.
In addition, the System Manager chains into the Int 1Ch, the user timer tick interrupt. Finally, Int 62h is used by the HP palmtop's Calculator application.