[comp.sys.amiga.introduction] MONTHLY POSTING: Frequently Asked Questions and Answers V1.2

ferry@chorus.fr (Ferry de Jong) (03/29/91)

I have received some mail from people saying that they don't like
left&right justified text. In order to find out what is generaly
prefered I invite you to send me mail telling me whether you want
it left&right justified (Like this document) or just left-
justified. Left-justified wins if they form >40% of the mail.

MONTHLY POSTING: Frequently Asked Questions and Answers V1.2 (April 1991)

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:
ferry@chorus.fr or ferry%chorus.fr@mcsun.eu.net


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.
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.8. On boot time on an AMIGA 2000 the first key pressed isn't read.
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 opt reset
everything should work normal again. NB. Use the setclock from  your  Work-
bench 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 AMI-
GA.

     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  perfor-
     mance?

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 cal-
culation  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  run-
ning when you are using a 68010. Keep this in mind.

            List of known programs that won't run with an 68010
                [none]
                         [Send updates to ferry@chorus.fr]

     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 in-
side. 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    Memory that is available and known to the system  as  you
power  on  the machine. This means that you don't have to execute a program
to let the operating system know this memory is available.
On the other hand

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.

Public RAM        [Good explanation needed.]

FAST RAM          is any RAM out of the reach of the custom chips.   It  is
known  as  FAST  RAM because code and data may be accessed by the CPU there
faster, as it does not have to deal with the bus contention in the CHIP RAM
addressing space.
On the

CHIP RAM bus, time has to be shared by both the processor  and  the  custom
chips.  If  the  custom chips are very active at a given time, the CPU must
wait for the bus to be free for it's use. [Some activities  of  the  custom
chips  can  'cycle  steal'  from the CPU, causing it to be forced to wait.]
Normally, the 680x0 on the Amiga only needs the bus every  alternate  clock
cycle in order to run full speed...thus the other cycles not used are taken
up by the custom chips. However, when the blitter is in use, or the  copro-
cessor  (COPPER), you see some of this cycle stealing. As a result, the CPU
can usually run quite close to full speed on the CHIP RAM bus, but there is
almost  always  some  activity which slows it down a bit. And of course any
heavy graphics use will cause considerable slowing if the CPU is forced  to
run code out of the CHIP RAM area.
Now, with FAST RAM on the system, the CPU can  generally  run  full  speed,
provided  the  code/data  being accessed is in FAST RAM, because the custom
chips cannot access this memory medium, and are not using it's bus.

32 bit RAM        There is no difference in the chips themselves.  What  IS
different  is  how  they  are accessed. On a 16 bit bus (16-bit memory), 16
bits of data can be operated on at one time  (transferred  about,  etc...).
The  32-bit  bus  can  work with 32-bits of data at a time. Thus if you are
running two different buses...on 16-bit and one 32-bit, the 32-bit bus  can
handle  more  data at a given interval (assuming appropriate processors for
each and equivalent bus speeds). This is handled at the interface logic and
bus level, not within the memory chips themselves.

RAM waitstates    You will run into having  to  have  wait  states  if  the
memory being utilized is slower than the speed at which the processor needs
it to come back. For instance, FAST RAM on the  A2000  (68000)  is  usually
rated  at  120-100ns...this is perfectly fine for zero-wait state operation
on that bus. The processor is incapable of "asking for" the data  any  fas-
ter.  Putting  80ns memory here would be a waste of money, as the processor
will not be able to access it any faster. [The processor/bus is running  at
a  certain speed. It will not speed up for faster memory]. Now, if you were
to put 200ns parts on a FAST RAM expansion board, you  would  have  to  put
some wait states into that.

FastMemFirst      Memory on the Amiga is prioritized.  Now,  normally  CHIP
RAM  is  given a priority on the system of -10. This is to insure it is not
used by programs requesting simply "I want a chunk of memory", and not say-
ing  "and  it  needs to be CHIP". This helps to prevent CHIP RAM from being
used for things which do not need to be there.
Now, FastMemFirst is special. On Amigas with 512KBytes  of  CHIP  RAM,  the
other 512KBytes which make up the 1 MByte std. complement is what is called
"SLOW-FAST" RAM. This is because, while the custom chips cannot use it,  it
is  still  subject  to the bus contention for CHIP RAM, as it is in fact on
that bus. [When you upgrade to the 1-MByte Agnus, this  "SLOW-FAST"  memory
is what becomes the other 512KBytes of CHIP RAM.] FastMemFirst is useful if
you have this "SLOW-FAST" memory, and also have true  FAST  memory  on  the
system.   What  it  does  is  place your "SLOW-FAST" memory at the same -10
priority as CHIP RAM. Since most true FAST RAM will default to  a  priority
of  0,  it places your true FAST RAM ahead of the CHIP and SLOW-FAST memory
on the memory lists. This is so programs which do not need to use CHIP  RAM
(and  a  program's actual CODE never does for the most part) will be placed
in you FAST RAM, and run somewhat faster. SLOW-FAST and CHIP will  only  be
used when either requested specifically by a program, or when your FAST RAM
is filled.

     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-Interaced 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 ESC.
     - HF stands for HFrequency.
     * Some early A1000's did not have ExtraHalfBrite. It is  easy  to  up-
     grade.
     * 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  re-
place the mouse. There is a list with changes for the following trackballs:
Atari 2600 trackballWico trackball
A file with the instructions can be FTP-ed from ab20.larc.nasa.gov  in  the
incoming/amiga/HARDWARE  directory.  If you don't have FTP access feel free
to send e-mail to  blgardne@javelin.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  yel-
low)  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  pro-
grams  (If possible with sources.) assembled by Fred Fish.  It is the larg-
est set of public-domain disks available for the AMIGA. You can  find  hun-
dreds  of  utilities  and games on these disks often with their sources in-
cluded.
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 Aquari-
um 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 follow-
ing sites:
                  Name           Address         Directory
            ux1.cso.uiuc.edu   128.174.5.59   amiga/fish/ff***
            etana.tut.fi       128.214.1.1

     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  pro-
duct 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  require-
     ments.  $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 spe-
cial  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 pro-
vide 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 es-
cape 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:" in-
stead of "PAR:" (plus make sure you have set up the serial interface  prop-
erly 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  informa-
tion.

     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 unusu-
al. 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) com-
munications 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",  be-
cause  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 instruc-
tions. This problem with xmodem can be one of the reasons a file you  down-
load 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 print-
ed 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 comput-
er  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  transla-
tion pairs:
                           uuencode <-> uudecode
                               btoa <-> atob
you will rarely see the latter, even though it is a few percent more  effi-
cient.

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 includ-
ing 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  al-
ways  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 us-
ing 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 com-
pound 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 be-
gin  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 arti-
cles.

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 (sub-
directory 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<----------
 ___  ___  ___   ___  _  _   _    _
(  _)(  _)(  ,) (  ,)( \/ )|( \/\/ )riting software takes twice as long
 ) _) ) _) )  \  )  \ \  / | \    /        as you expect it to take...
(_)  (___)(_)\_)(_)\_)(_/  |  \/\/     Even if you keep this in mind!
e-mail: ferry@chorus.fr or ferry%chorus.fr@mcsun.eu.net

jms@tardis.Tymnet.COM (Joe Smith) (03/31/91)

In article <8990@chorus.fr> ferry@chorus.fr writes:
>     1.7.    What is the difference between al these kinds of memory?

Here's how I would describe the various type of memory.
			--------------
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.

Fast RAM = Anything that is not Slow RAM.  This includes both Autoconfig
RAM and 32-bit RAM.  Programs run faster when the executable code is loaded
into Fast RAM, since the 68000 CPU is not competing with the custom chips.

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".

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

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 200000 and 9FFFFF, and usually comes in 2-meg, 4-meg, or 8-meg
sizes.  Memory boards for the A2000 are AutoConfig RAM.

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.

NoFastMem = 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 specify that
it needs 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.

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.
-- 
Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com
BT Tymnet Tech Services | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms
PO Box 49019, MS-C51    | BIX: smithjoe | CA license plate: "POPJ P," (PDP-10)
San Jose, CA 95161-9019 | humorous dislaimer: "My Amiga 3000 speaks for me."

theacct@bill.ucsc.edu (El hombre de pelo estranja) (03/31/91)

Kudos for your thorough definitions of the RAM types.


-- 
-----------------------------------------------------------------------------
Daniel Jalkut -- Amiga guy         | "And didn't I read that these devices
snozer@toast.santa-cruz.ca.us  /// |  go two way and everything I do or say
408-429-8628 -- Day           ///  |  is goin' on a tape somewhere right now
408-423-6926 -- Night       \XX/   |  planted in my cavities?"  -- LARD
-----------------------------------------------------------------------------

kpjeacle@unix1.tcd.ie (Karl Jeacle) (03/31/91)

In <1682@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes:

>Here's how I would describe the various type of memory.

>NoFastMem = 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 specify that
>it needs 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.

NoFastMem??? You mean FastMemFirst.
NoFastMem makes the Amiga think it has absolutely no Fast memory available.

>Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com
--
--//-------------------------------------------------------------------------
\X/   Fido: Karl.Jeacle @ 2:253/151                      kpjeacle@vax1.tcd.ie

phoenix@ms.uky.edu (R'ykandar Korra'ti) (03/31/91)

In article <1682@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes:
>NoFastMem = 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 specify that
>it needs 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.
     Ah, right definition, wrong programme. This definition is for
FastMemFirst. NoFastMem is a programme which removes Slow-Fast RAM
and Fast RAM from the system availability list, so that _all_ ram
allocations must come from Chip RAM. This is provided so that certain
old, "broken" programmes that do not properly allocate their Chip RAM
(i.e., which call for _any_ ram when they specifically need Chip RAM)
can continue to function on a machine with Fast RAM.
     Personally, I don't run programmes that do this. :-)
     I can tell this was a typo, but I thought I'd post anyway to get
the correction out ASAP. Very nice list otherwise, by the way...
                                                    - R'ykandar.

-- 
          R'ykandar Korra'ti | Editor, LOW ORBIT Science and Fiction
             "I hate you, you timepiece from Hades." - Plucky Duck
         phoenix@ms.uky.edu | editor@lorbit.UUCP | ukma!lorbit!editor

jms@tardis.Tymnet.COM (Joe Smith) (04/01/91)

In article <1991Mar31.153534.4535@ms.uky.edu> phoenix@ms.uky.edu (R'ykandar Korra'ti) writes:
>In article <1682@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes:
>>NoFastMem  ---  FastMemFirst
>     Ah, right definition, wrong programme.

Absolutely correct.  Due to a failure in associative memory the wrong
keyword was inserted.  That is, my brain doesn't work too well when
I've been up too long.  Thanks for pointing out the error.

-- 
Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com
BT Tymnet Tech Services | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms
PO Box 49019, MS-C51    | BIX: smithjoe | CA license plate: "POPJ P," (PDP-10)
San Jose, CA 95161-9019 | humorous dislaimer: "My Amiga 3000 speaks for me."

ferry@chorus.fr (Ferry de Jong) (06/03/91)

MONTHLY POSTING: Frequently Asked Questions and Answers V1.2 (June 1991)

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:
ferry@chorus.fr or ferry%chorus.fr@mcsun.eu.net


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.
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.8. On boot time on an AMIGA 2000 the first key pressed isn't read.
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 opt reset
everything should work normal again. NB. Use the setclock from your Work-
bench 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 AMI-
GA.

     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 perfor-
     mance?

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 cal-
culation 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 run-
ning when you are using a 68010. Keep this in mind.

            List of known programs that won't run with an 68010
                [none]
                         [Send updates to ferry@chorus.fr]

     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 in-
side. 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    Memory that is available and known to the system as you
power on the machine. This means that you don't have to execute a program
to let the operating system know this memory is available.
On the other hand

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.

Public RAM        [Good explanation needed.]

FAST RAM          is any RAM out of the reach of the custom chips.  It is
known as FAST RAM because code and data may be accessed by the CPU there
faster, as it does not have to deal with the bus contention in the CHIP RAM
addressing space.
On the

CHIP RAM bus, time has to be shared by both the processor and the custom
chips. If the custom chips are very active at a given time, the CPU must
wait for the bus to be free for it's use. [Some activities of the custom
chips can 'cycle steal' from the CPU, causing it to be forced to wait.]
Normally, the 680x0 on the Amiga only needs the bus every alternate clock
cycle in order to run full speed...thus the other cycles not used are taken
up by the custom chips. However, when the blitter is in use, or the copro-
cessor (COPPER), you see some of this cycle stealing. As a result, the CPU
can usually run quite close to full speed on the CHIP RAM bus, but there is
almost always some activity which slows it down a bit. And of course any
heavy graphics use will cause considerable slowing if the CPU is forced to
run code out of the CHIP RAM area.
Now, with FAST RAM on the system, the CPU can generally run full speed,
provided the code/data being accessed is in FAST RAM, because the custom
chips cannot access this memory medium, and are not using it's bus.

32 bit RAM        There is no difference in the chips themselves. What IS
different is how they are accessed. On a 16 bit bus (16-bit memory), 16
bits of data can be operated on at one time (transferred about, etc...).
The 32-bit bus can work with 32-bits of data at a time. Thus if you are
running two different buses...on 16-bit and one 32-bit, the 32-bit bus can
handle more data at a given interval (assuming appropriate processors for
each and equivalent bus speeds). This is handled at the interface logic and
bus level, not within the memory chips themselves.

RAM waitstates    You will run into having to have wait states if the
memory being utilized is slower than the speed at which the processor needs
it to come back. For instance, FAST RAM on the A2000 (68000) is usually
rated at 120-100ns...this is perfectly fine for zero-wait state operation
on that bus. The processor is incapable of "asking for" the data any fas-
ter. Putting 80ns memory here would be a waste of money, as the processor
will not be able to access it any faster. [The processor/bus is running at
a certain speed. It will not speed up for faster memory]. Now, if you were
to put 200ns parts on a FAST RAM expansion board, you would have to put
some wait states into that.

FastMemFirst      Memory on the Amiga is prioritized.  Now, normally CHIP
RAM is given a priority on the system of -10. This is to insure it is not
used by programs requesting simply "I want a chunk of memory", and not say-
ing "and it needs to be CHIP". This helps to prevent CHIP RAM from being
used for things which do not need to be there.
Now, FastMemFirst is special. On Amigas with 512KBytes of CHIP RAM, the
other 512KBytes which make up the 1 MByte std. complement is what is called
"SLOW-FAST" RAM. This is because, while the custom chips cannot use it, it
is still subject to the bus contention for CHIP RAM, as it is in fact on
that bus. [When you upgrade to the 1-MByte Agnus, this "SLOW-FAST" memory
is what becomes the other 512KBytes of CHIP RAM.] FastMemFirst is useful if
you have this "SLOW-FAST" memory, and also have true FAST memory on the
system.  What it does is place your "SLOW-FAST" memory at the same -10
priority as CHIP RAM. Since most true FAST RAM will default to a priority
of 0, it places your true FAST RAM ahead of the CHIP and SLOW-FAST memory
on the memory lists. This is so programs which do not need to use CHIP RAM
(and a program's actual CODE never does for the most part) will be placed
in you FAST RAM, and run somewhat faster. SLOW-FAST and CHIP will only be
used when either requested specifically by a program, or when your FAST RAM
is filled.

     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-Interaced 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 ESC.
     - HF stands for HFrequency.
     * Some early A1000's did not have ExtraHalfBrite. It is easy to up-
     grade.
     * 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 re-
place the mouse. There is a list with changes for the following trackballs:
Atari 2600 trackballWico 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 yel-
low) 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 pro-
grams (If possible with sources.) assembled by Fred Fish.  It is the larg-
est set of public-domain disks available for the AMIGA. You can find hun-
dreds of utilities and games on these disks often with their sources in-
cluded.
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 Aquari-
um 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 follow-
ing sites:
                  Name           Address         Directory
            ux1.cso.uiuc.edu   128.174.5.59   amiga/fish/ff***
            etana.tut.fi       128.214.1.1

     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 pro-
duct 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 require-
     ments.  $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 spe-
cial 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 pro-
vide 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 es-
cape 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:" in-
stead of "PAR:" (plus make sure you have set up the serial interface prop-
erly 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 informa-
tion.

     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 unusu-
al. 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) com-
munications 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", be-
cause 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 instruc-
tions. This problem with xmodem can be one of the reasons a file you down-
load 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 print-
ed 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 comput-
er 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 transla-
tion pairs:
                           uuencode <-> uudecode
                               btoa <-> atob
you will rarely see the latter, even though it is a few percent more effi-
cient.

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 includ-
ing 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 al-
ways 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 us-
ing 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 com-
pound 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 be-
gin 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 arti-
cles.

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 (sub-
directory 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<----------
Ferry de Jong
Two hundred<something> down, Twenty to go...     AND COUNTING

--
Ferry de Jong
Two hundred<something> down, Twenty to go...	AND COUNTING