Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!swrinde!tank.news.pipex.net!pipex!blackbush.xlink.net!zib-berlin.de!news.uni-ulm.de!news.belwue.de!news.uni-stuttgart.de!uni-regensburg.de!lrz-muenchen.de!informatik.tu-muenchen.de!kellerer
From: [email protected] (Ignaz Kellerer)
Newsgroups: comp.sys.amiga.introduction,comp.sys.amiga.misc,comp.sys.amiga.programmer,comp.answers,news.answers
Subject: Amiga FAQ (Frequently asked questions) (Part 1 of 4)
Supersedes: <[email protected]>
Followup-To: comp.sys.amiga.introduction
Date: 9 Apr 1996 16:00:25 GMT
Organization: InternetNews at TUM, Technical University of Munich, Germany
Lines: 899
Approved: [email protected]
Distribution: world
Expires: Sunday, 12 May 96 18:00:24 MESZ
Message-ID: <[email protected]>
Reply-To: [email protected] (Ignaz Kellerer)
NNTP-Posting-Host: hphalle3g.informatik.tu-muenchen.de
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Summary: Frequently asked questions on the Amiga.
        New users should read this!
Originator: [email protected]
Xref: senator-bedfellow.mit.edu comp.sys.amiga.introduction:9129 comp.sys.amiga.misc:118851 comp.sys.amiga.programmer:89232 comp.answers:18065 news.answers:69086

Posted-By: auto-faq 2.4
Archive-name: amiga/introduction/part1
Last-modified: Tuesday, 9. March 1996
Posting-Frequency: ever fourth week


     Frequently asked questions (FAQ) concerning the Amiga. [1/4]
     ------------------------------------------------------------

Below you find a list of frequently asked questions. It should especially
be for new users but perhaps experienced users may find something too.
This is part 1, the second begins with chapter 4, the third with chapter 5,
the fourth with chapter 7.

It is in Ascii format to be easily read by everyone. It is also available
in AmigaGuide, Dvi and html (for WWW servers) format as part of the Amiga-FAQ
archive. (File docs/misc/AmigaFAQ.lha on any Aminet site)

Please note the following:

 - Changes since the last posting are marked with a
       !       changed this line/section, respectively
       +       added this line
       <       removed something before this line

 - An index is at the bottom of part 4. If this still doesn't help:
   E-mail me, probably I can include an answer into the FAQ.

 - Suggestions, contributions, critics and beer bottles are very
   welcome. :-) Send them to:

           Ignaz Kellerer
           Georg-Habel-Str. 11
     81241 Muenchen (Germany)
           Tel. (+49) 089 / 885147

           Internet: [email protected]

===========================(Cut here)=========================================

 Amiga-FAQ
 *********

    This document lists some frequently asked questions and tries to
 give answers.  Its intention is to help new users and to reduce the
 amount of news that most experienced users don't like to read anymore.

    Please notice that there are many questions that aren't answered yet,
 even more: Whole sections that remain empty! I feel that I cannot give
 satisfying answers. So it's your turn: Fill the gaps and tell me what i
 should include into this document!


 Disclaimer

 1 CPU, Custom chips, RAM and other stuff
   1 What are 68EC020, 68EC030 and 68LC040?
   2 What's an FPU?
   3 Can I use a 3.5' HD in my A1200?

 2 The Operating System
   1 Can I use another Kickstart than the builtin?
   2 The Graphical User Interface
   3 What is MUI?
     1 Icon collections and Backgrounds
   4 What is the Amiga equivalent of . (Current directory)?
   5 The PIPE: queue-handler
     1 Using PIPE: in a standard AmigaShell environment
     2 The Pipe command
     3 Pipe command support in AmigaShell
     4 Quick usage guide
     5 Related things
     6 Troubleshooting
   6 ARexx, the program control language

 3 How about Graphics?
   1 What are chunky and planar displays?
   2 What is doublebuffering?
   3 What monitors will work on my Amiga 1200/4000?
   4 How do I switch between PAL and NTSC?

 4 Programming
   1 What documentation do I need as an Amiga programmer?
   2 What is CATS?
   3 Where do I get the Amiga includes?
   4 How do I become a developer?
   5 What compilers (assemblers) are there?
   6 Those never working Esc sequences!
   7 Is it possible to use AmigaBasic on the A1200?
   8 How do I localize my program?
   9 How to obtain a pointer to a console's window
   10 What are pragmas?
   11 My Compiler/Linker is complaining about missing symbol xxx.
   12 Where do I find the function xxx?
   13 The GNU C compiler: general information and installation
     1 Current Version
     2 Requirements
     3 Authors
     4 Sources for Gcc
     5 Inline Headers
     6 Amiga Libraries
     7 Installation
     8 Compiling
     9 How to get help

 5 Applications
   1 Text Editors
   2 What word processors are there?
   3 Desktop Publishing
   4 What is TeX and where can I get it?
   5 Are there any Postscript interpreters?
     1 Amiga Font Formats
     2 Frequently Requested Amiga Fonts
     3 Commercial Font Sources
     4 Non-Latin fonts on the Amiga
     5 Amiga Font Installation
     6 Amiga Font Utilities
     7 Making Outline Fonts
     8 Problems and Possible Solutions
   6 How to deal with Non-Latin texts?
     1 Japanese editors and viewers
     2 Chinese text viewers

 6 Connecting your Amiga to the world

 7 Emulators
   1 Can I run Unix on my Amiga?
   2 Is it possible to use the Amiga as X11 terminal?
   3 Is there a way to start MS-Dos programs?
   4 How to mount MsDos-formatted Syquests on Amiga

 8 Miscellaneous
   1 Is there any unix version of LhA?
   2 What are files ending with ...?
   3 Is there a Stacker-like utility to pack my hard drive?
   4 Where do I get Fish disk xxx?

 9 Where and how do I get software and other informations?
   1 Files and databases on freely distributable software
   2 A collection of tests
   3 Getting files from a FTP server
   4 Getting files from a Mail server
   5 Getting files from a mailbox
   6 The Fish PD series
     1 The Amiga Library disks
     2 The Fresh Fish CD-Roms
   7 How do I Read and write MS-Dos disks?
   8 How do I split large files?
   9 Discussing things
   10 Other FAQ's

 The Amiga-FAQ archive

 Contributions

 Credits

 Index



 Disclaimer
 **********

    This document is

      Copyright (C)  Ignaz Kellerer
                      Georg-Habel-Str. 11
                81241 Munich (Germany)
                      Tel. (+49) 089 / 885147
                      Internet: [email protected]

    Permission is granted to make and distribute verbatim and modified
 copies of this document following the terms of the "GNU General Public
 License" provided the copyright notice and this permission notice are
 preserved on all copies.

    The author gives *absolutely no* warranty that the answers given
 here are correct or usable. Many of them were contributed by other users
 and I cannot even make marginal checks. If you think that something
 should be changed, please tell me. Suggestions, contributions, new
 answers, critics, flames (oh, how I like this `nil:' :-) are rather
 welcome.  See Contributions.

 1 CPU, Custom chips, RAM and other stuff
 ****************************************

    This chapter contains questions concerning the Amiga-Hardware.

 1.1 What are 68EC020, 68EC030 and 68LC040?
 ==========================================

    Motorola, the company producing the 680x0 family offers crippled
 versions of their processors. They are a little bit cheaper than the
 originals, that's why Commodore decided to build the 68EC020 into the
 A1200 and the 68EC030 into the A4000/030.

    The difference between the 68020 and the 68EC020 is that the latter
 can address just 16Mb of memory. That's why the A1200 cannot have more
 that 10 Mb RAM. In most cases you will not notice the difference.

    This is not the case for the 68EC030: Many owners will notice that
 the 68030 has an MMU and the 68EC030 doesn't have. There are some
 important programs depending on an MMU, for example Enforcer (a
 debugging utility), GigaMem (a program to emulate virtual memory) or
 all current Unix versions (see Unix). Other Amigas than the A4000 and
 the A3000 need an additional processor card using a 68030 or 68040 or
 68060 to run these.

    Finally the 68LC040 is a 68040 without FPU. See FPU.

 1.2 What's an FPU?
 ==================

    The first 680x0 processors (upto 68030) could process integers only.
 Floating point operations had to be emulated by the software. An FPU is
 a chip (or part of a chip) that can process floating point operations, a
 mathematical coprocessor.

    One separates three FPU types on the Amiga: The 68881, 68882 and the
 68040's internal FPU. The 68882 is up to 1.5 times faster than the
 68881, because it is splitted in two parts: A conversion unit (the
 FPU's are using an 80 bit format internally) and the arithmetic unit.
 The 68040's internal FPU adds a pipeline, but misses the trigonometric
 instructions of the others. These are still emulated by the software,
 68040.library for example.

    Special programs (Raytracing, DTP, Mathematics, TeX) are offered in a
 special coprocessor version which are up to 50 times faster than the
 original versions.

    Michael Kaiser ([email protected])

 1.3 Can I use a 3.5' HD in my A1200?
 ====================================

    Many people would prefer to use a 3.5" instead of the smaller 2.5"
 drives as the former are much cheaper. This is possible, but you need a
 special cable to connect the drive to your IDE controller. Additionally
 you should put some isolating material between the drive and the main
 board. Some people report termic problems but I did not notice anything.

    Some dealers offer a set which contains the cable, isolating material
 and for about 20$. See the magazines for more information.

    Thomas Schuh ([email protected])

    If you are going to install an IDE-harddisk, regardless if 2.5" or
 3.5", you should always consider that the it may not work flawlessly,
 if the drive and ROM-version have not been tested and approved by
 Commodore. Regarding the A1200, one should also remember that this
 Amiga has not been designed to hold 3.5" harddisk drives. The 2.5"
 drives, which are mainly thought for portable computers, may have some
 advantages (for example in power consumption, heat emission or shock
 resistance) that could pay off because of the small keyboard case of
 the A1200 and the limited power supply. With the larger 3.5" drives,
 ventilation inside the computer might also be disturbed. If it is
 necessary to remove some shielding inside the A1200 to make the drive
 fit inside, even radio interference may occur.

    To sum it up: if 3.5" harddisk drives could really be used in the
 A1200 without any problems, you could be sure Commodore themselves
 wouldn't have used the slightly more expensive 2.5" drives in the
 A1200-HD.

 2 The Operating System
 **********************

    This chapter handles questions concerning the operating system,
 Kickstart as well as the Workbench.

 2.1 Can I use another Kickstart than the builtin?
 =================================================

    First let's drop some words on the Kickstart's Copyright: This
 belongs to Commodore, you *must not* use Kickstarts, without the right
 to do it!  Especially it isn't allowed to make an image of anyone
 else's Kickstart and run this on your own Amiga. (I even doubt that it
 is allowed to do this on your own Amigas, if you have more than one.)

    But of course it is possible and allowed for some people, developers
 for example.  There are two different ways, a hardware solution and a
 software solution.  The former is to buy a card which can hold two or
 more Kickstart ROMS and allows to select between when the System is
 booting.

    The software solution needs a program (softkicker) and an image of
 the ROM. The softkicker allocates RAM, loads the ROM image into the
 allocated memory and reboots. Of course you have less RAM after the
 Reboot: 256Kb when running Kickstart 1.2 or 1.3 and 512Kb for Kickstart
 2.0 or higher.

    There are different Softkickers, some of them needing a MMU (see
 68EC0xx). I recommend SKick 3.43 (Aminet, directory `util/boot')
 because it doesn't need a MMU and supports many different Kickstarts.
 It is rather easy to create the ROM image using the following program:

          #include <stdio.h>

          #define kickorig 0xf80000   /*  0xfc0000 for Kick 1.2 und 1.3   */
          #define kicklen  0x080000   /*  0x040000 for Kick 1.2 und 1.3   */

          void main(int argc, char*argv[])
          {
              FILE *fh;

              if ((fh = fopen("kickstart.file", "w"))  !=  NULL) {
                  result = fwrite(kickorig, kicklen, 1, fh);
              }
              fclose(fh);
          }

 2.2 The Graphical User Interface
 ================================

    Die standardm��ig mitgelieferte Oberfl�che "Workbench" ist nur die
 Grundlage zum Aufbau einer guten, angenehmen Oberfl�che.

    Zu diesem Zweck gibt es zahlreiche Tools, die den Anwendern das
 Leben erleichtern.  Einige von diesem findet man auf dem Aminet in den
 Verzeichnissen `util/#?/'.

 2.3 What is MUI?
 ================

    MUI is a set of shared libraries which are used to build a
 comfortable GUI (`Graphical user interface'). The general idea of MUI
 is that the programmer determines only the logical structure of the GUI
 and the look (Font, Size, Windows on Workbench, Public Screen, own
 Screen, ...) is determined by the user only. From the programmers point
 of view using MUI is simpler than `gadtools.library' but much more
 powerful. On the other hand MUI interfaces are slower than
 GadTools-Interfaces, especially on old 68000 machines.

    MUI is found in two archives, one for developers only and one for
 users. Source: Aminet, `dev/misc'.

 2.3.1 Icon collections and Backgrounds
 --------------------------------------

    The standard icons aren't beautiful, indeed.  But there do exist
 some beautiful icon collections.  I know of `MagicWB' and `NewIcons'.

    `MagicWB' is Shareware. The icons are drawn beautiful in pastel with
 every known trick. You also get a lot of good backgrounds which
 beautify workbench windows and MUI programs.  Fine and good readable
 fonts replace the clumsy topaz8 font.  You also get good icons for the
 ToolManager.  You can find a test version of MagicWB on Aminet.

    `NewIcons' is Freeware. The icons do have relative intensive colors
 and are drawn as three dimensional objects floating slanted in space.
 You can find NewIcons on Aminet, `util/wb/NewIcons.lha'.

 *F:*
      How do I turn off the "Gag" of MagicWorkbench (the intro which
      appears sometimes during booting)?

 *A:*
      In S: should be a file called `mti.data'. Delete it.

 *F:*
      How can I create NewIcons?

 *A:*
      The author of NewIcon currently works on an IconEd. Until then,
      Iconian 2.9x (I3) is the only way to create NewIcons.

 *F:*
      How can I prevent MagicWorkbench Icons to appear in incorrect
      colors?

 *A:*
      Register MagicWB 2.0, it contains a tool which patches the palette,
      or get one of the different tools from Aminet.

 *MagicColors*
 *ShoveColors*
      Its a good program, you can find it in Iconian, PictIcon or
      `Aminet:util/wb/').

 2.4 What is the Amiga equivalent of . (Current directory)?
 ==========================================================

    The AmigaDOS equivalent for the . representing the current directory
 on Unix and certain non-reentrant interrupt handlers is the empty
 string, which is written as "".

    Example:
          COPY S:Startup-Sequence ""

 copies your Startup-Sequence to the current directory.

    There is some FD software available to patch a Unix-like
 interpretation of . and .. into the AmigaDOS, including, but not
 limited to, Martin Scott's UnixDirs. (Aminet,
 `os20/util/UnixDirsII.lha' or Fish-disk 837)

    Arno Eigenwillig ([email protected])

 2.5 The PIPE: queue-handler
 ===========================

    In the AmigaOS release 2.04, a new handler for passing data between
 programs was introduced. This handler is called `L:Queue-Handler',
 better known as the `PIPE:' device.

    `PIPE:' implements a true `pipe' familiar from UNIX systems.  Its
 function is to pass the output of one program to another program as
 input. You can chain several programs together using multiple pipes.

    The advantages of using pipes are:
   1. No need for a lot of RAM to keep the temporary files, or, no need
      to slow things down by storing temporary files on the HD.

   2. Faster operation since the intermediate data doesn't need to be
      stored anywhere between programs.

    The `PIPE:' device differs from the UNIX pipes in two important
 respects:
   1. It is a device, so the input and output of the programs doesn't
      need to be a redirected standard output, although that is the
      general case. You can also use `PIPE:' instead of files, with two
      restrictions; you can not read a directory from `PIPE:', and the
      `PIPE:' `file' can not be `seeked' in.

   2. It does not support a flush operation. If all of the data written
      in a `PIPE:' device is not read out, it will stay there, buffered.
      Thus you must always `empty' a pipe before closing it.

   3. Because of the above, if unread data exceeds the size of the
      `PIPE:' internal buffer, the program writing to the pipe will
      `block' (that is, suspend operation) until the data is read. See
      below on how to manually flush a pipe.

    The PIPE: handler name syntax is `PIPE:name/bufsize/bufnum', where
 `name' is the name for the pipe channel. Using names you can have
 several simultaneous pipe operations. The optional arguments
 `bufsize'and `bufnum' specify the size and number of the buffers used
 by `PIPE:'. Normally, you would just use `PIPE:name'.

    The default buffer size of `PIPE:' is 4096 bytes, and the number of
 buffers (ie. channels) is unlimited.

    Osma Ahvenlampi ([email protected])

 2.5.1 Using PIPE: in a standard AmigaShell environment
 ------------------------------------------------------

    First, make sure `PIPE:' is mounted. You can do this by giving the
 command
          1> Mount PIPE:

 in a Shell window. On an AmigaOS 2.1+ system, `PIPE:' is normally
 mounted on startup by placing the mount entry file `PIPE' in the drawer
 `DEVS:DosDrivers'.

    In an AmigaShell window, give the commands:
          1> Run List SYS: >PIPE:Listoutput
          1> More <PIPE:Listoutput

 (1)

    These two commands list the contents of the `SYS:' volume to a pipe
 and then type it in the Shell window. You could also use:
          1> Run List SYS: NOHEAD >PIPE:Listoutput
          1> Run Sort PIPE:Listoutput PIPE:Sortedoutput
          1> More <PIPE:Sortedoutput

 Notice that you need to `Run' all the programs except for the last one.
 This is so that you can get them all running simultaneously. You could
 also use several Shell windows, or any other way of running all the
 programs at the same time. Also this might not work if `More' isn't the
 standard Commodore AmigaOS 2.04+ More found in `SYS:Utilities'.

    In case you need to manually flush a pipe, for example because the
 program that was reading from it aborts prematurely, it can be done
 with the command:
          1> Type PIPE:name TO NIL:

    ---------- Footnotes ----------

    (1)  Note that `1>' is the prompt AmigaShell gives when it is
 waiting for a command. The number varies, and the prompt can be
 customised to look completely different. It is not a part of the
 command.

 2.5.2 The Pipe command
 ----------------------

    As you can see, this is a somewhat difficult way of using pipes,
 needing a lot of typing especially compared to the UNIX pipes. There is
 a solution for that.

    Andy Finkel, a former Commodore software engineer wrote a command
 called `Pipe' (not to be confused with `PIPE:') that simplifies the use
 of the `PIPE:' device. Unfortunately, this command did not make it into
 the 2.04 release. However, Commodore has given the permission to
 distribute this, and a few other commands, freely. (Sources: Fish disk
 673, Aminet, `util/cli/finkelshelltools.lha')

    For some reason Commodore did not include these commands in the later
 OS releases, although they work fine even with OS 3.1 (V40). Thus all
 users are required to get them from the above sources if they wish to
 use them.

    The Pipe command usage is simple. The commands to be run with their
 inputs and outputs piped together are given as arguments to the
 command, separated by the | (vertical bar) character:

          1> Pipe List SYS: | More
              or
          1> Pipe List: SYS: NOHEAD | Sort IN: OUT: | More

 Notice how Sort needs `IN:' and `OUT:'. These devices don't actually
 exist, but the Pipe command simulates them with the PIPE:. This is
 necessary because C:Sort can not use the `standard IO', but insists on
 files.

    The separator character | can be configured to be something else
 with the local variable __PCHAR.

 2.5.3 Pipe command support in AmigaShell
 ----------------------------------------

    There is a little known and quite useful undocumented feature built
 in the 2.04+ AmigaShell, that is, AmigaShell knows about the `Pipe'
 command. By setting the local variable _PCHAR, you can use pipes
 without even entering the Pipe command. AmigaShell will prepend it on
 the command line automatically if it sees the pipe separator command
 specified by _pchar on the command line.

    Thus, after the command:
          1> Set _pchar "|"

 (1)

    the above examples can be used like this:
          1> List SYS: | More
              or
          1> List SYS: NOHEAD | Sort IN: OUT: | More

    Those familiar with the UNIX pipes will notice how the usage is very
 similar to the UNIX pipe usage.

    ---------- Footnotes ----------

    (1)  The quotes around the vertical bar are important, to avoid
 AmigaShell interpreting the command as an attempt to use PIPE:, if
 _PCHAR is already set (for example if the Shell is started from within
 another one).

 2.5.4 Quick usage guide
 -----------------------

   1. Get the ShellTools archive from the Fish disk 673, or from Aminet,
      `util/cli/hacks204.lha'.

   2. Install the commands in this archive in your Shell search path,
      preferably C:.

   3. Put the command `Set _pchar |' in your `S:Shell-Startup' file.

   4. Restart your AmigaShell so that it reads the `S:Shell-Startup'.

   5. Try `List SYS: | More'

   6. Read the ShellTools documentation and experiment.

 2.5.5 Related things
 --------------------

    The variable _mchar is used to separate one command from another in
 a shell line.  So, after the command:
          1> Set _mchar ";"
    you can put more shell commands into the same line, separated from
 each other by `;'.

 2.5.6 Troubleshooting
 ---------------------

 *Q:*
      When I try the command `List SYS: | More' I get an error
               PIPE: Unknown command

      I have `PIPE:' mounted, what's wrong?

 *A:*
      AmigaShell is referring to the command `Pipe' in the error, not the
      `PIPE:' device. You haven't installed the commands in the
      ShellTools archive.

 *Q:*
      I get a requester that says
               Please insert volume PIPE: in any drive

      when I try any of the command examples.

 *A:*
      `PIPE:' is not mounted. Try `Mount PIPE:'. If that doesn't work,
      refer to your AmigaDOS manual or a friend that knows how to mount
      devices.

 *Q:*
      When I try any of the examples the More window pops up but nothing
      is shown/I get an error afterwards/More pops up a file requester.

 *A:*
      You are not using the standard AmigaOS `More' command. Either use
      another name or install a command that supports pipes.
      Possibilities are the C= More, Less, or Most for example.

 *Q:*
      With use of PIPE:, sometimes characters get lost. What happened?

 *A:*
      Up to OS 3.1, the queue-handler has some bugs which don't allow a
      really foolproof transmission of data.  A compatible replacement
      for the queue-handler can be founbd on Aminet,
      `util/sys/HWGQueue.lha'.

 *Q:*
      None of these happen but it still doesn't work as you described.

 *A:*
      Are you using OS 2.04 later? Are you using the standard AmigaShell?
      Try with all extras disabled.

 2.6 ARexx, the program control language
 =======================================

 *Q:*
      I want to send an ARexx command through CLI or through a shell
      script, but that (rx ADDRESS PORTNAME;COMMAND) doesnt work.

 *A:*
      You have to put quotation marks. (rx "ADDRESS PORTNAME;COMMAND").
      It also prevents upcasing the portname when it should be lowercase.

 3 How about Graphics?
 *********************

    Graphics is one of the major strengths of the Amiga. Why don't we
 have more answers here? :-(

 3.1 What are chunky and planar displays?
 ========================================

    Simply put, the terms `chunky' and `planar' (short for `bitplanar')
 refer to different ways of storing graphics information in a computer's
 memory. They are rather easy to understand, as far as things go, but
 incredibly difficult to explain:

    Computer images are arranged as a grid of pixels, each of which can
 be thought of as a number representing the color number of the pixel,
 sort of like a paint-by-numbers scheme.  For example, here's a
 simplified example image, in four colors:

         00302132

    The Amiga stores this image in a `bitplane' mode. That is, it is
 represented by several planes of bits (binary digits, 1s or 0s). This
 is a four-color image, so each color number could be represented by two
 bits.  Therefore there are two bitplanes:

         00100110    Here's bitplane 0
         00101011    And here's bitplane 1
         --------    Now, let's add them up, binary style:
         00302132

    Which is the final image. If the image was in two dimensions, it
 would truly be composed of bit planes. However, I'd need three
 dimensions to show multiple bitplanes overlayed, and therefore for
 simplicity we're working in one dimension (which is all we need).

    Now, there's another way of storing this image.  How about if we
 localize the bit data in little chunks?

         00 00 11 00 01 10 11 01 = 00302132

    This is the principle of the `chunky' pixel mode.

    Both methods of image storage are perfectly logical, and no one can
 say that one is better than the other. However, there are certain
 technical aspects which cause certain advantages and disadvantages.

    First, if you've seen colored text scroll on your Amiga, you know
 there is a bit of "flicker" that arises. Specifically, what happens is
 that while the text is scrolling, its color temporarily changes to
 something completely different. What's happening is that the computer's
 moving several bitplanes of data while the raster (monitor electron
 gun) is sweeping across the screen. What that means is that, if the
 raster catches the data while it's being moved, you can end up with some
 bitplanes being moved and some not. What if we filled bitplane 1 in the
 example above with 0s? Instantly all the 3s become 1s, and the 2s
 become 0s! This is what causes "flicker" when certain colors are
 scrolled. By contrast, if a chunky pixel display is caught while
 scrolling, all we see is a partially-scrolled image; the colors are
 preserved (since their units are the small ones).

    That's a disadvantage to planar pixels, but what about chunky pixels?
 Well, recall that a computer organizes information in terms of 8 bit
 bytes. These groups are static; you cannot decide to all of a sudden
 organize data in terms of three bytes or something! Therefore, when
 using chunky pixels, things get complicated if we decide to use a
 nonconvenient number of bits per pixel. In practice, the 8-bit
 (256-color) mode, and 24-bit (16 million color) modes are the most
 common candidates for chunky pixel displays.

    Finally, certain effects can be accomplished with the different
 systems.  Bitplanar mode is particularly useful for things like shadows
 (where an extra bitplane is set with 1s instead of 0s), and chunky mode
 is great for perspective and "mapping" (since the data for each pixel is
 localized in a single "chunk"). The latter advantage makes chunky pixel
 mode really great for games, and is what made Wolfenstein 3-D possible.

    We all know that Amigas use the bitplane system for storing images.
 However, the Macintosh and PC(VGA) both use chunky pixel modes. While
 we can optimize our RAM usage with "bizarre" modes like 8- and
 128-color, they gain the advantages of non-flicker scrolling, and the
 programming simplicity of just writing a byte where you want the pixel
 to go.

    The difference between the two modes becomes problematic in things
 like emulation. EMPLANT has a "chunky to planar" routine which it uses
 to convert a Macintosh display into an Amiga one. "Chunky to planar"
 routines are also useful for getting chunky-inclined things to run on
 Amigas (see TMAPDemo, rotdemo). On a side note, there was some
 confusion as to what EMPLANT used the MMU for with regard to chunky to
 planar. The MMU itself is incapable of performing the algorithm for the
 conversion; rather, it is used to detect what portions of the display
 memory are updated from the Mac side, and therefore the processor is
 saved from having to perform the chunky to planar conversion for the
 entire display.

    I sincerely hope that helped clear up most of the mystery concerning
 the terms "Chunky" and "Planar"!

    (Joseph Luk, [email protected])

 3.2 What is doublebuffering?
 ============================

    Don't be ashamed if you haven't a clue as to what this is. It's
 rather simple, really. Imagine you wanted to animate something by
 drawing out each frame. Now imagine you had only one piece of paper.
 Even if you drew pretty fast, it would be difficult to see what the
 animation looks like because you'd have to erase the frame you just
 drew, in order to draw the next one!

    What if you had two pieces of paper? Why, then, you could see the
 difference between two adjacent frames. First you'd draw your first
 frame on the first piece of paper, then you'd draw the second frame on
 the other piece.  Then you'd erase the picture on the first piece of
 paper, and draw in the third frame. Then you'd erase the picture on the
 second piece of paper, and draw in the fourth frame, and so forth.

    This is the principle of doublebuffering. The computer shows you the
 picture it just drew, then turns around and draws the next one. It then
 swaps the picture in front of you with the one it just drew, and
 repeats the process. The result is a smooth animation, because you
 never need to see the computer draw; all you see is each finished
 product.

    (Joseph Luk, [email protected])

 3.3 What monitors will work on my Amiga 1200/4000?
 ==================================================

    Monitors can be classified after the horizontal scan frequency they
 require.  TVs, as well as C='s 1084 monitor, need frequencies around 15
 kHz. VGA/SVGA need approx. 30 kHz. Multisync monitors can take many
 frequencies.

    In short: You can use any monitor you want with an A1200. BUT:

    - If you use a regular VGA/SVGA monitor, you can only use a few
      display modes (like DblPAL, DblNTSC and/or Productivity). I.e.
      (320|640) x (256|512|1024) for DblPAL. This is great for Workbench
      and all "serious" utilities (DTP etc), but don't expect any games
      to work... they don't use your preferences, just take over the
      machine and assume a 15 kHz monitor. Also, you cannot utilize the
      "Early Startup Control" screen (you know, disable cache, and that
      stuff), which also requires a 15 kHz monitor. Furthermore, VGA
      monitors don't have speakers. And the VGA-type modes don't support
      Genlocks. But for a lot of "serious" work, a VGA monitor is quite
      adequate.

    - You already know what happens with a 15 kHz monitor; the
      flickering in Interlace mode. A small tip: Try to use NTSC instead
      of PAL. This increases the refresh rate from 25 Hz to 30 Hz, at
      the expense of lower vertical resolution (482 lines maximum). The
      NTSC and PAL modes aren't as bad as many people think. If your
      monitor has a lot of phosphorous (long afterglow), PAL Laced can
      be quite OK, and it gives you a resolution of 1448x566 in
      SuperHiRes. That's the highest resolution currently supported on
      AGA Amigas, in _any_ display mode.

    - A Multisync gives you the best of both worlds. The 1940 and 1942
      monitors from C= are quite OK, although rather cumbersome to
      use... The h/v size and offset must be set manually each time you
      switch display mode.  (1) The 1960 monitor doesn't have this
      problem, but it's a bit more expensive.

    For a VGA/SVGA or Multisync monitor, you'd need a little shiny box
 which gives you the standard 15-pin "D" connector. It costs around $15.

    There are other alternatives... like the "AmiVGA" box ($50 or so),
 which I think is a cheapo version of the Flicker Fixer. (But it's
 really a shame to use this on an AGA Amiga.)

    Also, you can get a VGA monitor, and hook up your TV to the
 composite or RF port on the Amiga - one monitor for games, one for
 serious stuff.

    (Per Espen Hagen, [email protected])

    ---------- Footnotes ----------

    (1)  A patch is available on Aminet for Kickstart 3.0 to do this
 without manual actions in the file `os30/util/Monitor30Patch.lha'.

 3.4 How do I switch between PAL and NTSC?
 =========================================

    PAL and NTSC are two different video standards, the former being
 European, and the latter being American. PAL has a slightly taller
 screen (256 lines non-interlaced, non-overscanned) as opposed to NTSC
 (200 lines), so if you see the bottom portion of a program's screen
 getting cut off on your American machine, chances are the program was
 written for PAL, and is running on your shorter NTSC screen. PAL and
 NTSC differences are somewhat less important to European users; since
 their machines default to PAL, running an NTSC program is no more than
 a minor annoyance having the screen only appear in the top portion of
 the display.

    Therefore, for us NTSC folks, switching into PAL mode becomes
 important to avoid loss of some picture on Euro Demos, etc.

    First, the most common misconception about switching between PAL and
 NTSC is that you need a Multiscan or special monitor for such a purpose.
 Not so! Just about any monitor can handle the minor signal difference
 between PAL and NTSC (50Hz vertical refresh versus 60Hz). The 108x,
 19xx, and 20xx series, and even most TVs, can display both PAL and NTSC.
 Sometimes it is necessary to perform minor tweaking of vertical hold
 and/or v. size on your monitor to achieve full display, though this is
 trivial.

    What IS needed to switch between PAL and NTSC in software, is a
 "Fatter" (1MB) Agnus or better. If your system has more than 512K of
 CHIP RAM (use the avail command to find out) you have this chip. If you
 do not, ou can still construct a hardware switch (see below).

    The following directions assume you're an NTSC user who wants to
 switch into PAL mode, but the procedure for going from PAL to NTSC is
 much the same.

    The most common use of switching into PAL is for self-booting games,
 demos, etc.  The best way to accomplish this on pre-3.0 systems is to
 use Chris Hames' Degrader program (most recent version: 1.30). Once you
 have procured this program, the switch is as simple as selecting
 "50Hz", and "50Hz System", then installing the program's ROMTag (little
 program that runs at boot-time) by pressing the "Survive Reset(s)"
 button.

    AmigaDOS 3.0 added a PAL/NTSC switch feature to its Boot Menu, and
 all you need to do in order to access this is hold down both mouse
 buttons as the computer boots. Select Display Options, Display
 Mode/PAL, and then Boot. If the program still fails to go into PAL mode
 (Zool is one I've found), you may wish to get Degrader anyway and try
 that.

    Software PAL/NTSC switching is easy and painless. Some people have
 gone even further by installing hardware PAL/NTSC switches. This
 results in a system which even the most nasty hardware-banging programs
 can't bring to its original configuration (if it has been switched).
 The procedure is simple - most Amigas have jumpers already - but beyond
 the scope of this document.

    Therefore, if your screen is too short or cut off, seek the different
 screen mode. You'll "see new horizons", literally!

    (Joseph Luk, [email protected])

    (1)

    ---------- Footnotes ----------

    (1)  PAL/NTSC switching with a MultiSync monitor is possible on 2.0+
 and easily accomplished by moving the PAL monitor type to (or NTSC, as
 applicable, I have them both in) the Devs/Monitors drawer (from the
 Storage/Monitors drawer), reboot, then go into the Prefs drawer and
 select the ScreenMode program. You will see at least two PAL modes
 available (PAL and PAL Interlaced). Simply select one of the (usually
 non-interlaced for demos) and select "Use". All windows on the Workbench
 will close, the video mode will change, and then the windows will
 reopen - that simple!

    Allen J. Newton, [email protected]