PocketShell:

PocketShell is a very simple DOS command shell designed for PocketDOS
(www.pocketdos.com) which runs on a PDA. PocketShell allows you to navigate
the directory structure and launch program at the touch of the screen (much
easier than typing commands and filenames on the little pen keyboard).
Although primarily designed for a PDA, PocketShell can also be run with a
mouse on a standard desktop computer.

PocketShell can also be used as a "super change directory" command. Simply
launch PocketShell, navigate to the directory you wish, and hit the exit
button. PocketShell always keeps the DOS "current directory" set to the
drive and directory displayed on the screen. This also means that you can
execute more complex commands on files in the current directory just by
hitting the Exit button, entering the command, and relaunching PocketShell.

PocketShell uses an initalization file (PS.INI) which must be located in
the same directory as the PocketShell program (PS.COM) - See the comments
in the file for details on how to configure PocketShell.


Navigating with PocketShell:
----------------------------

Menu Items:
-----------
All menus in PocketShell follow the same presentation:

Option items (if applicable) are presented along the top line of the
screen at the lefthand side. Option items are preceeded by a "diamond"
indicator. You can select any Option item by tapping on it.

To the right of the Option items on the top line is the name of the
menu (if applicable).

On the far righthand side of the top line is an 'X' - tap this to exit
the menu without selecting an item.
[NOTE, if the #LEFT option is enabled in the configuration file, this 'X'
 will appear at the far left hand side of the top line instead.]

The remaining lines on the menu contain items to select. Tap or
Tap-and-Hold any item to select it.

If the number of menu items exceeds the number if physical lines in the
menu, you will see a "scroll bar" on the side of the menu (this can be
either the Right or Left side depending on PocketShell's configuration).

Tap the arrow at top or bottom of the scroll bar to move the screen
one item in the indicated direction.

Tap-and-Hold the arrow at the top or bottom of the scroll bar to move
the display all the way to the indicated end of the selection list.

Near the center of the scroll bar is a horizontal line. Tap the scroll
bar above/below this bar to move up/down by one page (screen display)
of selections.

Tap-and-Hold the scroll bar or the top line to toggle the top line between
the options/title display, and a display of the selection window position.
[Tapping the top line while this display is active will also toggle it back
 to the options/title display]


Message Boxes:
--------------
Any time PocketShell wants to tell you something, it will pop up a red
"message box" in the center of the screen with the information. Tap the
message box to proceed.


Main directory display:
-----------------------
The main PocketShell directory display is a menu (see above) of files
in the current directory. The bottom line of the screen displays the
current working directory.

Menu options (Tap to activate):
  *Up      - Go Up one directory level
  *Drive   - Select a new disk drive
  *Confirm - Toggle command confirmation On/Off
  *Pause   - Toggle command exit pause On/Off

Pen Operations:
  Tap the 'X' at the top right side of the screen to exit PocketShell.

  Tap a directory to enter that directory
    - Use the '*Up' option to return to a higher level directory

  Tap a file to launch that file.
	- If PocketShell has definition for the files type (extension), it
      will automatically launch the default command for this file.
    - If PocketShell does not have a definition for the files type, it
      will prompt with a menu of default commands.

  Tap-and-Hold a file to pop up a menu of commands available to this
  filetype. Select a command and it will run.

  Tap-and-Hold the 'X' at the top line of the screen to pop up a menu
  of file display options.

Once a command has been launched, it will prompt for any required
command input. These are:

  Source file: Any file which must already exist.
    - You will receive a file sub-menu, navigate the menu and tap
      on the file you wish to use.

  Destination file: Any file which may be a new one.
    - Operates the same as "Source file", except that you will have
      a '*New' option to enter a new filename.

  Arguments: Any text string of options etc. which may be required
  by the command.

Once all required command input has been selected/entered, PocketShell
will clear the screen, and display the complete DOS command line that it
has created. You will be prompted with a Yes/No confirmation prompt if
any of the following are true:
   - The "Confirm" option has been set to YES
   - The command is marked as always requiring a confirmation
   - The filetype was not recognized by PocketShell (no config definition)

After the command runs, PocketShell examines the DOS exit status of the
command, and if it is non-zero, leaves the final command output screen
on the display and pops up a message box displaying the exit code from
the program. NOTE - the text description offered indicates the DOS standard
meaning of the exit code, however it MAY NOT BE the meaning of the exit
code from the command. Tap the message box to proceed.

NOTE: If you want to see the screen under the message box, tap-and-hold
the message box to remove it from the screen, leaving the program output
visible. Then tap anywhere on the screen when you are ready to proceed.

If the command was successful, PocketShell will leave the final commands
display on the screen if any of the following are true:
  - The "Pause" option has been set to YES.
  - The command is marked as always requiring an exit pause.
  Tap anywhere on the screen to proceed.

!!!NOTE: The sample 'Edit', 'Compile' and 'Assemble' commands assume that
you have my Micro-C/PC compiler package installed in the C:\MC directory.
You can download Micro-C/PC from my web site (www.dunfield.com), or modify
the configuration items to match your own development system.

Dave Dunfield
www.dunfield.com
