Device Reset

There are a few neat debugging aids you can perform directly on the handheld:

Soft reset

Press the Reset button with a blunt, thin instrument (e.g., an unfolded paper clip, or the tool embedded inside many a stylus). This resets the dynamic heap but not the storage heaps, so no data is lost. Each installed application receives the sysAppLaunchCmdSystemReset launch code. This reset also removes any orphaned chunks in the storage heap (chunks that are not members of any database).

Hard reset

Press and release the Reset button while holding down the Power key. You are provided with the option to erase everything in RAM, including all your data.

Debug reset

Press (and release) the Reset button while pushing the Down-arrow key. This puts the Palm device into debug mode, where it waits for a low-level debugger (like PalmDebugger) to connect. You see a flashing box in the upper left.

No-notify reset

Pressing (and release) the Reset button while holding down the Up-arrow key. The OS boots without sending reset launch codes to each application. This is essential if you have 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 (the typical culprit is the failure to check the launch code). 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, ...

Get Palm OS Programming, 2nd Edition 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.