PARallel CoPy  version 2.02beta (29.3.1997)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PARCP has been developed for fast copying files between two computers via
their parallel ports. It doesn't matter what the two computers are -
currently supported are Atari ST/TT/Falcon/compatible and PC 386+
(both unidirectional and bidirectional parallel ports).

Please note that PARALLEL PORT is usually the same as PRINTER PORT of your
machine.

For transferring files all you have to do is to make your own PARCP cable
(see CABLE.TXT), connect the two computers and run the PARCP program on
both computers.

***************************************************************************
Please excuse this poor documentation, I have no time for writting a better
one. Since I didn't want to delay the release of PARCP 2.01 I have released
it `as is', for testing purposes. Use it at your own risk!
***************************************************************************

Main features of PARCP 2.02 compared to PARCP 1.00:
===================================================

- a new, completely rewritten lowlevel handshake protocol. It should get
  rid of all problems with 'timeouts' sometimes known from PARCP 1.00.

- PARCP can send or receive whole directories with all their files

- multitasking operating systems (MiNT, MagiC, Linux or Windows95) are
  supported - especially long file names!

- when in idle mode the Server does NOT hog the CPU! You can freely start
  the PARCP Server in your Windows or Linux session and by simple drag&drop
  on Atari send the files to PC!! PARCP will NOT slow down your
  multitasking operating system when it doesn't copy files!

- more comfortable Client's shell (automatically recognizes the size of
  console, many switches can be set by commands or by environment variable)

- PARCP is fully written in `C', there are none assembler routines in it
  (yet). It's compiled by GNU C 2.7.2 on all three supported platforms
  (TOS, DOS and Linux).


Side effects of moving to GNU C compiler:
=========================================

A) possitive ones:
------------------

- unix filenames - including slash instead of backslash in path, unix
  wildcards (e.g. *?[A-Z]\")

- long filenames under all operating systems (Minix-fs, VFAT, ext2-fs)

- 99.9% compatibility - the same source code for 6 operating systems

- no problems with a licence of C compiler (GNU C is free :)

B) negative ones:
-----------------

- The GNU C for DOS (DJGPP 2.0) produces truly 32-bit code, thus you cannot
  use the executable on 80286 or even 8086. The 80386 or higher is a must
  for running PARCP.

- GNU C has a different style of assembler syntax which I haven't
  understand yet, so there is no assembler code in PARCP. That's why it's
  about fourteen times slower than PARCP 1.00.


Running PARCP:
==============

One computer will become PARCP Server and the other will be PARCP Client.
Server just sits and accepts commands from Client and sends or receives
files. Client offers you a powerful user interface very similar to a ftp
client (see below).

1) On an Atari:

   Atari Server: PARCP.TTP -s
   Atari Client: PARCP.TTP

   If you have an Atari computer with CPU 68030 or higher, you can use
   PARCP030.TTP instead of PARCP.TTP.

2) On a PC with DOS or MS-Windows:
   -u means you've got unidirectional parallel port and use UNI-BI HW adapter
   -p <number> indicate you want to use PARCP on parallel port <number>.

   DOS Server: PARCP.EXE -s -u
   DOS Client: PARCP.EXE -u

3) On a Linux-i386 box: please ungzip and untar the parcp.tgz file.
   You must be 'root' to be able to run these programs. The parameters
   are the same as for DOS version.

   Linux Server: parcp -s -p 2
   Linux Client: parcp -p 2


You can combine all three parameters: 'u' for UNI-BI HW adapter, 'p' for
parallel port number and finally 's' for Server.

PARCP 2.0 newly recognizes an environment variable with name "PARCPPAR".
All three parameters can be set by that variable, which is very very handy
if you use some options regularly. The command line options have higher
priority though.

For example if you run the PARCP Server in your Linux box with UNI-BI HW
adapter at second parallel port, you can set the PARCPAR variable to "sup2"
and then you need no command line options.

Other parameters on Client's command line are considered to be filenames
and the Client will try to send the named files. After sending the files it
sends a 'LQUIT' command, so the Server will stay and wait for another
PARCP session. Try drag&drop files on Client's icon with Server running on
other computer - it's so easy :)

When you start PARCP Server, it will wait infinitely for the PARCP Client
to connect. The waiting will NOT hog the CPU, the operating system will
report about zero load (the best news for users of multitasking OSes!).

After starting PARCP Client it tries to connect with PARCP Server. The
timeout is set to 10 seconds.


PARCP Client commands:
======================

PARCP Client user prompt >> HELP

 PARCP commands:

QUIT                 quit both Client and Server
LQUIT                quit only Client, Server wait for another session

PUT     template     send local files (from Client) to Server
GET     template     receive files from Server to Client
DIR     [template]   display file list on Server
LDIR    [template]   display local file list (on Client)
DEL     [template]   delete files on Server
LDEL    [template]   delete local files (on Client)

PWD                  print current working directory on Server
LPWD                 print current working directory on Client
CD      dir          change directory on Server
LCD     dir          change local directory (on Client)
MD      dir          make directory on Server
DRV                  display drives on Server
LDRV                 display local drives

HASH    [ON/OFF]     turn on/off hash marks (every 5000 bytes)
CASE    [ON/OFF]     turn on/off upper/lower-case sensitive matching
OVER    [ON/OFF]     turn on/off overwritting of existing files without asking
SUBD    [ON/OFF]     turn on/off sending whole subdirectory trees
PGLEN   [number]     length of view page

>>

I think it is very self explaining and if you know a FTP client, you need
not to continue reading. But some hints may be useful, so here follow:

- PUT sends files from PARCP Client to Server, GET does it the other way
  round.

- [template] in DIR and DEL commands is a file mask with Unix wildcards
  (e.g. 'par*[ch]')

- PGLEN sets the number of lines on your screen. The size of screen is
  detected automatically at startup, but you can change it any time later.
  PGLEN 0 disables "..more.." prompt completely.

- HASH can also be set by 'H' in PARCP environment variable "PARCPPAR".
  Similarly, hash marks can be disabled by 'h' in the $PARCPPAR.

- CASE can also be set by 'C' and unset by 'c' in $PARCPPAR.

- OVER can also be set by 'O' and unset by 'o' in $PARCPPAR.

- SUBD can also be set by 'D' and unset by 'd' in $PARCPPAR.

(sorry, I really have no time for better explanation, so simply try it out).


Batch processing:
=================
With current PARCP interface you can start thinking about your own shell.
For example in a decent command line shell (e.g. Mupfel or Okami) you can
do on client this input/output redirection:

PARCP <client.cmd >client.out

CLIENT.CMD is a plain text file with PARCP Client commands:

Example:
This simple .CMD file will put Server's directory listing to .OUT file.
---------cut-------
PGLEN 0
PWD
DIR
LQUIT
---------cut-------

I am sure you will write much better scripts for PARCP.


PARCP file transfer:
====================
Files are transferred by 5000 bytes long blocks. The transfer can be
interrupted any time by pressing CTRL-C.

PARCP doesn't check if the transfer has been errorless - I mean there's no
CRC. I'm considering to not include any check in future, because it would
slow things down. Maybe I'll make it switchable, but up to now it doesn't
seem to be important, because I have no problem with currupted files so
far. If you're afraid it could damage your files, compress it first with
e.g. LHArc and then decompress on the other computer.


Known bugs:
===========
Since it's a new version, there are none. If you find some, please report
them to me.


Author of PARCP and UNI-BI HW adapter:
======================================

	Petr Stehlik
	Pod Tlustou 5083
	CZ-760 01  Zlin
	Czech Republic

Fidonet   2:421/36
NeST      90:1200/0
Joy BBS   +420-67-7631375 (CM, 33600 bps)

E-mail:  stehlik@cas3.zlin.vutbr.cz
FTP:     ftp.zlin.vutbr.cz/pub/atari/parcp/parcp*lzh
         (usually also ftp.cnam.fr/pub/Atari/Telecomm/parcp*lzh)

If you can read Czech, don't hesitate to check our BIG hypertext guide
about Atari - JoyAIP (you can get it from places listed above).
