Part1 - Part2 - Part3 - Part4

Amiga FAQ (Frequently asked questions) (Part 1 of 4)


From: kellerer@informatik.tu-muenchen.de (Ignaz Kellerer)
Newsgroups: comp.sys.amiga.introduction, comp.sys.amiga.misc, comp.sys.amiga.programmer
Subject: Amiga FAQ (Frequently asked questions) (Part 1 of 4)
Date: 9 Apr 1996 16:00:25 GMT
Message-ID: <AmigaFAQ-1-829065624@informatik.tu-muenchen.de>
Reply-To: kellerer@informatik.tu-muenchen.de (Ignaz Kellerer)
Summary: Frequently asked questions on the Amiga.
         New users should read this!

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: kellerer@informatik.tu-muenchen.de

===========================(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: kellerer@informatik.tu-muenchen.de
  
     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 (kaiser@ira.uka.de)
  
  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 (thomas@stepout.tynet.sub.org)
  
     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 (arno@yaps.dinoco.de)
  
  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 (Osma.Ahvenlampi@hut.fi)
  
  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, jluc@eis.calstate.edu)
  
  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, jluc@eis.calstate.edu)
  
  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, per.e.hagen@ffi.no)
  
     ---------- 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, jluc@eis.calstate.edu)
  
     (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, anewton@alturia.abq.nm.us
  



Part1 - Part2 - Part3 - Part4


Send corrections/additions to the FAQ Maintainer:
kellerer@informatik.tu-muenchen.de (Ignaz Kellerer)

Last Update May 28 2010 @ 06:26 AM