UniCMD Manual Version 1.8 12.1204

- Universal Commander for PalmOS® -

Table of contents

  1. What is UniCMD
  2. Disclaimer & License
  3. Installation
  4. Basics
  5. Main screen
  6. Navigation
  7. Button functions
  8. Menu functions
  9. Backup funktions
  10. Text editor
  11. Cipher
  12. Md5-checksum
  13. MIME64 decoder
  14. Exchange data
  15. File associations
  16. Viewer
  17. Find function
  18. Limitations

What is UniCMD

UniCMD is a program to manage, backup and exchange databases and files on PalmOS® computers:

It encloses several powerful and comfortable functions :

- copy (in all directions/ expansion cards/ handy/ PC)
- beam, data exchange (EXG: bluetooth, IRDA, ...)
- compress (ZIP)
- cipher, encode (BlowfishCBC, MD5, Mime64 (email-attachments))
- view (Jpeg/Exif, Text, HTML)
- file-associations (view/open files with other applications)
- backup (manual or scheduled, full or selective (Backup/Update)
- edit text (text)
- info (files, memory devices, system)
- configure (appearance, functions)

Ergonomics, Functionality & Compatibility

UniCMD is developed to provide a wide funcionality in an easy to use and ergonomic user interface.
Therefore a dynamic version of a two window user interface, which is well known on desktop computers, is created. You can control the functions and navigate with only a few clicks and short movements of the stylus.

The handling of files and databases should be easy and equal on the PalmCard and the expansion cards. Necessary conversion (installation or export) of databases can be done automatically.

Independence and compatibillity are important points: UniCMD uses system independent file formats. That means you can view JPG-files, can work on common ZIP-files and the logfile is a simple text-file. Backups will be put into ZIP-archives so you also can access your data without PalmOS or UniCMD.

Disclaimer & License

DISCLAIMER

This program is provided as is.
As with any file management application your data is at risk to be damaged or totally deleted while using UniCMD.
The Author(s) absolutely accept NO responsibility for ANY consequences of using this program.
This includes we take no responsibility for any damage, loss of data or fatality, that occur to the you, your PDA or any device, appliance or living being in the vicinity of you or your PDA, at the time of using UniCMD, reading the manual or at any other point after using this software.

SHAREWARE

UniCMD is shareware. While UniCMD is not registered, it is full featured for 30 days after first installation.
Afterwards it stays usable but some of its features are restricted.

REGISTRATION

You can purchase a registration key from several providers.
For details have a look at the UniCMDs menu "MENU/ Options/ Register" or its homepage.

LICENSE

This software (UniCMD) is the property of its Author Dr. Ralf David and is protected by copyright law.
While the author continue to own the software you will have certain rights to use the software after registration.
Without registration you can use the software for one limited period of 30 days for trial purpose only.
After registration your rights and obligations with respect to the use of this software are as follows:
1) The author grants to you a personal, non-exclusive, non-transferable license to install and use the software for lawful use.
The Software may be installed only on devices controlled by you.
2) You may make copies of the software as may be necessary for backup and archival purpose.
3) You are not allowed to distribute the Software.
4) Your registration key is to keep under lock. Neither your registration key nor the unlocked software is allowed be shared, copied or made available to other persons.

Installation

Simply install the files "UniCMD.prc", "UniCMD-JpgLib.prc" and "UCmdHelp.pdb" to your PalmOs® device. You can do it with HotSync®, PInstall oder any similar installer. You also can tranfer it with an expansion card, beam it, use FTP or any other available protocol.

On the first lauch of UniCMD the "UCmdHelp"-database will be converted into a HTML-file and stored into the UniCMD data directory.

If there exists an older version of the "UCmdHelp.htm" inside of the UniCMD data directory, you have to delete ist yourself. This can also be done later.

UniCMD should be installed on the PalmCard. If not, the backup scheduler will not work. In spite of this if you want to install it on an expansion card, you must run it once on the PalmCard and then you can copy it from the PalmCard to your expansion card.

Never install more than one version of UniCMD at the same time!

Basics

PalmCard, Expansion Cards & Drives

On PalmPDAs UniCMD supports two kinds of memory devices: the PalmCard and expansion cards.

PalmCard is the storage memory of a PalmPDA. It provides a file system like organization. Here you can find applications, other databases and files. Theoretically a PalmPDA can manage more than one PalmCard, but in recent devices, only one exists.

Expansion cards may be CompactFlash, SD-Card ,MicroDrive, Multimedia, MemoryStick or similar memory cards. They usually have a real file system that is similar or equal to file systems of desktop computers.

Following the pattern of the numbers of PalmCards, UniCMD will provide increasing numbers for any found expansion card (CompactFlash, ,MicroDrive,Multimedia, MemoryStick...). With this unified system, PalmCards and expansion cards are called drives that can be accessed easily by there number.
Most Drives (but not the Palmcard) support names called labels, that can be modified.

Principles of usage

Terminology

The following terms are used synonymic:

PalmDB : PalmOS® database
PalmCard : storage memory of a PalmOS® computer
PalmPDA : PalmOS® Computer (Personal Digital Assistent)
PalmResource : PalmOS® resource database
Stylus : writing utensil for PalmOS® computer
Objekte : topic for directory entries like files, databases and directories

Main screen

Haupt-Bildschirm
  Title bar  
  Directory-window-button-panel:  
  Directory window:  
     
     
     
     
     
  Bottom button panel  

The main screen is divided into 4 parts:

Title bar and info display

The title bar contains a drive selector buttons, a universal info display, a window selector buttons and an Info-button.

The info display usually contains the recent path of the active window. Temporarily other things may be displayed. If the info display is too small to show all contents, a little button will appear next to it to show full contents.

Directory window button panel

Contains buttons to switch sort and display mode, select additional informations, and provides 4 userdefined buttons.

Directory windows

You can find two directory windows. The bigger one is called the active/ source window, the smaller one is called the passive/ destination window. In the active window you can navigate through its contents and you can easily select and mark items of the active window by tapping on them with the stylus. Exactly these marked items are the basis for further processing.

Bottom button panel

The main controls are placed here for fast and easy access. All functions will work on the active window.

In the center you can find the navigation controls that support the scrolling of the active directory. Furthermore you find buttons for the most important file functions.

Navigation

Navigation on the window layer

It's simple: There is an active window that usually is displayed bigger and it is the basis for any work. There is also a passive window that usually is displayed smaller. The size of the windows can be changed by holding down the stylus onto the dividing field between the windows (which also contains/is a scrollbar) and slide/shift to the left or right. You can completely hide the passive window.

You can switch the active window by tapping the stylus onto the passive window. The sizes of the windows will swap.

If the passive window is completely hidden, you can switch it by tapping onto the window selector button#.

You can temporary switch to full view with the magnify-button#.

Navigation inside a window

Inside a window you can navigate through the contents of a directory. You can jump or scroll up and down the directory list. If supported by the drive, you also can move through the directory tree be entering or leaving subdirectories.

Navigation inside a directory

#The directory list can be easily moved with the navigation controls.

The upper one is a classic scrollbar , which is similar to the PalmOS scrollbar. This scrollbar works synchronous to the one between the directory windows. Aided by it you can move fast through long directories.

Below you can find a control for line by line scrolling. The speed and direction of scrolling depends on the pen position on the control.

Between the windows you additionally will find a vertical arranged scrollbar. Vertical movements with the stylus usually are a little bit inconvenient, but sometimes this control is useful for more accurat positioning because of its length.

Another possibility is the input of letters. The list immediately positions to the best match.

Navigation in the directory tree

#First you may switch the drive of a directory with the drive selector button.

Depending on the possibillities of the drive, additional buttons may be displayed to allow changing of directories:

Directories can also be switched by:

Selection of items

The aim of navigation is to view, find and then select items for further processing.

Only selected items of the active window are the basis for further processing. In case of movement or copying of data, the active window contains the source, the passive window contains the destination.

Button functions

# Drive selector button

The drive-selector-buttons shows the drive-number of the active window. Tap on it to open a popup menu with the names of all selectable memory devices or drives.

If the active window uses the full screen width, you can also switch the active window with this buttons.

# Window selector button

Switches the active source-window.

# Info/Help button

Usually if you tap on this button, a popup-menu appears and you can select an info- or help-function. In case of one selected item in the active window, you directly will get an info to it.

File - info:

Shows complete information about a file, database or directory. Depending on the type of file some of the following informations are displayed:

Drive - Info:

Shows complete information about a storage device

System - Info:

Show system informations.

Help on a screen object:

Select any screen object to get a help on it.

Manual:

View the manual..

Directory window button panel:

#
Here you can find four fixed buttons and four userdefined buttons.

The first button switches the visibility of application depending databases.

The second one selects the sort mode.

The third one selects the file filter.

The fourth button selects additional information to the directory contents.

Sort mode button

You can select from several sorting modes.

File filter button

10 different file filters can be defined and selected.
A filter can contain the creator ID, type ID and/ or a filename pattern, all separated by a comma. If you don't give a creator ID nor Type ID, you don't need to write the commas.

eg: *.* (display all) *.jpg (display jpg-files) ,appl, (only applications) UCmd,, (only UniCMDs files)

Infomode button

Here you can select if or which type of additional infomation to display next to a file or database. On some older devices the file date is not supported.

#Select button

Select items of a given type or rule

# Clear button

Clear all selections of the active window.

# Magnify button

Temporary switch the size of the active window to 100%.

File functions button

# Functions menu : Select a file function from a menu:
# Copy : Copy files.
# Move : Like Copy, but source files will be deleted.
# Install : Like Copy, but always copies/ installs to PalmCard0
# Execute/ View : Shows contents of files or lauches applications.
# Delete : Deletes files.
# Erase : Overwrites and deletes files and databases.
# Send/ Beam : Sends files to other devices (PalmPDA, PC, Handy...)
# Cipher : Enciphers files using BlowfishCBC algorithm.
# Decipher : Deciphers files using BlowfishCBC algorithm.
# ZIP : Compresses selected files to a ZIP-archive.
# UNZIP : Decompresses a ZIP-archive.

# Copy

Copies all selected items and subdirectories of the active window to the path of the passive window.

In the case of copying PRC/PDB-files to PalmCard 0:

# Execute / view

Launch a PalmOS® application or view contents of a file or database. Only one file or database must be selected.

Viewer & File associations

# Delete

Delete all selected items and subdirectories.

If a palm application is selected, UniCMD will ask if the whole application, that means all databases that belong to it, shall be deleted.

# Erase

Overwrite all selected files and databases once with an 0xAA pattern and then delete them. It is to make sure, that no hidden but reconstructable fragments of your secret data remain in the memory.

If an application is selected, UniCMD will ask if the whole application, that means all databases that belong to it, shall be deleted.

#

Selects character fonts of different size.

Menu functions

You can call the menu by tapping on the info display or just using the menu button.

File - Menu:

New Dir :

Creates a new directory. This will not work in ZIP-files yet.

Rename :

Rename a file, database or directory. This will not work in ZIP-files yet.

Edit File :

A simple text editor.

Palm-DataDB to File convert

A function to convert the contents of databases (of record type) into text files or binary files. This function is not identical with exporting a database to a PDB-file. Exporting will be done automatically if necessary.

You can copy binary which means all contents of the data records will be copied without any translation.

The other possibility is to copy with conversion of logical or physical stuctures which simply means you can convert end-of-string markers (NULLs) or the end of a record into spaces, commas or new-line-codes.

For example if you want copy your "MemoDB" into a real text file, you can use this function: A popup menu will appear and you may select the 8th item where all NULLs and endings of records will be converted into new-lines.characters..

File to Palm-DataDB convert

A function to convert the contents of text files or binary files into databases (of Record Type).

A popup menu will appear and you can select in which cases a NULL(end of string) or the end of a record shoud be created. For example you can translate any Comma into NULL, and any NL(newLine) into a new record.

The text file:

"Hello world, this is
a nice file
"

would be translated into the database:

HEADER
RECORD #0 : "Hello world",0, "this is",0
RECORD #1 : "a nice file",0

Because of PalmOS / 'C'-programming internal matter, it is a good idea to close any (non-binary) record with a NULL to avoid later errors. UniCMD will do so.

MIME64 :

MIME64 En/Decoder

MD5 Checksum :

MD5 Checksum

Communication - Menu:

Send :

Exchange data

Receive :

If suitable drivers and responding applications are present you can try to order files with the exchange manager.

Exchange data

Beam Receive :

Enter the beam receive mode for several seconds.

Tools - Menu:

Backup Card0 :

Copy all non-ROM-based, non-'a68k', readable databases and files of card 0 into a ZIP-archive in the UniCMD backup directory.

UniCMD backup funktions / Backup

Restore Card0 :

Copy/install the contents of a selected ZIP-archive to PalmCard0.

UniCMD backup funktions / Restore

Update Selection :

Look at all files or databases (in prc/pdb-file) of the UniCMD update directory and compare them with their counterparts on PalmCard0. If PalmCard0 contains a newer or a changed version, update the one of the update directory. It's an easy and effective way to get an actual backup of a number of preselected important databases or files.

Of course, this job also can be done by the UniCMD update scheduler

UniCMD backup funktions / Update

Label :

If supported, change the name (usually called label) of a drive / an expansion card.

Format :

If supported, format the a drive / an expansion card. All data will be erased. UniCMD asks twice, some PalmOS versions might ask once more, if you are really sure you want to do it.

New Encryption Key :

You can enter a new cipher key. This is only senceful if you have activated the continued usage of a once entered key MENU/ Options/ Preferences2/ use previous encryption key

Set Key Image :

Select a JPG-file and hit this functions to import a key image for graphical cipher key input.

Options - Menu:

Preferences 1

Preferences 2

Path Prefs

Change the default directories:

Backup Prefs

Here you can setup the backup scheduler.

UniCMD Backup Functions

Exchange Prefs

Button Setup

The four buttons on top of the passive window (Directory Window Button Panel) as well as the five File Function Buttons can be configured:

File Associations

File associations

Reset All Prefs

Reset all preferences. File associations can separately be deleted at MENU/ Options / File Associations.

Backup functions

UniCMD supports several ways to create backups.

Type 1 - Backup PalmCard

Copy all readable, non-ROM-based, non-PACE databases and files of card 0 into a ZIP-archive in the UniCMD backup directory.

UniCMD backups are common ZIP-archives which means you can access your saved data independently from PalmOS® and UniCMD.

Even a full backup of all files an databases does not mean, that you are able to restore an identical system in any case. This is a general problem of all file and database oriented backups. As expected, not all system files can be restored this way because they may be in use on a running system. Additionally you cannot be really sure, that all important data are always stored in files or databases.

Type 2 - Update Selection

All files and databases (previously exported into PRC/PDB-files) of the UniCMD update directory are looked up and compared with their counterparts on PalmCard0. If PalmCard0 contains a newer or a changed version, the older version of the update directory will be updated. Its an easy and effective way to get an actual backup of a number of preselected important databases or files.

This is especially usefull for frequently modified databases like AddressDB, MemoDB and so on.

How to do it:

Scheduler

Backup PalmCard and update selection can also be launched by a scheduler, that performs an operation at a predefined time and can repeat it in a predefined interval. Both methods may be active together.

You can setup the scheduler easily in the menu < Options / Backup Prefs >

Important: UniCMD should be installed on the PalmCard. Otherwise, the backup scheduler will not work.

All successful copies and errors can be written into the logfile.

Restore Card0

This function copies/installs all contents of a selected ZIP-archive to PalmCard0. If an item already exists, UniCMD will ask what to do. You can use <OK-ALL> to avoid further confirmations for the same type of error. Some system databases cannot be overwritten this way. Usually this isn't a problem and you can ignore it.

For a system restoration it is best way to use a newly initialized PalmPDA. You can initialize most PalmPDAs with pressing the reset butten while holding down the power button. If you do this all data on the system will be deleted!

CAUTION: PalmOS® will not work problerly, if you restore a backup to a different type/model of PalmPDA, a different PalmOS® - version or to a system with a different localization (country/language) setting. Its best to restore a backup to the identical PalmPDA with the same localization setup.

To avoid conflict even on identical PalmPDAs, UniCMD now adds a localization - label to the backup name. On restoration, this is checked an you may be warned.

Hackmaster - Hacks and other system - modifications must be deactivated.

After all UniCMD asks to do a soft reset. Some databases an the system needs some initialization that usually will be done on a reset. So, in most cases of successfull system restoration a soft reset has to follow. UniCMD will remind you.

Be aware: some systems, PalmOS® versions or devices may crash if system files are overwritten during restoration process!

Text editor

UniCMD provides a simple text editor that is based in PalmOS®-Fileds. Files up to a size of 1/4 megabyte can be loaded it there is enough memory. A find/replace function is available.

Cipher

UniCMD is able to encipher and decipher files and databases.

Therefor the famous Blowfish-algorithm is used, which is well known to be fast and safe. In addition the cipher blocks will be chained (CBC enhancement), where the initial vector (IV) is also encrypted.

The Blowfish-algorithm is said to be save, which means in practice its safety depends on the lenght of the key. A key may contain up to 56 bytes (theoretically 448 bits). Blanc/space-characters will be deleted from the key because they are difficult to see and to count on a Palm screen. The input of "my new key" will be passed to the cipher rountines as "mynewkey". Be aware: a key of ASCII characters like letters, numbers and a few other signs has a value of 6 key bits per character rather than 8.

Starting with version 1.33, you can enter a cipherkey by clicking on several positions on an image. This works but still has an experimental state. Custom images can bew imported: select a JPG-image and enter MENU / Tools / Set Key Image.

The Blowfish-algorithm works on 64 bit blocks. All files with a length not a multiple of 8, are extended with some random digits. Of course this random extension will be deleted after decryption.

BlowfishCBC ciphered files can be handled on a Windows(TM)-PC using the BFC-plugin for TotalCommander(TM). This plugin works compatible to UniCMD. You can get the plugin at www.UniCMD.de.

Ciphered files directly can be installed, viewed or edited.

At this time, encryption won't work together with the ZIP-functions, but certainly you can copy encrypted files into a ZIP-file.

MD5 Checksum

Calculation:
Calculates a 128bit checksum from given files using the MD5-algotithm from RSA Data Security, Inc. You can use thos function to check data integrity after transmission or storage. Whole trees of directories can be processed. A file with results will be created in the root of the checked data. The created MD5-files contain relative paths and are compatible to desktop applications like TotalCommander or FastSum.

Verification:
MD5 - Files contain lists of Files and there Checksums.If double-tappind a md5-file, UniCMD verifies all listed files and writes a log.datei. UniCMD handles relative Paths so the MD5-file must be in the root of the files, that should be shecked. muss im gleichen (Root-)Verzeichnis liegen, wie die zu überprüfenden Dateien.

Mime64 encoder/decoder

Some email-clients cannot handle email-attachments (files that are stored and send within an email). In this case UniCMD may be able to extract it from an saved email.

You also can encode Files using the MIME64 scheme and generate M64-files. M64-files are pure ASCII text files.

Exchange data

UniCMD can transmit data on three ways:

Usually UniCMD stores received files into the active directory. If UniCMD is not active it stores received data into the exchange directory.

Exchange manager

The exchange manager can transmit files on several ways depending on the capabilities of the PalmOS® version. If available PalmOs let you choose the way. The simplest case is to beam the data using the IRDA - port.

On your device you can register an application to receive a specific type of data. For example by default all files with a ".txt" extension are directed to the MEMO application.

In the exchange preferences you can preset which types of data are to receive by UniCMD. You can determin, what types of data are allways to receive by UniCMD, and what data UniCMD may receive if no other application is registered for it.

File associations

UniCMD supports to open files and databases with other applications. A selected file will be passed a target application depending on its filename extension or its typeID/creatorID.

This on desktop computer very common approach (eg, launching MS-Word on a mouse-click onto a DOCument file) is a a little bit tricky on PalmOS-PDAs, because there's no standardized way to pass files and databases to applications.

So you have to keep in mind that at present most applications do not support to receive (or be launched with) another file or database to open!!!

If applications can receive files, there exists two common ways:

Usually this parameters cannot be found by trial or guessed!

In UniCMD a few viewer-applications are preconfigured, they only has to be aktivated or deactivated: KinomaPlayer, RescoPhotoviewer, JPGview,AcidImage (an of course the internal viewers)

For example if you double-tap onto a JPG-file, UniCMD searches in its list to find a corresponding active file association. If the associated application is installed, it will receive the JPG-file. Otherwise the search continues.


Configururation of file associations:
Initially you can select a file or database. Its type will be taken for association and maybe an existing association will be loaded to be edited.

In case of a JPG-file you may enter the following:

[x] active, Object : "File[ExpCard]" , Ext: "jpg", target-application: "JPGviewer"

Now you have to determin, how the JPG-file must be passed to the target application. This settings should be taken out of the documentation of the target application or must be asked from the author of the target application.

- SWT - method SysUIAppSwitch
- LCH - method SysAppLaunch
- MB - method broadcast (not supported yet)

- (P) - pointer to the path

- "" - string
- ' ' - string without EOS

At www.UniCMD.de you will find a list of new outcoming launch parameters. If you can explore new launch parametern, please share your wisdom and write me an email or report it in the UniCMD forum. I'll add it to the list then.

Viewer

UniCMD can open files and databases to view their contents.

The interpretation depends on the filename extension:

Find function

UniCMD supports the global find of PalmOS. It searches for files and databases on all drives. It's a case-insensitive substring search. You can use wildcards (* and ?).

Limitations

Files:

The names of files on a PalmCard are limited to 31 characters (and terminating #0). If you copy files to drive0 (the PalmCard) you should be aware, that their names will be truncated to 31 characters. To avoid further problems, UniCMD inserts an additionally counter, that is incremented on each truncation.

On the other Hand, filename and database names can contain characters, that aren't allowed on FAT file systems. In case of incompatibility, UniCMD translates them into a %XX code where XX is the hexadecimal number of the character. UniCMD also will decode %XX to a character if it is copied to drive 0.

The file dates like the date of last modification are poorly supported on some PalmOS versions.

Until now I havn't found a save way to reset the dates of copied file to the original dates of the source file. UniCMD sets the dates, but they always are overwritten again by PalmOS when the file is closed.

Does anybody know a solution ?

Palm databases:

PalmOs databases are something special.

They do not only have their names for identification. They also have a creatorID and a typeID. These are two 32 bit numbers, that usually correspond to a string of four characters.
(e.g. 'UCmd' for UniCMD, 'appl' for an application)

In addition, every database contains a version number. This is usually not a problem, however you have to be aware, there might be more then one databases with the same name, CreatorID and TypeID.

ZIP files:

Zipfiles may contain real directories. This is a way to have directories on drive 0.

If you copy a database into a ZIP-archive, it will be automatically converted into a PRC/PDB-file.

Until now you can view 2 ZIP-files, but you can only work with one ZIP-file.


(c) 2002/2004, Edacon Informationssysteme Arnd David, Dr. Ralf David GbR