Frequently Asked Questions and Answers V1.3.3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MONTHLY POSTING: Frequently Asked Questions and Answers V1.4.3(January 1992)

                  ** Last Changed: Dec. 31, 1991 **

Well with the change of the new year and the realease of 2.0, I think
its time for some new questions.  There is a new section I have added
to the list this month.  This is questions that will come under 2.0.
Sence I don't presently have 2.0 on my system, I will need some of you
to send me some.                                 Thanks,
                                        Jeff

This article contains a list of frequently asked questions and
answers. It is posted by me every month in
comp.sys.amiga.introduction.

Pay attention to the version number of this article. It indicates what
kind of changes are made to the contents compared to the previous
posting.

First number changed:
        New questions and answers added.
Second number changed:
        Answers to existing questions changed or updated.


If you have suggestions about this article, feel free to mail them to
me so I can improve this document. You can reach me by e-mail:
hychejw@infonode.ingr.com


I'd like to thank the following people for their contributions:
Kent Paul Dolan(xanthian@zorch.sf-bay.org)
        For sending several parts of information for this article.
Richard Gering(rgering@mentor.com)
Edwin Hoogerbeets(ehoogerbeets@watyew.uwaterloo.ca)
Mic Kaczmarczik(mic@emx.utexas.edu) UT Austin Computation Center
Jerry J Trantow(trantow@csd4.csd.uwm.edu)
Joe Smith(jms@tardis.tymnet.com)
        For his article in c.s.a.games about display modes, I used.
        And for his description of the Amiga's RAM Modes.
Dan Zerkle(zerkle@iris.eecs.ucdavis.edu)
Peter Kittel(cbmvax!cbmger!peterk@uunet.UU.NET)
        For the part about driving printers in AmigaBasic.

                              DISCLAIMER
Use the information in this posting at your own risk and cost.
All opinions expressed are mine, not necessarily those of my employer.


----------8<----------8<----------8<----------8<----------8<----------

              You can find answers to the following questions

                                 HARDWARE
1.1.  Why does my battery backup-ed clock not work properly?
1.2   What are the 8520's?
1.3.  What hardware is broken and can I repair it myself?
1.4.  During a boot or RESET the screen changes. What does this mean?
1.5.  Can I replace the 68000 with an 68010 to get a higher performance?
1.6.  What is the difference between the A2000 and the B2000?
1.7.  What is the difference between al these kinds of memory?
1.9.  What is done upon boot time?
1.10. What display modes are there?
1.11. How do I connect a trackball instead of a mouse to my amiga?
1.12. Can I change the speed of my battery-backup-ed clock?

                                 SOFTWARE
2.1.  Who is Fred Fish and what are the AmigaLibDisks?
2.2.  What is CATS and how do I become a developer?
2.3.  What are RKM's?
2.4.  How do I controll a printer from AmigaBASIC?

                               COMMUNICATION
3.1.  How can I exchange disks between a UNIX system and the AMIGA?
3.2.  How can I post articles if I'm not on usenet?
3.3.  How can I read the comp.sys.amiga.* newsgroups when I'm not on
usenet?
3.4.  How can I ftp by mail?
3.5.  What file transfer protocols are there for a modem?
3.6.  In what forms can files be transferred if I load them with my modem?
3.7.  How does ftp work and what is the contents of several sites?





                     Answers about HARDWARE questions.

     1.1.     Why does my battery backup-ed clock not work properly?

Symptoms:      1. Clock is several minutes/hours early/late.
               2. Clock is RESET to first day of the AMIGA's life.
               3. Clock can't be read from and written to.

The battery backup-ed clock draws its power during power-off of the AMIGA
from a small NiCd-battery.  There are two often occuring reasons for the
strange behaviour of the clock:

     1. The battery is (almost) empty. This should normally only happen
     after a very long power-off of the AMIGA. (Several weeks/months.)
     2. The battery is old and can't supply the clock with the voltage or
     current it needs to operate properly.

To solve the problem in the first case you should turn your AMIGA on for
several hours to allow the battery to recharge. After this you can set the
setclock command and everything should work OK.

The solution in the second case is to have the battery checked and replaced
by your AMIGA dealer.
In the third case your computer might be infected by a virus that puts some
date in the Clock memory that makes it no longer respond. If you execute
the command:
               setclock reset
everything should work normal again. NB. Use the setclock from your
Workbench V1.2, the V1.3 version might not work always.

     1.2.    What are the 8520's?

The 8520 is a chip inside the AMIGA. In the 500/1000/2000 there are two of
them. They are custom chips of the company that designed and built the
AMIGA.

     1.3.    What hardware is broken and can I repair it myself?

Symptoms:      Printer doesn't work properly anymore.
               Audio sampler produces one constant or random values.
               Modem doesn't work properly anymore.
               Joy-sticks seem not to be working.

All the previous mentioned devices are driven by the two 8520's in your
AMIGA. These are very delicate chips and history has proven that they are
very fragile. It might well be the case that one of them is broken. You can
check this by exchanging them inside your AMIGA. (They are both socket-ed.)
ONLY do this (Opening the AMIGA isn't allowed during the guarantee period!)
if you know what you are doing. If exchanging does make a difference one of
them is broken and you can replace the broken chip by a new one. You can
buy them only at certain places eg. at your dealer. They cost about $10,-
$15,- a piece.
If you don't want to repair the machine yourself, bring your computer to a
qualified repair company.

     1.4.    During a boot or RESET the screen changes. What does this
     mean?

To indicate problems detected within the hardware, the screen is changed to
one of the following colours: [See also question 1.9..]

        Colour     Diagnostic
      dark gray    Hardware OK
      light gray   Software OK
      blue         Bad Custom Chips
      green        Bad CHIP RAM
      red          Checksumerror ROM (Bad ROM)
      yellow       exception before a GURU-meditation could be given

     1.5.    Can I replace the 68000 with an 68010 to get a higher
     performance?

Yes, in general you can replace the 68000 with an 68010. It is an operation
that needs to be done with care because they are large chips and aren't
very easy to get out/in the socket.
NB Don't put the 68010 in the socked the wrong way around!
Don't expect to much performance increase. Only programs with a lot of
calculation might run a bit faster but the overall performance increase
will be less than 5%.

Because of bad programming there are several programs that will stop
running when you are using a 68010. Keep this in mind.

            List of known programs that won't run with an 68010
          Silkworm IV
                        [Send updates to presto!faq@uunet.uu.net]

     1.6.    What is the difference between the A2000 and the B2000?

Commodore in Braunschweig (Germany) has built the A2000 based on the AMIGA
1000. They added the slots and 512 KBytes RAM. This was done in order to
allow an XT-card inside the computer.
Later Commodore developed the B2000 which was based on the new hardware
also used in the AMIGA 500. It has 1 MByte of RAM and is prepared for 1
MByte of CHIP RAM.

Although the B2000 is different from the A2000, both are called Amiga-2000.
(Or even A2000.)  Both have the same case but are completely different
inside. Also, from a software point of view small differences might be
discovered.

     1.7.    What is the difference between al these kinds of memory?

These are the most common terms used that have to do with memory:

AutoConfig RAM = Expansion RAM that automatically identifies itself when
the Amiga is booted.  It is designed to fit into the 8-meg address space
between 0x200000 and 0x9FFFFF, and usually comes in 2-meg, 4-meg, or 8-meg
sizes.  Memory boards for the A2000 are AutoConfig RAM.  NonAutoconfig RAM
needs to be made available, which is usually done with programs like AddMem
and AddRAM. With these you are telling the OS where in the addressing space
the memory board can be found.

Fast RAM = Anything that is not Slow RAM.  This includes both Autoconfig
RAM and 32-bit RAM.  Fast RAM is out of range of the Amiga's custom chips
and can only be accessed by the Amiga's CPU.  Programs run faster when the
executable code is loaded into Fast RAM, since the 68000 CPU is not
competing with the custom chips.

Chip RAM = Memory that can be accessed by the Amiga's custom chips.  All
graphics images (screens, windows, sprites, etc) must be in Chip RAM to be
displayed.  Likewise, all audio samples must be in Chip RAM to be played.
On the original Amiga, only the first 512K bytes of memory could be
accessed by the custom chips.  Newer A500 and A2000 systems come with 1 meg
of Chip RAM, and the A3000 can be upgraded to 2 meg of Chip RAM.

Slow RAM = Alias for Chip RAM.  Anytime the custom chips need to access
Chip RAM, they have priority over the CPU's access to that memory.  In
particular, displaying a hi-res screen of 640x400x16-colors will lock out
the CPU about 80% of the time.

Slow-Fast RAM (aka C00000 RAM) = An unfortunate side effect in the original
A500 and A2000 implementations.  They came out with a "Fat Agnus" that only
knew how to talk to 512K, even when 1 meg of memory was installed.  This
2nd 512K was like Fast RAM in that it could not be used for graphics and
sound, however, it was just as slow as Chip RAM.  The A501 RAM/Clock card
for the A500 is Slow-Fast RAM on a machine without the "1-meg Agnus".

32-bit RAM = High speed memory mounted on a 68020 or 68030 processor
upgrade board.  It also applies to the Fast RAM on the A3000 motherboard,
and memory boards conforming to the Zorro-3 specification.  It allows the
32-bit CPU to access 32-bit quantities in a single memory cycle, instead of
as two 16-bit cycles.  Since one cycle is faster than two, the 68020 or
68030 CPU runs faster if it has 32-bit RAM available.  In most cases, 32-
bit RAM cannot be accessed by A2000-compatible DMA devices (such as disk
controllers) because Zorro-2 boards are limited to 24 address bits.

Expansion RAM = Additional memory, either AutoConfig RAM or AddMem RAM.

FastMemFirst = A program that optimizes things on an Amiga with a
combination of Chip RAM, AutoConfig RAM, and Slow-Fast RAM.  It rearranges
a system list such that when a program tries to allocate memory (and does
not explictly ask for Chip RAM or Fast RAM), the memory will be allocated
from Expansion RAM in preference to Slow-Fast RAM.  It keeps things running
faster longer.

AddMem RAM = Expansion RAM that is not known to the Amiga until the AddMem
(or similar) program is run.  Most memory boards for the A1000 are AddMem
RAM, since the AutoConfig process was not defined when the A1000 came out.

     1.8.    On boot time on an AMIGA 2000 the first key pressed isn't
     read.

This can be caused by the fact that the computer thinks that a special key
is being held down. E.g. CTRL or LEFT-A, in the last case the m and n
(LEFT-A n and m swap screens.) won't work. This can be solved by pressing
the CTRL or LEFT-A key yourself.
To permanently solve the problem it might be needed to adjust the computer
hardware. (Cutting two capacitors on the motherboard.)  Your dealer should
be able to help you with this.

     1.9.    What is done upon boot time?

The following things are done: [See also question 1.4..]
                 Clear Chips


                 Disable DMA and Interrupts
                 Clear the Screen
                 Check the Hardware
                 Pass or fail the Hardware to the Screen
                 Checksum the ROMs
                 Pass or fail the ROMs to the Screen
                 System setup
                 Check the for RAM at $C00000
                 Move SYS_BASE to $C00000 if it exists
                 RAM Test
                 Pass or fail the RAM to the Screen
                 Check the Software
                 Pass or fail the Software to the Screen
                 Set up the RAM
                 Link the Libraries
                 Find External RAM and link it to the list
                 Set up Interrupts and DMA
                 Start default Task
                 Check for 68010, 68020, and 68881
                 Check for an Exception
                 System Reset

     1.10.   What display modes are there?

          Mode              NTSC      PAL     E HF   #C
          Lores           320x200  320x256    - 15K   32 4096
  Lores-ExtraHalfBrite    320x200  320x256    * 15K   64 4096  (restricted)
        Lores-HAM         320x200  320x256    - 15K 4096 4096  (restricted)
          Hires           640x200  640x256    - 15K   16 4096
       Super-Hires        1280x200 1280x256   + 15K    4   64  (35 ns)
    Lores-Interlaced      320x400  320x512    - 15K   32 4096
  Lores-EHB-Interlaced    320x400  320x512    * 15K   64 4096  (restricted)
  Lores-HAM-Interlaced    320x400  320x512    - 15K 4096 4096  (restricted)
    Hires-Interlaced      640x400  640x512    - 15K   16 4096
 Super-Hires-Interlaced   1280x400 1280x512   + 15K    4   64  (35 ns)
     VGA-ExtraLores       160x480  160x480    + 31K   32 4096
        VGA-Lores         320x480  320x480    + 31K   16 4096
      Productivity        640x480  640x480    + 31K    4   64
VGA-ExtraLores-Interlaced 160x960  160x960    + 31K   32 4096
  VGA-Lores-Interlaced    320x960  320x960    + 31K   16 4096
 Productivity-Interlaced  640x960  640x960    + 31K    4   64
       A2024-10Hz         1008x800 1008x1024  - sp.    4   16  (gray)
       A2024-15Hz         1008x800 1008x1024  - sp.    4   16  (gray)

Notes:
     - E stands for Enhanced Chip Set (new Agnus + Denise)
     - HF stands for Horizontal Frequency.
     * Some early A1000's did not have ExtraHalfBrite. It is easy to
     upgrade.
     * The 2nd 32 colours of EHB mode are restricted. They are the same as
     the first 32 colours with the red, green, and blue values reduced to
     one half.
     * HAM mode (Hold And Modify mode) allows all 4096 colours to be
     displayed, but has restrictions affecting adjacent pixels of differing
     colours.

     1.11.   How do I connect a trackball instead of a mouse to my amiga?

With some modifications you can connect a trackball to your amiga to
replace the mouse. There is a list with changes for the following
trackballs:
Atari 2600 trackball          Wico trackball
A file with the instructions can be FTP-ed from ab20.larc.nasa.gov in the
/amiga/hardware directory.  If you don't have FTP access feel free to send
e-mail to blgardne@javelin.sim.es.com (Blaine Gardner), he is the "keeper
of the trackball hacks" and can send you (t)his list by e-mail. Make sure
to give him a working '@' style (Internet) address.

     1.12.   Can I change the speed of my battery-backup-ed clock?

Yes you can, on the printed circuit board is a small trimmer (Usually
yellow) that changes the clock-speed of the battery-backup-ed clock. Turn
it slightly to change the clock speed.
NOTE: This voids warranty, so only do this if you know what you are doing!

                     Answers about SOFTWARE questions.

     2.1.    Who is Fred Fish and what are the AmigaLibDisks?

The AmigaLibDisks are disks with public-domain software and shareware
programs (If possible with sources.) assembled by Fred Fish.  It is the
largest set of public-domain disks available for the AMIGA. You can find
hundreds of utilities and games on these disks often with their sources
included.
The contents of these disks can be found on the same sites mentioned in the
following paragraph, in the magazine Amazing Computing and with the
Aquarium database program (FishDisk #???).
These disks are available from Fred Fish (See postings in
comp.sys.amiga.announce.)  and are available by anonymous ftp on the
following sites:
           Name                  Address            Directory            Disks
 /amiga/fish/fz/ffxxx where
ux1.cso.uiuc.edu              128.174.5.59     amiga/fish/f#/ff***   (ff#059-ff530)
nic.funet.fi                  128.214.6.100    /pub/amiga/           (ff#001-470)
gatekeeper.dec.com            16.1.0.2         /pub/micro/amiga/     (ff#001-370)
isca.icaen.uiowa.edu          128.255.19.175   /amiga                (ff#001-450)

     2.2.    What is CATS and how do I become a developer?

CATS stands for Commodore Applications and Technical Support.
(CATS) provides technical support to Amiga developers.  This is provided
through a number of channels, including network suppport, phone support for
commercial developers, and technical documentation.

CATS-Admin
1200 Wilson Drive
West Chester, PA  19380

Ask for information on the developer support program if you want to become
an developer.
There are two developer levels, both require that you be working on a
product that you believe will make it to market.
Developer status includes a subscription to AmigaMail (our technical
newsletter), access to beta software, access to developers conferences, and
access to closed conferences on BIX.  Commercial status also includes phone
support.

     Certified Developer, $75/year, no phone support, no other
     requirements.  $25 signup cost.

     Commercial Developer, $450/year, phone support, requires that you have
     an existing product on the market. $50 signup cost.

     2.3.    What are RKM's?

RKM stands for ROM Kernel Reference Manual. The RKM's are part of a serie
of books describing the Amiga's Hardware and OS Software in detail. You can
buy (or order) them in any bookstore.

     Amiga ROM Kernel Reference Manual:  Libraries and Devices
     Addison Wesley, Dec 1989, ISBN 0-201-18187-8
     Amiga ROM Kernel Reference Manual:  Includes and Autodocs
     Addison Wesley, Jan 1989, ISBN 0-201-18177-0
     Amiga Hardware Reference Manual
     Addison Wesley, Sept 1989, ISBN 0-201-18157-6

     2.4.    How do I controll a printer from AmigaBASIC?

There are two ways the Amiga Operating System can access a printer:
a) via the printer driver you selected in Preferences
b) directly via the (parallel or serial) port driver without any
   driving software inbetween.
What does the printer driver in case a)? Two things: It translates the
special Amiga characters to character codes (plus control sequences) which
this 'special' printer understands, and secondly it translates all other
control sequences (for bold print, underline, but also for all graphics
output) to the language your printer speaks. Those control sequences for
bold print and those things are standardized on the Amiga, they are called
"ANSI sequences", and you should find them in an appendix of your user
manual (as well as in the official documentation, the ROM Kernel Manuals.
See question 2.3..). The idea behind this is that any application program
on the Amiga uses these ANSI sequences as standards, and as soon there is a
printer driver available for your special printer, all these applications
can use this printer. So the application programmer does not need to
provide hundreds of printer drivers with his program, but can simply build
on ONE standard.
How does all this affect AmigaBASIC? Well, the normal command to access a
printer is the LPRINT statement. This uses method a), the printer driver.
Thus it can talk to any printer of the world, if it comes with a printer
driver. But it only "understands" ANSI control sequences, and NOT those
escape sequences you find in your printer manual! LPRINT has also a not so
nice feature: If you have once used it in one program execution, then the
printer channel is occupied by it and can't be freed unless you END the
program regularly. (If your program breaks, it's a good idea to give an END
command by hand in the Output Window to reset this printer channel; else
every following access would result in an error.)

            So, the first recommendation is: DO NOT USE LPRINT!

But what else? You can access the printer in two ways: as device named
"PRT:" (like LPRINT via printer driver, but you can CLOSE it properly), or
as device "PAR:" (or "SER:", if connected to the serial port), where no
driver program gets into your way. You use the printer in this way if:
1. Output of normal text
OPEN "PRT:" FOR OUTPUT AS 1:PRINT#1,"your stuff": .. :CLOSE 1 This way you
are sure that every character is translated to the printer's alphabet (you
know we Germans have those umlauts...).
2. Output of standard control sequences (ANSI) Just like in 1., but with
those CHR$(27);"[1m"; like commands.  You need no extra OPEN to separate
this from normal text output.
3. Output of printer-own control sequences (Generally try to avoid this
whereever you can, because this program will be restricted to be used only
on this very brand of printer and will fail on any other one!)  If the
printer channel is already open from 1. or 2.:
CLOSE 1 : OPEN "PAR:" FOR OUTPUT AS 1 :  PRINT#1,CHR$(27);..; : .. : CLOSE
1
So, unlike the examples in the printer manuals, use PRINT# instead of
LPRINT!  If your printer is connected to the serial port, use "SER:"
instead of "PAR:" (plus make sure you have set up the serial interface
properly in Preferences).

                  Answers about COMMUNICATION questions.

     3.1.    How can I exchange disks between a UNIX system and the AMIGA?

The most common [and only?] way to exchange floppies between a UNIX machine
and the AMIGA is by writing them in MS-DOS format.

Programs and utilities for this are:

UNIX utilities:
     MTOOL          (Available via anonymous ftp at:)
          Name              Address                   Directory
   gatekeeper.dec.com    16.1.0.2        pub/comp.sources.misc/*11/*mtools/*
   cerl.cecer.army.mil   129.229.1.101   pub/mtools/* [Version 2.0.3]
     Usage:
     1) Log into a SUN 3/80 or SPARCstation and add the directory of mtools
     to your path:
                        set path = ($path [path to mtools]) ; rehash
     or                 PATH=$PATH:[path to mtools]

     2) Insert a floppy into the drive. To format the disk at high-density
     and install an MS-DOS file system on it, type:
                        mkdfs -f -h
     If you want to use a low-density 720K disk instead (what you normally
     want if you use if for AMIGA conversion), type:
                        mkdfs -f
     You only need to put a file system on the disk the first time you use
     it as an MS-DOS diskette; you definitely want to reformat the disk if
     it has previously been used for another filesystem.

     3) To copy files to and from a formatted and initialized floppy, use
     the mcopy program. For example, to copy the files file1, file2, and
     file3 to the root of the MS-DOS file system on the floppy, type:
                        mcopy file1 file2 file3 a:/
     To copy a single file on the MS-DOS floppy to your Unix directory,
     type:
                        mcopy a:/file1 .
     The data in the file is copied AS-IS, with no format translation; you
     can use the -t option to mcopy to translate text files into the MS-DOS
     notion of a text file, and vice versa.

     4) You can use the mdir command to list files on the MS-DOS floppy
                        mdir

     5) You can also remove files
                        mdel mdsos-filename

     6) To eject the disk, type:
                        eject [Not part of mtools but a SUNOS command.]


AMIGA utilities:
     Dos2dos:           (Available as a commercial product)
     CrossDos:          (Available as a commercial product US$40)

     This product allows you to mount drives as MSDOS and Amiga format and
     recognizes either. Comes with some TextFilters and other utilities.

     MSH(messydos):     (Available on FishDisk #382)

     This is a utility that gives you the needed files and programs so you
     can add a device to your Mountlist which makes any floppy drive use-
     able with MS-DOS formatted disks.

     3.2.    How can I post articles if I'm not on usenet?

You can send news to all seven main newsgroups (comp.* rec.* misc.* etc.)
by sending it to:

               news-group-name@ucbvax.berkeley.edu

where news-group-name is the groupname with the character '-' instead of
the '.'.
For example to send something to misc.forsale.computers, e-mail it with:

               mail misc-forsale-computers@ucbvax.berkeley.edu

At the moment it is not yet possible to send an article to the new created
newsgroups in comp.sys.amiga.*. Please be patient.
Note that these addresses should *not* be used for (un)subscribe messages.
[See question 3.3..]

     3.3.    How can I read the comp.sys.amiga.* newsgroups when I'm not on
     usenet?

You can (un)subscribe to an amiga newsgroup by sending e-mail to:

               news-group-name-request@ucbvax.berkeley.edu

where news-group-name is the groupname with the character '-' instead of
the '.'. And where the subject (and body) of the message contains the text
"subscribe" of "unsubscribe". (Without the quotes!)
For example to subscribe to comp.sys.amiga.introduction, e-mail it with:

               mail comp-sys-amiga-introduction-request@ucbvax.berkeley.edu

At the moment it is not yet possible to send an (un)subscribe request to
the new created newsgroups in comp.sys.amiga.*. Please be patient.

     3.4.    How can I ftp by mail?

If don't have ftp access you can send mail to a special server that
processes the ftp commands in your mail message and sends you back the
result, also in mail messages.  For an explanation send mail to:

               BITFTP@PUCC.Princeton.edu
With a subject line containing the text Help. This will send you
information.

{The server at Princeton now only accepts requests from people on BITNET.

For mail transfers, try FTPMAIL@decwrl.dec.com.  I don't know how fast or
reliable this server is however.  I sent mail to the server but haven't
gotten a reply yet.}


     3.5.    What file transfer protocols are there for a modem?

The absolutely simplest way for an executable file to come to you is in
raw, binary mode, exactly the file you want to execute. This is most
unusual. Normally they are converted [See question 3.6..].
To download such a file, you have to start getting concerned with the
method you use to download it, called the protocol, since many (most)
communications lines are not directly capable of transporting a raw binary
file. (They tend to use some of the possible bit combinations as control
signals for the line software and hardware.)

Here are some protocols your terminal program may support: ASCII, xmodem,
ymodem, zmodem, umodem, kermit. (There are others.)

ASCII protocol is used to transmit only printable characters. The eight
bits that form a character can represent decimal integer values from zero
to two hundred fifty five. The printable ones are the ones from 32 (space)
to 126 (tilda), plus the codes for tab, newline, and carriage return (the
latter only in older systems). This won't work for raw binary data, whether
your executable files or other kinds of binary.

The x,y,z,u-modem protocols are a family of ever more capable protocols,
which are capable (with some tricks you can ignore) of transmitting all 256
possible character values. One, xmodem, is not especially good for
transmitting executable Amiga programs, though. It is left over from the
days of the old CP/M operating system, when all files were allocated in
blocks of 128 bytes (characters), with a special code in the last block at
the correct point after the last data character (byte) to indicate the end
of file, and junk after that mark filling out the rest of the block. This
extra junk makes the Amiga executable program loader program "sick",
because it does "scatter loading" (puts parts of programs in parts of
memory that don't necessarily "touch"), and it tries to interpret the junk
(it doesn't know about the old CP/M file format) as scatter loading
instructions. This problem with xmodem can be one of the reasons a file you
download doesn't "work" after it is downloaded.
The next difficulty can come because these programs are written to do file
transfers among both MS-DOS and Unix computers. It happens that, for
printed text, many older systems, including the IBM-PC MS-DOS ones, use two
characters (carriage return, line feed) to indicate the end of a line,
while newer systems, including Unix and AmigaOS, use a single character
(now called "newline", but the same code as the old line feed) to indicate
the end of a line. To "simplify" transferring text files, the x,y,z,u-modem
and kermit transfer protocols automatically translate the two characters to
the one character when copying files between certain systems, and this
translation is the _default_ operation of these protocols. In each one, to
transfer an archive (below) or an executable file, you have to do whatever
is appropriate to the protocol to specify *binary* or *image* transfer
mode.

     3.6.    In what forms can files be transferred if I load them with my
     modem?

To make it easier to transfer files they might be stored in special ways.
For example with only printable characters. (For ASCII transfer.)  More
often several program are packed together in a special large archive to be
able to transfer them in one go.

Because so many older communications systems had trouble transferring raw
binary data, there are a couple of ways to translate raw binary files into
(bigger) printable files, move the printable files from computer to
computer until at the destination or the next host above it, and then
translate the printable data back to raw binary data. There are two common
translation pairs:
                           uuencode <-> uudecode
                               btoa <-> atob
you will rarely see the latter, even though it is a few percent more
efficient.

You can recognize a uuencoded (and now printable) file, often embedded in a
larger file such as a news article, by a first line like:

                            begin nnn filename

where "nnn" is some three digit octal number for the Unix file protection
bits to apply to the back-translated raw binary file, and "filename" is the
name the file should have when it is translated back to binary. Sometimes
there are two lines ahead of this one with the keyword "table" and some
characters that require special care when transporting a file from ASCII
machines to EBCDIC (IBM mainframe) machines, but again, except for
including it in what you pass to the uudecode program, you can ignore this
most times.

Where the uuencoded file is not part of a larger file, it will almost
always have a name ending in either "uu" or "uue" (depending on a minor
difference in which flavor of uuencode is used to create it - ignorable);
more on this below.

Three other considerations affect the way you find a file packaged.  First,
files contain lots of "redundant" information, which causes them to take up
a larger than necessary amount of storage space and transfer time. So
called "compression" programs attempt to squeeze files into less space
using various tricks. In almost every case, the output is a smaller, raw
binary file which is not executable. Common programs used to compress files
that you might want to transfer to the Amiga for your use are:

                          compress <-> uncompress
                                    arc
                                    zoo
                                   lharc
                                  lhwarp
                                  pkazip

Second, files often occur in groups, which should be kept together, such as
the source, documentation, executable, icon, data, and control files for
the same program. Many archive methods exist to group many small files into
one larger file. Ones you are likely to encounter trying to get software to
your Amiga are:

                              shar <-> unshar
                                    arc
                                    zoo
                                   lharc
                                  lhwarp
                                  pkazip

Third, groups of files often have some (tree shaped) file structure, just
like the directory of your disk, which you would like to preserve from
where the files are packaged in an archive to where they are unpackaged for
use. Archive methods that can recreate a directory structure that you will
encounter are:

                        shar <-> unshar (sometimes)
                                    zoo
                                   lharc
        lhwarp (it actually packages a whole floppy disk trackwise)

Moreover, combinations of the various packaging methods can be used; among
the most common combinations are:

FILES -> uuencode -> shar -> TRANSFER -> unshar -> uudecode -> USE

FILES -> shar -> compress -> TRANSFER -> uncompress -> unshar -> USE

FILES -> arc -a -> uuencode -> TRANSFER -> uudecode -> arc -x -> USE

FILES -> zoo a -> uuencode -> TRANSFER -> uudecode -> zoo e// -> USE

FILES -> lharc a -> uuencode -> TRANSFER -> uudecode -> lharc x -> USE

normally, shar files have names ending in .sh, compressed files in .Z,
compressed uuencoded files in .Z.uu (or .Z.uue), arced files in .arc, arced
uuencoded files in .arc.uu, (or rarely .auc), zooed files in .zoo, zooed
uuencoded files in .zuu, lharced files in .lzh, lharced uuencoded files in
.lzh.uu, lhwarped files in .lzw, and pkazipped files in .zip.

Since the uuencoded file includes the other file's name, sometimes the
compound names like .arc.uu are not used and just .uu is used instead.
So if you have one of the news articles with a uuencoded file in it, your
first step, on your host system, is to edit it and cut off the news article
header and any introductory material, and any signature file at the end. If
the file was published in several news articles (many comp.binary.amiga
file archives are), you have to trim the trash off all the articles, then
join the files that result into one file. On a Unix system, this is done by
saying something like:
     cat filename1 filename2 filename3 > wholefilename.uu
while on an Amiga, this would be done by saying:
     join filename1 filename2 filename3 as wholefilename.uu
instead.

When you have a file that starts with (the optional table and) a begin
line, and ends with an end line, you can then say, on a Unix system:
     uudecode wholefilename.uu
and it will create a file with whatever name and permissions are on the
begin line, while, if you have the Amiga uudecode program, it works just
the same, but the permissions are ignored (they're wrong for an Amiga).

While if the file was instead a shar file, you would have started with:
     unshar filename
perhaps after trimming off the news header depending upon how clever your
unshar program is. This is the usual way to do the comp.sources.amiga
articles.

If you are still on your host system, you will either have, if uudecoding,
created (normally) a .zoo or .lzh file, or, if unsharing, created a
(subdirectory tree) of files. If the latter, and your host site has zoo or
the Unix lharc patched for the Amiga, get in the top directory created
by/from the shar, and say either:
     find * -print | zoo aI somefilename.zoo
or
     lharc aA *
to make respectively a .zoo or .lzh archive of all the files.

Transfer it to your machine using one of y,z,umodem or kermit, in binary
mode.

Use the zoo or lharc program from the directory/disk where you want the
program files to live, like
     zoo e// pathtofile/somefilename.zoo
or
     lharc -x -m x pathtofile/somefilename.lzh
(for files packed on a Unix system, or

     lharc -a -x -m x pathtofile/somefilename.lzh
for files packaged on an Amiga).

You can find all of the programs and documentation for them on the Fred
Fish public domain software collection. [See question 2.1..]

     3.7.    How does ftp work and what is the contents of several sites?

For an explanation of ftp(1) see the UNIX manualpages. The basic operations
are:
  o 128.174.5.59 [Make connection with host 128.174.5.59]
  [asks for Name]anonymous
  [asks for passwd/Here you should type your e-mail address]myname@mysite
  binary [For transfering programs etc.]
  ls [Directory contents]
  cd newdirectory
  get filename [Copy the file to your machine.]
  close [End the connection with the other machine.]
  bye [Exit ftp.]

Remember that anonymous ftp is a service, use it only during off-work hours
or during week-ends.

A list of anonymous ftp sites with their contents is regularly posted in
comp.misc.
----------8<----------8<----------8<----------8<----------8<----------
-- 
         Pave the World!          // Jeff Hyche           
      One World, One People   \\ //  Usenet: hychejw@infonode.ingr.com
       One Slab of Asphalt     \X/   Freenet: ap255@po.CWRU.Edu


