PARallel CoPy  version 1.00beta (31.12.1996)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PARCP is written for fast transferring many files between two computers on
their parallel ports. It doesn't matter what the two computers are -
currently supported are Atari ST/TT/Falcon/compatible and PC XT/AT/386+
(both unidirectional and bidirectional parallel ports).

I'm searching for an Amiga programmer who could help me with adapting PARCP
to Amigas. Until then you can use PC2Am for transferring files between PC
and Amiga (check ftp://k332.feld.cvut.cz/pub/local/lemming/PC2Am).

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.


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 has user interface very similar to a ftp client (see below).

1) On Atari:

   Server: PARCP.TTP -S
   Client: PARCP.TTP

2) On PC with unidirectional parallel port:
  -H means you use UNI-BI HW adapter

   Server: PARCP.EXE -H -S
   Client: PARCP.EXE -H

3) On PC with bidirectional parallel port 2:
   -P number means you use parallel port number.

Server: PARCP.EXE -P 2 -S
Client: PARCP.EXE -P 2

You can combine all three parameters: H for HW adapter, P for port number
and S for server.

When you start PARCP Client or Server, it will wait for the other side and
then connect. Well, sometimes it doesn't :) In that case, please rerun it
again, it will work for the second try. The connecting phase can be
interrupted by holding Shift (on Atari) or pressing Return (on PC).


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

PARCP Client user prompt >> HELP

 Client commands:

QUIT                      quit both Client and Server
LQUIT                     quit only Client, Server wait for another session
PUT     source   [dest]   source may contain *?, dest may be directory
GET     source   [dest]   source may contain *?, dest may be directory
DIR     [template]        display directory on server
LDIR    [template]        display local directory (on client)
PWD                       print current directory on server
LPWD                      print current directory on client
CD      dir               change directory on server
LCD     dir               local change directory
MD      dir               make directory on server
DEL     [template]        delete files on server
LDEL    [template]        delete local files (on client)
HASH                      turn on/off hash marks (every 50000 bytes)
PGLEN   number            length of 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 wildcards (e.g.
  PARCP*.LZH)

- PGLEN sets the number of lines on your screen. It is useful only for DIR
  command, where the file list scrolls on screen and stops every `PGLEN`
  lines with prompt ".. more.. (any/q)". If you press 'q' here, the dir
  listing will be cancelled. PGLEN is set to 25 by default. PGLEN 0 means
  no "..more.." prompt.


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 50000 bytes long blocks. The transfer can be
interrupted any time by holding Shift (on Atari) or pressing Return (on
PC).

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:
===========
Occasional timeouts are not dangerous, just annoying. I have been told that
with Atari-Atari sessions there are no problems, so it must be a hide
problem in PC source code. I keep trying to rewrite PC source to assembler
- then it will be easier to find the source of problem.

Other important and maybe interesting informations are stored in files
PARCPFAQ.TXT and HISTORY.TXT (please read them if you can).


Thanks and greetings go to:
===========================

- Michal Kara (lemming@k332.feld.cvut.cz) for important informations and
  ideas and also for source of his great PC2Am

- Ian D. Gay (gay@sfu.ca) and Petr Svoboda for idea of ftp client/server

- my betatesters (Mike De.Petris and others) and friends (people from
  68000.42 and other Atari mailing lists)


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

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

Fidonet   2:421/36
NeST      90:1200/2
Joy BBS  +42-67-7631375 (CM, V.34+, file request MAGIC PARCP)

E-mail:  stehlik@cas3.zlin.vutbr.cz
FTP:     ftp.zlin.vutbr.cz/pub/atari/parcp/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).
