BinAscHex 1.1 for PalmOS 3.0 and above
--------------------------------------

Written by Pop Sharma (c) 2002
----------------------------------




Description
Update description
Installation and upgrade
How to use
Requirements
ToDo
Distribution and Usage Policy
History




Description
-----------

This program converts 32 bit whole numbers from one numeric base 
to another.
The supported bases are Decimal, Hexadecimal, Octal, Binary and 
8 bit ASCII code.

BinAscHex was originally developed to help a friend learn about 
binary, ASCII and hexadecimal. However, it has been quite useful 
while programming, debugging and analysing network traffic.




Update description
------------------

Big and small colour icons. 1,2 and 8 bit images added.

Now negative decimal values can be entered directly into the 
decimal field. Characters other than the minus sign ('-') no 
longer allowed.

Signed/Unsigned button added to convert between ranges of decimal
integers. The decimal field updates instantly to the value in 
either state with a single tap.

Warning dialogs for hex, octal and now decimal as well, are 
displayed if incorrect data is entered. The opportunity is 
given to see the erroneous data and remove it.

Added options on the application menu to perform Cut, Copy and 
Paste operations. Also fixed this to work with the Graffiti 
command stroke shortcuts (penstroke bottom-left to top-right, 
in letter area, followed by C, X or P).

The state of all field values, the list and the button is 
restored when the application is returned to. Any erroneous 
values are zeroed.




Installation and upgrade
------------------------

Simply install using your favourite HotSync application.
If you already have version 1.0 installed, it will be overwritten
and the preferences updated when version 1.1 runs the first time.




How to use
----------

A number can be entered into the Decimal, Hexadecimal or Octal 
fields using normal input methods. Alternatively a character can
be selected from the ASCII character list.

The converted number is displayed in all formats as it is entered
into the program.
The ASCII list updates to show the character represented by the 
number entered MOD 256. Non-printable ASCII codes are represented
by a BOX character and also show their ASCII code name.

Negative numbers are typically represented by setting the highest 
bit of a number. This has the side effect of reducing the
maximum value by a half, e.g. an 8 bit number can represent the 
range 0 to 255; but a signed 8 bit numbers range is -128 to 127. To 
see the value in both of these ranges simply tap the Signed/Unsigned 
button in the top right-hand corner of the screen.

The 32 bit unsigned binary value is split into 4 bytes, 8 bits each. 
These are paired on the display in two 16 bit words.
The Most Significant Byte is at the top. The Least Significant Byte 
is at the bottom. The LSB is the same as the ASCII character.

TIP:
If you are new to binary or hex, watch the relationship between the 
binary bits and the pairs of hex digits.




Requirements
------------

Palm III or better.
PalmOS 3.0 or higher.
9K free RAM.

Tested on Palm Pilot Professional OS 3.3, Palm III OS 3.0, 
TRGpro OS 3.5.3 and SONY Clie OS 4.1
Not tested on other platforms, but should work.




ToDo
----

1) Add support for binary input

2) Tidy up source and publish.




Distribution and Usage Policy
--------------------------------

You are permitted to use this program free of charge. You may also 
distribute it in any way and may even charge for it's distribution if 
you wish, however you must not modify the software and all copyright 
notices must remain in tact. You must obtain written permission for use 
or distribution other than detailed here.

BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT 
WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER 
PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, 
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME 
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR 
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL 
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM 
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED 
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE 
OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH 
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 
DAMAGES. 




History
-------

3 August, 2002
Release 1.1, build 0101.
Added SelectorTrigger to control decimal field sign handling.
Support for colour icons in both icon and list views of Launcher.
Changes to user preference handling when leaving and re-entering 
the application. All fields restored to exact state.
Menu handling and OS command stroke handling fixed.
Changes to field updates to reduce power usage.

22 July, 2002
First release, version 1.0, build 0054.
Warns when hex or octal is invalid. Doesn't differentiate between 
positive and negative decimal values. Renders hex or octal values >2^32 
as signed negative decimals. Binary input not supported. No validation 
on decimal field.
