Now it is time to move back to a discussion of things on the handheld. There are a couple of different kinds of resets that can be done to your Palm device:
This is done by
pressing the reset button with a blunt instrument, like an unfolded
paper clip. This resets the dynamic heap but not the storage heaps,
so no data is lost. Each installed application receives the
sysAppLaunchCmdSystemReset launch code.
You do this by pressing the reset button while holding down the power key. You are provided with the option to erase everything in RAM. If you choose it, everything in RAM is erased, including all your data.
By pressing the reset button while pushing the down-arrow key, you get a debug reset. This puts the Palm device into debug mode. You see a flashing box in the upper left.
This happens we you press the reset button while holding down the up-arrow key. The OS boots without sending reset launch codes to each application. This is essential to use if you’ve got a bug in your PilotMain (like trying to access globals without checking the launch code).
It’s not uncommon to accidentally access globals when you shouldn’t in your PilotMain (typically by not checking the launch code, for example). You can get into a vicious cycle in such cases. After a reset, your application is sent the
sysAppLaunchCmdSystemReset launch code, at which point you access globals, at which point you crash and cause a reset, and so on, and so ...