koreth@ssyx.ucsc.edu (Steven Grimm) (05/10/89)
HOW TO UNPACK ARTICLES FROM COMP.BINARIES.ATARI.ST
by Steven Grimm
Last update: Mar 28, 1989
_1. _W_h_a_t _a_r_e _b_i_n_a_r_i_e_s?
Binaries are files that contain information other than
normal text. Usually, a binary that is posted to the net
will contain executable (program) files. Binaries are dis-
tinct from _s_o_u_r_c_e_s, which are the human-readable text files
that are interpreted by a computer and used to produce
binaries. Sources can be modified with relatively little
effort, and are usually pretty easy to read. Binaries are
not intended to be viewed by a human.
_1._1. _U_u_e_n_c_o_d_i_n_g
The programs which transfer network news messages (and
electronic mail) are not always capable of handling a pure
binary file. They are designed to handle textual messages,
and the odd symbols and characters in a binary cause them to
become confused, and often to mangle the binaries. To avoid
this problem, a method called _u_u_e_n_c_o_d_i_n_g is used. Uuencod-
ing translates a binary file into text characters, so that
the news and mail transport programs won't mess up. The
disadvantages are that uuencoded files are about 30% bigger
than the raw binary files they represent, and that you have
to go through one extra step to get the binaries to work on
your computer.
_1._2. _A_r_c_h_i_v_e_s _o_r "_a_r_c _f_i_l_e_s"
Usually, a program will need more than one file to work
properly. The extra files might be data files, help files,
or maybe some instructions for the user. In order to easily
package multiple files together in one binary file, a pro-
gram called "arc" (short for "archiver") is used. Arc also
compresses all the files as it packages them, so that the
arcfile take up less disk space (and takes less time to
download!) than it would if its contents were just thrown
together.
To confuse matters even more, a new archive program
called "zoo" can also be used to achieve the same effect.
Zoo is superior to arc in some respects, slightly inferior
in others. Unfortunately, you can't unpack a zoo archive
with arc, or vice versa.
Unpacking Binaries -2-
_1._3. _U_S_E_N_E_T _a_r_t_i_c_l_e_s
The USENET has groups designed especially for transmis-
sion of binary files. They are usually called something
like "comp.binaries.x," where x is the type of machine that
the programs will run on. For Atari ST owners, the group to
watch is comp.binaries.atari.st. Most of the binaries
groups (including the Atari binaries group) are _m_o_d_e_r_a_t_e_d,
which means that you can't send a program directly to every-
one on the network. Instead, you send it to someone in
charge of the group (the _m_o_d_e_r_a_t_o_r), who makes sure that
your program works and contains the proper documentation (or
that the lack of documentation is announced), and that it's
in the correct format to be sent out to the rest of the
USENET.
One of the restrictions of the USENET is that articles
can only be a certain length. If a binary is longer than
that, it must be split up into several parts, each no longer
than 45000 bytes or so. This introduces yet another obsta-
cle to people who want to transform the articles into a use-
ful form, but it can't really be helped until the USENET
starts running much more advanced news transmission
software.
USENET binaries are grouped into _v_o_l_u_m_e_s, each contain-
ing about 100 articles. This is to make life easier for
people who are trying to keep track of which articles have
been posted. When a new volume is started, the moderator
will usually post introductory articles, including a list of
previously published articles.
_2. _H_o_w _d_o _I _g_e_t _b_i_n_a_r_i_e_s?
There are three ways to get binaries: first, by reading
the USENET newsgroup comp.binaries.atari.st; you will see
new articles within a week (usually much less) of the time
they were sent out by the moderator. If, for some reason,
your site doesn't receive comp.binaries.atari.st, or if you
want to look through previously posted articles, site
ssyx.ucsc.edu has all the binaries stored in its archives.
If you are on the Internet, you can anonymous-ftp to ssyx
(128.114.133.1) and get whichever files you're interested
in. Talk to a system administrator at your site if you
aren't sure whether you can anonymous-ftp or not, or if you
need help doing it.
The third way to get binaries is to request them from
ssyx's archive server. The archive server is a program that
intercepts incoming mail messages and looks for commands
inside them. You can tell it to list the available
binaries, give you help, or send whichever files you're
interested in. The requested files will be mailed to you.
Unpacking Binaries -3-
To find out more about the archive server, send a mail
message containing the word "help" to archive-
server@ssyx.ucsc.edu. Talk to an administrator at your site
if that mail address doesn't work. If you don't get any
response from the archive server within a few days, some-
thing may be wrong; mail archive-manager@ssyx.ucsc.edu to
report the problem.
_3. _H_o_w _d_o _I _d_e_c_o_d_e _t_h_e _b_i_n_a_r_i_e_s?
As stated above, turning binaries from USENET articles
into a more useful form can be a multi-step process. At the
least, you will need the uudecode program; it is standard
software on most UNIX|- systems and is available in a couple
of forms on the Atari. Versions for other operating systems
do exist, and can certainly be written with little effort.
Arc is available for UNIX and other operating systems, but
is not standard software. In any case, you will want at
least arc on your Atari.
A version of uudecode written in ST BASIC is available
in ssyx's archives (see above). It is in volume 1 of the
comp.sources.atari.st directory (note that that's _s_o_u_r_c_e_s
and not binaries). Once you have that, you should get the
files "arc," "arcdoc," and "uucode" from volume 1 of the
binaries directory. They contain the arc program mentioned
earlier, its documentation, and a much better, faster ver-
sion of the uudecode program.
Use the BASIC program to uudecode the two encoded
files; then use arc to unpack the better version of
uudecode. (Arc is documented in "arcdoc.") Note that if
you're reading news/receiving mail on a computer (such as a
UNIX system) that already has uudecode, you can skip most of
this; you will probably just want to uudecode arc there,
then download it (using kermit, xmodem, or your favorite
transfer protocol - consult your site's administrator and
your Atari communication package's documentation for more
information. Remember to use binary mode when downloading
arc files!)
So far, everything has been small enough to fit in one
piece, but you will almost certainly want to try something
larger eventually. The Atari "uud" program (whose source
code, also suitable for compilation on UNIX systems, is
available in the sources archive) is capable of easily
decoding multi-part uuencoded files. Near the top of each
part (except the first) will be a line like
begin part c foobar.uac
_________________________
|- UNIX is a trademark of Bell Laboratories.
Unpacking Binaries -4-
Rename each file (except part 1, which can be named
"part01" or just about anything else) to the name at the end
of this "begin" line, in this case "foobar.uac". Then run
uud on the file containing part 1; it contains instructions
to cause uud to look for the other parts. If you have a
text editor or a UNIX style cat program, you can just stick
all the parts together in order and run uud on the resulting
(big) file; it will try to go on in the first file if it
can't find the next part in a separate file.
If you don't have uud or would prefer to decode your
binaries on your larger news computer, the procedure is
somewhat more complex. Plain vanilla uudecode doesn't know
about multi-part uuencoded files, so you have to fool it
into thinking that everything is in one part. First, stick
all the parts together (using cat on UNIX). Edit the
resulting file. Now remove all the extraneous lines of text
in between the parts -- this includes mail headers, any
text, lines of the form "include foobar.uad," "table" lines
and the lists of characters following them, and "begin"
lines other than the one at the beginning of part 1. Once
you have converted all the parts into a big uuencoded mass
(with no blank lines!), the regular uudecode program will
work.
Obviously, this is something of a hassle, and the
recommended procedure is to try to install uud on your large
computer. You'll usually want to minimize the amount of
data you have to send to your Atari, since you'll most
likely be downloading it at a relatively low speed, and the
uudecoded .arc file is the smallest thing you can download.
Zoo is available from the archives. It is simple to
use; refer to the documentation included in zoobin.arc (yes,
you need to use arc to extract zoo!) for more information.
The uudecoding process is the same for zoo and arc files.
Most archives contain documentation; refer to the
instructions in a specific program for usage information and
the like. If you have problems with a particular program,
send mail to the submitter (listed near the top of each
part.) The moderator doesn't have time to become very fami-
liar with all the programs that are posted, so the submitter
will probably be much more helpful.