[comp.sys.atari.st] UUENCODE on CMS

ZSR@PSUVM.BITNET (07/25/87)

I'd just like to say a few words about using UUENCODE on an IBM CMS
system (in case there are any people out there who were as frustrated
as I was up until a week ago).  For the longest time I was unable to get
any  programs that were transmitted through our IBM 3090 running CMS to
work correctly.  Usually I could UUDECODE them, but they always had CRC
check errors when de-ARCing them.  Well, through some snooping and
experimentation I finally found a workable solution to the problem.
     
The problem was two-fold.  The first problem came when the UUENCODED file
ended in a space (ASCII 0x20, EBCDIC 0x40).  It seems that the system
would truncate the trailing space at the end, terminating it with a
<CR><LF> combo.  This is fine for normal files in that it saves bytes,
but for this application it was unacceptable.  Some people attach a
lowercase letter at the end of the line to fix this problem, but it is
a pain to remove these locally (I don't have a filter for it).  What I do
while I'm in the CMS editor (XEDIT) is set the Logical Record Length to
61 (LRECL 61) and this seem to truncate the lines to the proper number of
columns.  I then replace all spaces in the file with a lowercase letter
(I use 'z' because few filenames have 'z's in them).  I suppose it would
be faster to just change the spaces in the last column to z's, but at the
moment this works.  The command (in XEDIT) to change all spaces to z's
is:  ALTER 40 z * *.  If you play around with one of the asterisks, I think
you can specify which column to change, or possibly use the CLOCATE command
with a REPEAT command.  The 40 is the EBCDIC code for a space.
     
The second problem is more of a nuisance.  It appears that EBCDIC does not
translate the carot (:, looks like an upside-down V if it doesn't display
one your screen--the system might screw it up in THIS file too!) correctly.
Instead it displays it as a tilde (^, a squiggle).  This is not a serious
problem as long as it is recognized and diagnosed.
     
Therefore, the fun and games I go through to transfer a file from our
CMS system to my ST (including decoding and such) are as follows:
     
1)  Obtain the file from USENET or ATARINET into my minidisk
2)  XEDIT the file then:
        a)  Set Logical Record Length to 61 (LRECL 61)
        b)  Change all spaces to 'z's (ALTER 40 z * *);
        c)  Save file and possibly back it up just in case
3)  Use CMS KERMIT to download file to my ST (running Uniterm 1.7b Kermit)
4)  Use First Word to 'massage the data' a bit:
        a)  Replace all lowercase 'z's with spaces
        b)  Replace all tildes (squiggles) with carots (upside-down V's)
5)  Save file (hopefully disk is big enough for file and .BAK file...)
6)  Use UUDECODE (by the way, I got mine from CompuServe.  It is
        approx. 900 bytes long and is LIGHTNING fast...the only problem is
        I'm not sure that it can do stuff like chaining multi-part files,
        removing comments, ignoring lower-case letters, etc.  But the speed
        is worth it.  Thanks to Moshe Branner, who I belive is the author).
7)  Use ARC to extract the files
     
I'm sure that with other UUDECODE programs some of this happy horsesh*t
could be eliminated, but I like my little one; it's fast and reliable.
     
I sure hope that I have helped others who were as baffled as I was about this
problem.  It's nice to be a part of the P.D. software community, and as soon
as I write something worthwhile, I'll attempt to upload it to share with those
who shared with me.
     
     
Christopher D. Johnson
The Pennsylvania State University
ZSR @ PSUVM.bitnet