[mod.amiga] Kermit, VT100, and Compress

walton@ametek.UUCP.UUCP (01/20/87)

In Info-Amiga Volume 2 #6, Michael Wagner asks about the case
translation and filename munging which occurs when transferring files
between UNIX and the Amiga.  He also asks some compress questions,
which I address and also add a few of my own.  I hereby offer a reply
which may be redundant, since Wagner's original message was posted to
USENET on 30 Dec.
   From the Kermit protocol manual, Sixth Edition, by Frank da Cruz:
"After stripping any pathname, convert the remainder of the file
specification to the form 'name.type' with no restriction on length
(except that it fit in the data field of the F packet), and: include
no more than one dot; not begin or end with a dot; the name and type
fields contain digits and uppercase letters."  C-Kermit's normal
behavior is to perform this conversion by replacing all special
characters (including extra dots) with the letter X on sending a file.
It also defaults to translating incoming file names to lower case on
receipt.  Both of these behaviors can be stopped using the SET FILE
NAME LITERAL command to C-Kermit, which I always invoke when talking
between my Amiga and C-Kermit.  You can also use SET FILE TYPE BINARY
to C-Kermit and "image" mode transfer on VT100 for a small increase in
efficiency of text file transfer, which will turn off the <LF> to
<CR><LF> to <LF> translation for end-of-line which would otherwise
occur.
    VT100 does no filename translation on receive except for the
conversion to lower case, which ought to be defeatable by option but
isn't.  In addition, VT100 versions 2.3 and 2.4 consistently crash my
Amiga upon exiting the program if I perform a Kermit file transfer
first.  For serious Kermit file transfer work, I generally use
C-Kermit itself on both ends.  Unfortunately, the Amiga version of
C-Kermit is quite large; the executable is 100+K long and doesn't even
include the DIAL and SCRIPT commands.  (The size may go down when it
is recompiled with Lattice 3.10 and BLINK; I believe my current
executable was produced with Lattice 3.04 and ALINK.)  What the world
really needs is a minimally functional, portable, and small version of
C-Kermit for small computers.
    On compress: it doesn't remove the old file when it creates the
new one, because the code assumes that unlink() is a unix-only call.
Since not all C compilers for all non-UNIX machines implement
unlink(), it's better to separate it out, I think.  Also, I think Fred
Fish considered the compress for the Amiga on disk 6 to be something
of a test version, and his docs recommend not throwing away the
uncompressed original until you're sure that the compression worked
OK.
   Now, I have some compress questions: I have never succeeded in
compressing a file on the Amiga and uncompressing it on a UNIX system;
has anyone else?  And has anyone gotten a working version of compress
compiled with Aztec C?  I know that you need the +D (large data)
switch because of the humongous external array, as well as -DAMIGA;
but as the mathematicians say, these conditions are necessary but not
sufficient.

Stephen Walton			ARPA:	ametek!walton@csvax.caltech.edu
Ametek Computer Research Div.	BITNET:	walton@caltech
610 N. Santa Anita Ave.		UUCP:	...!ucbvax!sun!megatest!ametek!walton
Arcadia, CA 91006 USA
818-445-6811