I'm in the middle of working on a KB article about using the console I/O system that's built into Palm OS 5 and earlier. This is a very well hidden feature of the device, but it can be useful for certain kinds of applications where you don't want a complicated user interface.
To get to the console I/O window, you need to go into the Prefs application, then open the Network prefs. Now, use the menu to open the Network Log window. You'll be on a blank screen with an open area, a blinking cursor, and a Done button.
This is actually a command prompt. If you type 'help', you'll get a list of commands that are installed on your device. On my PalmOne Tungsten C, I've got 'help, 'info', 'ping', 'finger', and 'nettrace'. Some of these commands are built into the network log window, but others are actually PRC files installed into the Palm OS ROM; using a tool like Filez, you can see them as resource databases of type 'sdio' with a name starting with 'Cmd-'.
You can add your own commands. This is described in not-nearly-enough detail in the Standard I/O chapter of the Palm OS 68K SDK Reference. To build a console application, you'll also need an interface source file called StdIOPalm.c that handles mapping your I/O calls to a console window provider. Since console apps are run as plugins to another Standard I/O provider application, they have the same limitations as shared libraries, including no access to global variables and limited program stack. Right now, the only method of getting StdIOPalm.c is to download the samples for the Palm OS SDK 4.0 from the SDK archives at PalmSource.com, but when the KB article goes up, the needed files will be included along with a couple of sample projects.
