Device Reset

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:

Soft reset

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.

Hard reset

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.

Debug reset

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.

No-notify reset

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).

Note

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 ...

Get Palm Programming: The Developer's Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.