What is CasioBoss?
------------------
It is a package ported from DOS to allow communication to
the CASIO series of hand-held organizers.
Version 2.0.1 has been tested on Linux1.2.x , Solaris2.x, sunos4.x, 
and sunos5.x
The term 'computer' henceforth will refer to any machine
that supports these operating systems.
It is provided as is i.e. i am not to be responsible for any
damages it causes to you, your CASIO or your environment.

I would like to thank and credit Birko Bergt (bergt@hrz.tu-chemnitz.de) of
Chemnitz, Germany for the little/big endian support and the tty-naming
for Solaris. Birko is also working on a .casiorc file which would
reduce dependence on passing parameters via the command line. 



features:
----------
	- Backup from CASIO to your computer
	- Restore a Backup file from your computer
	  to the CASIO.
	- currently supports only: Phone, Calendar,schedule
	  memo, and reminder. if you need any other format
	  and i get access to a model that has this format
	  then i could add it.
	- Outputs 3 different files when sending data from
	  the CASIO to the computer during backup:

		i) the binary file whose name must be
		chosen by the user. This is the file
		used when restoring

		ii) data.<yyddmm> --- an ASCII file.
		A user can view this file. At the moment
		this is all that can be done. J. Pellan 
		(J.Pelan@Queens-Belfast.AC.UK) is 
		working on a conversion utility that will
		allow the conversion of ASCII<-->binary
		which means a user would be able to edit this
		or another file and run the conversion utility
		when s/he requires to selectively backup.

		iii) debug.<yyddmm> contains debug information.
		by default the debug level is turned off i.e set to
		0 -- so this file will only contain one line which
		identifies the file id of the debug file.

	- User can stop the transmission:
	-	from the CASIO side -- by pressing the 'next' button
		(or whatever the prompt says on the CASIO)
	-	from the computer side by hitting the ESC key or just killing
		the process via a control-c
	
	- Supports 2400,4800 and 9600 all at 8N1; support for other
	modes of transmission will be available with the next
	release; if you *really* need it let me know.

	- Online help is available; just type casio with any bogus
	options; or casio -h or casio -? or just casio to get the
	verbose help output; future plan is to have different option 
	levels for help (i.e verbose and quick)
	- Status display of transmission both ways.

Requirements:
-------------
1)You definitely need the cable to connect the casio; two different
  schematics are included here courtesy of Victor; if you cannot
  build the cable -- a friend of mine, Denis Rouleau at:
  ca904@freenet.carleton.ca will build a PC-cable for you for 
  US$20 + shipping and handling. This is not an endorsement, but it 
  could save you some time + bucks. He helped me build my first cable 
  and it cost me about $15 US to get the parts together; 
  NOTE:  He's given me consent to add the information here; 
  if you cant get hold of him the get hold of me i will try to track him 
  for you.

2)This program was compiled and tested on 
	i)  Linux 1.2.13 using gcc version 2.6.3 and a 16450 UART;
	ii) sunos 4.01,solaris2.5 and sunos5.4

  Because of its simplicity it should be able to compile on
  lower or higher versions of the above mentioned tools.
  the included Linux binary might not run on lower or higher versions.
  It should also be able to compile on any *nix; if you manage
  to get it running on any other Unix please send me the changes
  so that i can include them on the imakefile config files etc. and add 
  you to the CREDITS.
NOTE: i have tested the program on models sf4600 and sf8000 for
4800,2400 and 9600(sf 8000) only.
If you own a different model and this works let me know so that 
i can add it to the list.

Installation:
-------------
1) unpack the casio.tgz file on the root directory whose 
subdirectory it is supposed to reside on;
if you have the right version of tar it should be as simple as
tar -xvfz casio.tgz
if this doesnt work then i suggest i) gunzip casio.tgz then
ii) tar -xvf casio.tar

2) cd to the casio directory; 
i) you can immediately start using the provided binary named "casio"
if you are using linux. 
ii) if you are running sunos4.x just copy Makefile.sun4 to Makefile
and type make to create the executable
else iii) you can create your own by:
	a) just copy Makefile.simple to Makefile and run make. Take a peek
	inside the Makefile to see how simple it is.
or	b) invoking the script makemake which will create a Makefile
	for you by making use of the imake utility in your system. You
	then type make to create the binary
or
	c) since the program is a simple one and everything is in casio.c
	or casio.h you could compile it easily with gcc -ocasio casio.c
3) you could then move the binary to a desired location in your path.

Using CasioBoss
---------------

The syntax for running casio is:

CASIO <-r|-w> <commport> <baudrate> <file>

   where:

    -r is for  data from the CASIO to the PC. -w for the opposite direction

    commport: The PC's serial port that has to be used. Specify as COM1,
              COM2,COM3 or COM4 or simply as 1,2,3 or 4
	      (I plan to change this in the future to reflect Linux's
	       port naming convention)

    baudrate: Either 2400, 4800 or 9600 must be specified. Note that not
              all communication speeds are supported by all CASIO's and
	      that some CASIO's support other speeds; please let me
	      know what kind of speeds you'd like to see here.

    file:     The name of the file where the backup data are to be written
              to or read from.

The other communication parameters on the CASIO have to be set to 8N
ie 8 data bits and no parity.

e.g to read from casio at 9600 bps via com1 (ttyS1) to file thismonth

casio -r 1 9600 thismonth

to write the same file back to the casio via com2 at 4800 bps:

casio -w 2 4800 thismonth

Known Problems
--------------

I noticed at times that if i try to use the port which was just
used by the mouse via gpm i get transmission errors;
killing gpm doesnt help either -- the cleanest solution is to
reboot linux.


Availability:
-------------

Primary-site:	sunsite.unc.edu /pub/Linux/apps
		11kB casio-2.0.tar.gz
		1kB casio.lsm
Alternate-site:	tsx-11.mit.edu /pub/linux/apps
http: 


Feedback (Author):
------------------
1) When you run into problems: 
      i.edit casio.h and change debug to 1 
i.e the stament that reads "#define debug 0" should now
read "#define debug 1"

     ii. re-compile
    iii. run the casio program .. when done send me the debug file
	 (note this can be a huge file if the casio runs for a long
	  time)
2) For any other comments additional features you would like to see
etc please feel free to drop me a line.


--------
Jamal Hadi Salim
Ottawa, Canada
ad828@freenet.carleton.ca
January-15-1995
