home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / new / docs / misc / amigafaq / amigafaq.doc < prev    next >
Encoding:
Text File  |  1994-07-20  |  99.5 KB  |  2,295 lines

  1.   Amiga-FAQ
  2.   *********
  3.   
  4.      This document lists some frequently asked questions and trys to give
  5.   answers.  Is intention is to help new users and to reduce the amount of
  6.   news that most experienced users don't like to read anymore.
  7.   
  8.      Please notice that there are many questions that aren't answered yet,
  9.   even more: Whole sections that remain empty! I feel that I cannot give
  10.   satisfying answers. So it's your turn: Fill the gaps and tell me what i
  11.   should include into this document!
  12.   
  13.  
  14.   Disclaimer
  15.  
  16.   1 CPU, Custom chips, RAM and other stuff
  17.     1 What are the 68EC020 and the 68EC030?
  18.     2 What's an FPU?
  19.  
  20.   2 The Operating System
  21.     1 Can I use another Kickstart than the builtin?
  22.     2 What is the Amiga equivalent of . (Current directory)?
  23.  
  24.   3 Programming
  25.     1 What documentation do I need as an Amiga programmer?
  26.     2 What is CATS?
  27.     3 Where do I get the Amiga includes?
  28.     4 How do I become a developer?
  29.     5 What compilers (assemblers) are there?
  30.     6 Those never working Esc sequences!
  31.     7 Is it possible to use AmigaBasic on the A1200?
  32.     8 How do I localize my program?
  33.     9 How to obtain a pointer to a console's window
  34.     10 What are pragmas?
  35.     11 My Compiler/Linker is complaining about missing symbol xxx.
  36.     12 Where do I find the function xxx?
  37.  
  38.   4 Applications
  39.     1 Text Editors
  40.     2 What word processors are there?
  41.     3 Desktop Publishing
  42.     4 What is TeX and where can I get it?
  43.     5 Are there any Postscript interpreters?
  44.  
  45.   5 How about Graphics?
  46.     1 What are chunky and planar displays?
  47.     2 What is doublebuffering?
  48.     3 What monitors will work on my Amiga 1200/4000?
  49.     4 How do I switch between PAL and NTSC?
  50.  
  51.   6 Emulators
  52.     1 Can I run Unix on my Amiga?
  53.     2 Is it possible to use the Amiga as X11 terminal?
  54.  
  55.   7 Miscellaneous
  56.     1 Is there any unix version of LhA?
  57.     2 What are files ending with ...?
  58.     3 Is there a Stacker-like utility to pack my hard drive?
  59.     4 Where do I get Fish disk xxx?
  60.     5 What is MUI and where do I find it?
  61.  
  62.   8 Where and how do I get software and other informations?
  63.     1 Files and databases on freely distributable software
  64.     2 A collection of tests
  65.     3 Getting files from a FTP server
  66.     4 Getting files from a Mail server
  67.     5 The Fish disks
  68.       1 The Amiga Library disks
  69.       2 The Fresh Fish CD-Roms
  70.     6 How do I Read and write MS-Dos disks?
  71.     7 How do I split large files?
  72.     8 Discussing things
  73.     9 Other FAQ's
  74.  
  75.   The Amiga-FAQ archive
  76.  
  77.   Contributions
  78.  
  79.   Credits
  80.  
  81.   Index
  82.  
  83.  
  84.  
  85.   Disclaimer
  86.   **********
  87.   
  88.      This document is
  89.   
  90.        Copyright (C)  Jochen Wiedmann
  91.                        Am Eisteich 9
  92.                  72555 Metzingen (Germany)
  93.                        Tel. 07123 / 14881
  94.                        Internet: wiedmann@mailserv.zdv.uni-tuebingen.de
  95.   
  96.      Permission is granted to make and distribute verbatim and modified
  97.   copies of this document following the terms of the "GNU General Public
  98.   License" provided the copyright notice and this permission notice are
  99.   preserved on all copies.
  100.   
  101.      The author gives *absolutely no* warranty that the answers given
  102.   here are correct or usable. Many of them were contributed by other users
  103.   and I cannot even make marginal checks. If you think that something
  104.   should be changed, please tell me. Suggestions, contributions, new
  105.   answers, critics, flames (oh, how I like this `nil:' :-) are rather
  106.   welcome.  See Contributions.
  107.   
  108.   1 CPU, Custom chips, RAM and other stuff
  109.   ****************************************
  110.   
  111.      This chapter contains questions concerning the Amiga-Hardware.
  112.   
  113.   1.1 What are the 68EC020 and the 68EC030?
  114.   =========================================
  115.   
  116.      Motorola, the company producing the 680x0 family offers crippled
  117.   versions of their processors. They are a little bit cheaper than the
  118.   originals, that's why Commodore decided to build the 68EC020 into the
  119.   A1200 and the 68EC030 into the A4000/030.
  120.   
  121.      The difference between the 68020 and the 68EC020 is that the latter
  122.   can address just 16Mb of memory. That's why the A1200 cannot have more
  123.   that 10 Mb RAM. In most cases you will not notice the difference.
  124.   
  125.      This is not the case for the 68EC030: Many owners will notice that
  126.   the 68030 has an MMU and the 68EC030 doesn't have. There are some
  127.   important programs depending on an MMU, for example Enforcer (a
  128.   debugging utility), GigaMem (a program to emulate virtual memory) or
  129.   all current Unix versions (see Unix). Other Amigas than the A4000 and
  130.   the A3000 need an additional processor card to run these.
  131.   
  132.      Finally the 68LC040 is a 68040 without FPU. See FPU.
  133.   
  134.   1.2 What's an FPU?
  135.   ==================
  136.   
  137.      The first 680x0 processors (upto 68030) could process integers only.
  138.   Floating point operations had to be emulated by the software. An FPU is
  139.   a chip (or part of a chip) that can process floating point operations, a
  140.   mathematical coprocessor.
  141.   
  142.      One separates three FPU types on the Amiga: The 68881, 68882 and the
  143.   68040's internal FPU. The 68882 is up to 1.5 times faster than the
  144.   68881, because it is splitted in two parts: A conversion unit (the
  145.   FPU's are using an 80 bit format internally) and the arithmetic unit.
  146.   The 68040's internal FPU adds a pipeline, but misses the trigonometric
  147.   instructions of the others. These are still emulated by the software,
  148.   68040.library for example.
  149.   
  150.      Special programs (Raytracing, DTP, Mathematics, TeX) are offered in a
  151.   special coprocessor version which are up to 50 times faster than the
  152.   original versions.
  153.   
  154.      Michael Kaiser (kaiser@ira.uka.de)
  155.   
  156.   2 The Operating System
  157.   **********************
  158.   
  159.      This chapter handles questions concerning the operating system,
  160.   Kickstart as well as the Workbench.
  161.   
  162.   2.1 Can I use another Kickstart than the builtin?
  163.   =================================================
  164.   
  165.      First let's drop some words on the Kickstart's Copyright: This
  166.   belongs to Commodore, you *must not* use Kickstarts, without the right
  167.   to do it!  Especially it isn't allowed to make an image of anyone
  168.   else's Kickstart and run this on your own Amiga. (I even doubt that it
  169.   is allowed to do this on your own Amigas, if you have more than one.)
  170.   
  171.      But of course it is possible and allowed for some people, developers
  172.   for example.  There are two different ways, a hardware solution and a
  173.   software solution.  The former is to buy a card which can hold two or
  174.   more Kickstart ROMS and allows to select between when the System is
  175.   booting.
  176.   
  177.      The software solution needs a program (softkicker) and an image of
  178.   the ROM. The softkicker allocates RAM, loads the ROM image into the
  179.   allocated memory and reboots. Of course you have less RAM after the
  180.   Reboot: 256Kb when running Kickstart 1.2 or 1.3 and 512Kb for Kickstart
  181.   2.0 or higher.
  182.   
  183.      There are different Softkickers, some of them needing a MMU (see
  184.   68EC0xx). A nearly perfect solution seems to be `kick13' (Aminet,
  185.   directory `util/misc') because it has the ROM image included. (With
  186.   Commodores agreement!) For newer Kickstarts I recommend SKick 3.43
  187.   (Aminet, directory `os20/util') because it doesn't need a MMU and
  188.   supports many different Kickstarts. It is rather easy to create the ROM
  189.   image using the following program:
  190.   
  191.            #include <stdio.h>
  192.        
  193.            #define kickorig 0xf80000   /*  0xfc0000 for Kick 1.2 und 1.3   */
  194.            #define kicklen  0x080000   /*  0x040000 for Kick 1.2 und 1.3   */
  195.        
  196.            void main(int argc, char*argv[])
  197.              { FILE *fh;
  198.        
  199.                if ((fh = fopen("kickstart.file", "w"))  !=  NULL)
  200.                  { result = fwrite(kickorig, kicklen, 1, fh);
  201.                  }
  202.                fclose(fh);
  203.              }
  204.   
  205.   2.2 What is the Amiga equivalent of . (Current directory)?
  206.   ==========================================================
  207.   
  208.      The AmigaDOS equivalent for the . representing the current directory
  209.   on Unix and certain non-reentrant interrupt handlers is the empty
  210.   string, which is written as "".
  211.   
  212.      Example:
  213.            COPY S:Startup-Sequence ""
  214.   
  215.   copies your Startup-Sequence to the current directory.
  216.   
  217.      There is some FD software available to patch a Unix-like
  218.   interpretation of . and .. into the AmigaDOS, including, but not
  219.   limited to, Martin Scott's UnixDirs. (Aminet,
  220.   `os20/util/UnixDirsII.lha' or Fish-disk 837)
  221.   
  222.      Arno Eigenwillig (arno@yaps.dinoco.de)
  223.   
  224.   3 Programming
  225.   *************
  226.   
  227.      This chapter handles problems arising for programmers and
  228.   compiler-users only.
  229.   
  230.   3.1 What documentation do I need as an Amiga programmer?
  231.   ========================================================
  232.   
  233.      The best information available are the RKMs (ROM Kernel Manuals), 3rd
  234.   edition, by Commodore, published by Addison-Wesley:
  235.        The Amiga ROM Kernel Manual:  Libraries, ISBN 0-201-56774-1
  236.        The Amiga ROM Kernel Manual:  Devices, ISBN 0-201-56775-X
  237.        The Amiga ROM Kernel Manual:  Includes and Autodocs, ISBN
  238.                                                             0-201-56773-3
  239.        The Amiga Hardware Manual, ISBN 0-201-56776-8
  240.        The Amiga User Interface Style Guide, ISBN 0-201-57757-7
  241.   
  242.   Especially the RKM: Libraries is a must. The RKM: Includes and Autodocs
  243.   isn't that much worth: Better get the same stuff on disk instead to
  244.   have it online.  See Includes.
  245.   
  246.      AmigaDOS isn't included in these books. The Autodocs give much
  247.   information, but to go deeper you probably need
  248.        The AmigaDOS Manual, 3rd Edition, ISBN 0-553-35403-5
  249.      published by Bantam Books.
  250.   
  251.      A better choice for developers is
  252.        The Amiga Guru Book
  253.   
  254.   by Ralph Babel. The book starts with a survey on different aspects of
  255.   programming the Amiga. (About 250 pages) Useful for beginners are the
  256.   sections on the Amiga's data types (not to be confused with the 3.x
  257.   DataTypes used by MultiView, for example), the Includes and the
  258.   amiga.lib. But even experienced programmers will find useful things
  259.   here that are missing in the RKMs.  But the largest part are about 500
  260.   pages on AmigaDOS and, as I think, the most important, because AmigaDOS
  261.   is the worst officially documented part of the OS. The book is rather
  262.   concise and hence not as easy to read as the RKMs, but I recommend it
  263.   as an addition and instead of the AmigaDOS manual.  (Not, however, a
  264.   replacement for the Libraries and Devices, which aren't covered here.)
  265.   Unfortunately the book has no ISBN and is available in special stores
  266.   only. But there are some mail order companies which offer it for about
  267.   50$ and which accept credit cards:
  268.   
  269.        Hirsch & Wolf OHG; Mittelstrasse 33; D-56564 Neuwied; Germany
  270.        Voice: +49 (2631) 8399-0; Fax: +49 (2631) 8399-31
  271.        E-Mail: <hhhirsch@carla.adsp.sub.org> (fax preferred)
  272.        (Eurocard/Mastercard/VISA)
  273.        
  274.        Periscope; Attn: Cody Lee; 1717 W Kirby Ave; Champaign, IL 61821, USA
  275.        Voice: +1 (217) 398 4237; Fax: +1 (217) 398 4238
  276.        E-Mail: <periscope@cei.com>
  277.        
  278.        Someware; 27 rue Gabriel Peri; 59186 Anor; France
  279.        Voice: +33 27596000; Fax: +33 27595206
  280.        E-Mail: <didierj@swad.adsp.sub.org>
  281.   
  282.      See FAQs.
  283.   
  284.   3.2 What is CATS?
  285.   =================
  286.   
  287.      This is a department at Commodore West Chester which was formerly
  288.   named `Commodore Amiga Technical Support' and was later renamed
  289.   `Commodore Application and Technical Support'. These are people that
  290.   work independently of Engineering, but close together with them, and try
  291.   to help developers outside of Commodore to create nice Amiga
  292.   applications, software or hardware. To achieve this, CATS has gathered
  293.   a lot of informations and tools, on floppy, CD, or paper. Much of this
  294.   material is also available to the general public. (1) But don't mix
  295.   this up with some sort of Hotline for everyone!
  296.   
  297.      For Americans the address to get this material is
  298.            CATS - Developer Applications
  299.            Commodore
  300.            1200 Wilson Drive
  301.            West Chester, PA. 19380
  302.   
  303.   for all Europeans it's a company in Germany:
  304.            Fa. Hirsch & Wolf
  305.            Mittelstr. 33
  306.            56564 Neuwied
  307.            Tel. 02631/83990
  308.   
  309.      Dr. Peter Kittel, peterk@cbmger.de.so.commodore.com
  310.   
  311.      ---------- Footnotes ----------
  312.   
  313.      (1)  Which means: For Non-Developers.
  314.   
  315.   3.3 Where do I get the Amiga includes?
  316.   ======================================
  317.   
  318.      The only legal way to get the includes and autodocs (and you *should*
  319.   get them, they are *very* useful!) is to become a developer (see
  320.   Developer) or to buy the `NDU' (Native developers update kit, also
  321.   known as `NDUK' or `NDK'), which is offered by CATS. They cost about
  322.   30$ plus shipping and this seems to me to be a fair price. See CATS.
  323.   The current version is 3.1.
  324.   
  325.      If you need only the includes, you could get them as well with a
  326.   compiler (commercial compilers only) or by getting the Fresh Fish CD.
  327.   See Fish CD.
  328.   
  329.   3.4 How do I become a developer?
  330.   ================================
  331.   
  332.      You need the `ADSP' (Amiga Developer Support Program) documents. To
  333.   get this write a letter to your local Commodore branch asking for these
  334.   documents.  Everything else should be explained there. The german
  335.   address (for the US address see CATS) is
  336.            Commodore
  337.            Lyoner Strasse 38
  338.            60528 Frankfurt
  339.      There are three different developer versions:
  340.   *Registered*
  341.        developers get access to the CBMNET (kind of a Commodore-internal
  342.        Usenet), which makes it possible to discuss problems with other
  343.        developers, Commodore engineers included. Registered developers
  344.        pay about US$80 per year, plus initial US$30 initially.
  345.   
  346.   *Certified*
  347.        developers seem to me the most interesting claass: They have the
  348.        possibility copy the most beta versions of the system software
  349.        (Kickstart and Workbench) and the respective Includes and
  350.        AutoDocs. (Not all beta versions and especially no beta hardware.)
  351.        You pay about US$250 per year plus US$50 initially for this.
  352.   
  353.   *Commercial*
  354.        developers finally have in most details the same as certified
  355.        developers, but may expect to get more beta versions and sooner,
  356.        included beta hardware (This has *not* always been so in the
  357.        past.), hencethey pay about US$400 plus US$50 initially.
  358.   
  359.   The above describes the prices and the situation in Germany and might be
  360.   different elsewhere. Especially not all Commodore branches offer the
  361.   registered status. A hint is to build a group of users and become a
  362.   developer group, so the costs are reduced.
  363.   
  364.      All developers have to sign the so called`NDA' (non disclosure
  365.   agreement), with which they accept not to give the received
  366.   informations to unauthorized people.
  367.   
  368.   3.5 What compilers (assemblers) are there?
  369.   ==========================================
  370.   
  371.      There is a lot of programming languages on the Amiga, commercial as
  372.   well as freely distributable. I will enumerate only those that I know
  373.   or which seem it worth to me otherwise.
  374.   
  375.   *Assembler*
  376.        All C-compilers have an Assembler included. Freely distributable
  377.        are A68K and PhxAss (directory `dev/asm' on Aminet or Fish disks
  378.        521 and 906)
  379.   
  380.   *C*
  381.   *C++*
  382.        Freely distributable C-compilers are `gcc' (which has its own
  383.        directory `dev/gcc' on Aminet) and the evaluation version of
  384.        `Dice' (for example per FTP from `ftp.uni-paderborn.de', directory
  385.        `/news/comp.binaries.amiga/volume91/languages' or on Fish disk
  386.        491).  The advantage of gcc is that you find gcc versions all over
  387.        the world and on all computer systems. Another advantage is that
  388.        C++ is included into gcc! But it is slow and needs 4Mb of RAM or
  389.        more.  See The GNU C compiler.  See Mailing lists.
  390.   
  391.        Commercial C compilers are `Aztec-C', `Dice' and `SAS/C'.  I
  392.        cannot recommend `Aztec-C', because the compiler doesn't seem to
  393.        get further development. It should be remarked that the commercial
  394.        compilers have especially wonderful debugging utilities (Source
  395.        level debuggers!) that the others are missing. SAS/C has a
  396.        crosscompiler included, which translates C++ to C and supports the
  397.        source level debugger too.  Dice is the cheapest and fastest
  398.        commercial compiler, but SAS offers a students discount and
  399.        updates for owners of other compilers which isn't very expensive
  400.        too. To get information about DICE, send email to info@oic.COM. An
  401.        automatic system will return complete details, including upgrade
  402.        prices.
  403.   
  404.        Comeau C++ is a crosscompiler like SAS/C++. That wouldn't be a
  405.        problem, but Comeau C++ doesn't have a C compiler included.  You
  406.        need SAS/C, Aztec-C or Dice additionally. But it is AT&T cfront 3.0
  407.        compliant and supports exceptions. And like gcc it runs on many
  408.        platforms.  Maxxon C++ is offered in Germany. I cannot say
  409.        anything on it. Both compilers are commercial. Comeau's address is:
  410.                 Comeau computing
  411.                 91-34, 120th Street
  412.                 Richmond Hill, NY, 11418-3214
  413.                 USA
  414.             
  415.                 EMail: Greg Comeau, comeau@bix.com
  416.   
  417.   *Forth*
  418.        JForth is said to be an excellent Amiga port of Forth. Among its
  419.        advantages are object oriented extensions, full Amiga interface
  420.        and an application generator. It is available from:
  421.                 Delta Research
  422.                 P.O. Box 151051
  423.                 San Rafael, CA   94915-1051
  424.             
  425.                 Phone: (415) 453-4320
  426.                 EMail: Phil Burk, phil@ntg.com
  427.                        Mike Haas, haas@starnine.com
  428.   
  429.   *Fortran*
  430.        (Sigh! Still people who need it :-<) Freely distributable are BCF
  431.        (Fish disk 470) and f2c, a Fortran to C converter (Aminet,
  432.        directory `/dev/misc'). A commercial compiler is offered from
  433.        ABSoft. All these are Fortran 77 compilers, I don't know any
  434.        Fortran 90 compiler on the Amiga.
  435.   
  436.   *Lisp*
  437.        Freely distributable Lisp interpreters are XLisp (Fish disk 181)
  438.        and OakLisp (Fish disks 519 and 520) and CLISP
  439.        (`/pub/lisp/clisp/binaries/amiga' at the server `ftp
  440.        ma2s2.mathematik.uni-karlsruhe.de'). Lisp compilers are Gambit
  441.        (Fish 764 and 765) and Scheme-to-C (Fish disks 556, 557 and 558).
  442.        See Mailing lists.
  443.   
  444.   *Prolog*
  445.        `/dev/lang/UNSWProlog.lha' and `dev/lang/sbp3_1e.lha' on Aminet as
  446.        well as `SBProlog' on Fish disk 141 and `SBProlog' on Fish disk
  447.        145 are freely distributable Prolog interpreters.
  448.   
  449.   *Modula-2*
  450.        M2Amiga is offered in Europe, Benchmark Modula-2 in the U.S. Both
  451.        are said to be very good, have a powerful source-level-debugger, a
  452.        large library.  Especially M2Amiga has great support by a german
  453.        user-group (AMOK) which for example offers own PD disks. See
  454.        Mailing lists.
  455.   
  456.        M2Amiga is offered by:
  457.                 A+L AG
  458.                 Daderiz 61
  459.                 2540 Grenchen
  460.                 Schweiz
  461.             
  462.                 Tel.: +41/65/52 03-11
  463.                 Fax:              -79
  464.   
  465.        Benchmark Modula-2 is available from:
  466.                 Armadillo Computing
  467.                 5225 Marymount Drive
  468.                 Austin, Texas 78723
  469.                 USA
  470.             
  471.                 Phone/FAX: 512/926-0360.
  472.                 EMail: Jim Olinger, jolinger@bix.com
  473.   
  474.   *Oberon*
  475.   *Oberon-2*
  476.        Two compilers (both Oberon-2) are available: AmigaOberon
  477.        (commercial) is offered by the same company as M2Amiga. It is
  478.        integrated into a full developers environment and has a large
  479.        library of modules.  Library linker and  source level debugger are
  480.        available.
  481.   
  482.        Oberon-A is a Freeware compiler. (Source: Aminet, `dev/obero'
  483.        directory) However, this is a beta release, especially the module
  484.        library is limited. See Mailing lists.
  485.   
  486.        The AMOK user group supports AmiOberon as well as M2Amiga.
  487.   
  488.   *Pascal*
  489.        There is a PD-compiler called PCQ (Directory `dev/lang' on Aminet
  490.        or Fish disk 511). It doesn't support all of Pascal and major
  491.        features are missing. P2C, a pascal to C converter is on disk 341.
  492.        (Aminet: `/dev/misc/p2c120.lha') Additionally there are two
  493.        commercial compilers called HiSoft Pascal and KickPascal. HiSoft
  494.        Pascal and P2C claim to be compatible to Turbo Pascal up to 5.0.
  495.        HiSoft has a source level debugger included.
  496.   
  497.   3.6 Those never working Esc sequences!
  498.   ======================================
  499.   
  500.      Many printers come with a manual that explains which Esc sequence
  501.   causes which action on the printer. But there happen weird things when
  502.   you try to send these sequences to your printer, either it does
  503.   nothing, or it does something completely different. There is a reason,
  504.   the Amiga printer drivers. These drivers are made in a way that they
  505.   only understand a certain set of `ANSI Esc sequences', not the special
  506.   ones defined (differently) by the various printer manufacturers. The
  507.   purpose is that every application on the Amiga just uses this one
  508.   standard set of control sequences and this way doesn't need to know
  509.   which printer is actually connected. The printer driver then translates
  510.   these standard sequences into the special sequences a certain printer
  511.   understands.  A list of the available ANSI Esc sequences is found in
  512.   the current Workbench manuals (or older AmigaDOS manuals). Now if you
  513.   want to issue a control sequence to the printer that's not available as
  514.   an ANSI command, you have two possibilities to achieve this:
  515.     1. Bypass the printer driver (that would unsuccessfully try to
  516.        interpret the sequence) and send your output *only* during this
  517.        sequence to `PAR:' (or `SER:', respectively). For this you have to
  518.        close and open printer output channels very often which is rather
  519.        tedious, and you have to know where (`PAR:' or `SER:') your
  520.        printer is connected.
  521.   
  522.     2. Use a special ANSI sequence, made exactly for this case:
  523.                 `Esc[<n>"<x>'
  524.        where `<n>' is the decimally typed number of bytes in the string
  525.        `<x>', which actually contains your special printer sequence. This
  526.        ANSI sequence tells the printer driver to not interpret or
  527.        translate the next `<n>' bytes.
  528.           But both methods have one big disadvantage when used in an
  529.   application program: You lose the printer independency! If you stick to
  530.   ANSI sequen- ces, you can output to any printer on earth, as long as
  531.   there is an Amiga printer driver for it. If you start to use special
  532.   control sequences, your program will be tied to this single printer
  533.   model and will not be usefull for any other (or you would have to
  534.   provide some dozen new printer drivers for your application).
  535.   
  536.      Dr. Peter Kittel, peterk@cbmger.de.so.commodore.com
  537.   
  538.   3.7 Is it possible to use AmigaBasic on the A1200?
  539.   ==================================================
  540.   
  541.      We heard conflicting reports about AmigaBasic on the A1200: While I
  542.   said that you can work sufficiently with it, others said that this
  543.   isn't possible, as AmigaBasic crashes on the slightest little error.  I
  544.   couldn't reproduce this.
  545.   
  546.      Now I can. It depends on the setting in the Sound Prefs editor. When
  547.   you activate a sound there, this conflicts with sound that AmigaBasic
  548.   tries to produce by hand and obviously not quite the correct way itself.
  549.   
  550.      Easy solution: To work with AmigaBasic on the A1200, just
  551.     1. Switch off sound output in the Sound prefs editor.
  552.   
  553.     2. On the A4000 (as well as on an A1200 with Fast Mem expansion (1))
  554.        you  additionally need to run NoFastMem.
  555.   
  556.     3. Better avoid SUBs and use conventional GOSUBs instead, then the
  557.        compatibility with newer processors will be higher.
  558.   
  559.      Dr. Peter Kittel, peterk@cbmger.de.so.commodore.co
  560.   
  561.      ---------- Footnotes ----------
  562.   
  563.      (1)  If you have a turbo board
  564.   
  565.   3.8 How do I localize my program?
  566.   =================================
  567.   
  568.      Suggest, you want to write a `HelloLocalWorld.c'. Your final program
  569.   will look like this:
  570.   
  571.            #include "HelloLocalWorld_Cat.h"
  572.            #include <clib/exec_protos.h>
  573.        
  574.            struct Library *LocaleBase;
  575.        
  576.            void main(int argc, char *argv[])
  577.        
  578.            {
  579.                /* Open the locale.library. No kill, if not successfull.
  580.                   (Just use the builtin catalog strings instead.) Note, that
  581.                   we open locale.library here, even if our compiler supports
  582.                   AutoOpening.
  583.                */
  584.                LocaleBase = OpenLibrary("locale.library", 38);
  585.                OpenHelloLocalWorldCatalogs(NULL, NULL);
  586.        
  587.                printf(GetString(MSG_Hello));
  588.        
  589.                CloseHelloLocalWorldCatalog();
  590.                if (LocaleBase) CloseLibrary(LocaleBase);
  591.            }
  592.   
  593.      The routine GetString checks, if the wished catalogs are available
  594.   and returns a pointer to either the builtin string or the catalog
  595.   string. (In my case the german string.)
  596.   
  597.      You see, the main difference besides the minor opening and closing
  598.   stuff (OpenLibrary, OpenHelloLocalWorldCatalogs, ...) is to replace
  599.   strings with a function call. Hence we need a file
  600.   `HelloLocalWorld_Cat.c', which holds OpenHelloLocalWorld, GetString,
  601.   CloseHelloLocalWorld and the builtin strings (this could be an array,
  602.   where
  603.                array[MSG_Hello] = "Hello, local world.\n";
  604.   
  605.   is defined) and an include file `HelloLocalWorld_Cat.h', which defines
  606.   the message ID's like MSG_Hello. You don't need to know, how these files
  607.   work internally, especially you don't need to know `locale.library'!
  608.   
  609.      There are some catalog generators (in what follows: CGs) available
  610.   (`CatComp', for devlopers only, `KitCat', german docs only, `MakeCat',
  611.   which I don't know and `FlexCat', which I  recommend, because it is
  612.   most flexible in the generated source and supports catalogs on 2.0 and
  613.   any language, even Amiga-E, Cluster, Pascal, ... and besides that: I'm
  614.   the author ;-) are tools, that create  HelloLocalWorld_Cat.h,
  615.   HelloLocalWorld_Cat.c and the real catalogs for you. (The above code
  616.   might differ slightly between the different CGs.) (See Aminet, directory
  617.   `dev/misc'.)
  618.   
  619.      Of course they need to know how to use them. First create a so-called
  620.   `catalog-description' file. This could look like this:
  621.            ; Lines beginning with a semicolon are comment lines.
  622.            # language english
  623.            ; the language of the builtin strings
  624.            # version 0
  625.            ; the catalog version (0 = any)
  626.            MSG_Hello (1/15/30)
  627.            Hello, local world
  628.   
  629.   Any string is defined by a line like the last two lines above: MSG_Hello
  630.   is the message-ID, (1/15/30) says, that the value of MSG_Hello should be
  631.   1 (you may omit this, in which case just the next free number is used)
  632.   and the string must not be shorter than 15 characters or longer than 30
  633.   characters. (These may be omitted too.)
  634.   
  635.      Now write your program. Once you are ready, use the CGs to create a
  636.   so-called catalog translation file. (One for any language different than
  637.   the builtin.) In my case (german) this could look like this:
  638.            ; Lines beginning with a semicolon are comment lines.
  639.            ## language deutsch
  640.            ; the catalog language (german)
  641.            ## version $VER: Deutsch.catalog 1.0 (22.12.93)
  642.            ; the catalog files version string
  643.            MSG_Hello
  644.        
  645.            ; Hello, local world
  646.   
  647.   Note the empty line after the message ID. (The arguments of ## language
  648.   and ## version would be missing as well.) You have to fill in the
  649.   german strings here. Again using the CGs you create a catalog file from
  650.   this. Additionally note, that no informations on the strings ID or
  651.   length are behind MSG_Hello.  They are taken from the catalog
  652.   description file.
  653.   
  654.      Once you change the program (adding strings, changing the string
  655.   length) you change the catalog description as well, use the CGs in the
  656.   same way to update the catalog translation and hence the catalogs.
  657.   
  658.   3.9 How to obtain a pointer to a console's window
  659.   =================================================
  660.   
  661.      The following function returns the window pointer of a CON window.
  662.   It can be executed safely under all versions of the Amiga's OS.
  663.   
  664.          struct Window *getConWindowPtr(BPTR fh)
  665.           {
  666.           struct Window *w;
  667.           struct FileHandle *cfh;
  668.           struct StandardPacket *sp;
  669.           struct InfoData *id;
  670.           struct MsgPort *mp;
  671.        
  672.           w = NULL;
  673.        
  674.           if((cfh = BADDR(fh))->fh_Type != NULL)
  675.            {
  676.            if(sp = AllocMem(sizeof(struct StandardPacket),
  677.                             MEMF_PUBLIC | MEMF_CLEAR))
  678.             {
  679.             if(id = AllocMem(sizeof(struct InfoData),
  680.                              MEMF_PUBLIC | MEMF_CLEAR))
  681.              {
  682.              if(mp = CreatePort(NULL, 0))
  683.               {
  684.               sp->sp_Msg.mn_Node.ln_Name = (char *)&sp->sp_Pkt;
  685.               sp->sp_Pkt.dp_Link         = &sp->sp_Msg;
  686.               sp->sp_Pkt.dp_Port         = mp;
  687.               sp->sp_Pkt.dp_Type         = ACTION_DISK_INFO;
  688.               sp->sp_Pkt.dp_Arg1         = MKBADDR(id);
  689.        
  690.               PutMsg(cfh->fh_Type, &sp->sp_Msg);
  691.               (void)WaitPort(mp);
  692.               (void)GetMsg(mp);
  693.        
  694.               if(sp->sp_Pkt.dp_Res1)
  695.                w = (struct Window *)id->id_VolumeNode;
  696.        
  697.               DeletePort(mp);
  698.               }
  699.              FreeMem(id, sizeof(struct InfoData));
  700.              }
  701.             FreeMem(sp, sizeof(struct StandardPacket));
  702.             }
  703.            }
  704.        
  705.           return w;
  706.           }
  707.   
  708.      Notes:
  709.      * Accessing a console's window directly may interfere with operations
  710.        performed by the CON handler. Be careful!
  711.   
  712.      * To obtain the window pointer of a CLI's console, pass the
  713.        FileHandle returned by Open("*", MODE_OLDFILE) to the above
  714.        function.
  715.   
  716.      * The result of the above function may well be NULL, e.g. in case of
  717.        an AUX handler or if an AUTO CON handler is unable to open its
  718.        window.
  719.   
  720.      * Sending an ACTION_DISK_INFO packet to an AUTO CON handler (2.0+)
  721.        causes its window to lose its special AUTO properties (i.e. it can
  722.        no longer be closed at any time by clicking on its Close gadget),
  723.        as the window pointer returned in id_VolumeNode must remain valid
  724.        from now on.
  725.   
  726.      * All in all: Don't use this function. :-)
  727.   
  728.      For more information, please refer to pages 273, 276, 435, 463, 485,
  729.   and 629 in "The Amiga Guru Book" (see Manuals).
  730.   
  731.      Ralph Babel, rbabel@babylon.pfm-mainz.de
  732.   
  733.   3.10 What are pragmas?
  734.   ======================
  735.   
  736.      Pragmas are special preprocessor commmands which control certain
  737.   features of a C-compiler. Two problems arise when using pragmas:
  738.     1. Pragmas are compiler specific. You cannot expect that one compiler
  739.        will understand pragmas of another compiler, even if both run on
  740.        the Amiga.
  741.   
  742.     2. You are not guaranteed that a compiler ignores pragmas, that he
  743.        doesn't understand. Even more: It might not help, to use something
  744.        like this:
  745.                 #ifndef MY_COMPILER
  746.                 #pragma DoAnything
  747.                 #endif
  748.   
  749.   A workaround is to put pragmas in a special include file (BTW, the same
  750.   holds true for statements like #asm (Aztec-C) or #extern (C++) and
  751.   replace the above with
  752.            #ifndef MY_COMPUTER
  753.            #include <mypragmas.h>
  754.            #endif
  755.   
  756.      But what do pragmas on the Amiga? The most common usage (not the
  757.   only, but most meant when talking about pragmas) is to tell the
  758.   compiler about how to call library functions: Simple C functions expect
  759.   their arguments on the stack, but library functions want their
  760.   arguments in special processor registers and additionally the `library
  761.   base' in register a6. Lets have a look at a pragma command of the
  762.   Aztec-Compiler.
  763.            #pragma amicall(SysBase,0xd2,FreeMem(a1,d0))
  764.   
  765.   This tells the compiler to put the first argument of FreeMem in register
  766.   a1, the second in register d0 and the value of the variable SysBase in
  767.   register a6. Maxons pragmas look the same, Dice pragmas and SAS pragmas
  768.   look a bit more complicated;
  769.            #pragma libcall SysBase FreeMem d2 0902
  770.   
  771.   Here d2 is (like 0xd2 above) the `library vector offset' (see below),
  772.   the digits 09 are codes for the argument register in reversed order
  773.   (Register codes are 0=d0, 1=d1, .., 8=a0, 9=a1, a=a2, ..), the
  774.   following 0 is the result's registerä(always d0))and the final digit 2
  775.   is the number of arguments.
  776.   
  777.      A command `FreeMem(fib,sizeof(*fib);' could produce the following
  778.   code, if the compiler has seen a pragma statement like above:
  779.            move.l  _fib,a1
  780.            move.l  260,d1        ; sizeof(struct FileInfoBlock)
  781.            move.l  _SysBase,a6
  782.            jsr     -0xd2(a6)       ; 0xd2 = _LVOFreeMem
  783.   
  784.   Calling FreeMem in that way is shorter and faster than pushing the
  785.   arguments on the stack, calling a function _FreeMem which would do just
  786.   the same like the above code by pulling the arguments from the stack.
  787.   
  788.      The best way to use pragmas is to include statements like the
  789.   following in your program:
  790.            /*    Get the prototype for the function; note, that this is    */
  791.            /*    compiler independent.                    */
  792.            #include <clib/exec_protos.h>
  793.        
  794.            /*    Get the pragma; compiler dependent, but most pragmas    */
  795.            /*    are in files with the same name.
  796.            #ifdef AZTEC_C
  797.            #include <pragmas/exec_lib.h>
  798.            #endif
  799.            #if defined(__SASC) || defined(_DCC) || defined(__MAXON__)
  800.            #include <pragmas/exec_pragmas.h>
  801.            #endif
  802.            #ifdef __GNUC__
  803.            #include <inline/exec.h>
  804.            #endif
  805.   
  806.   The above example can be compiled on all these compilers and produce the
  807.   best code.
  808.   
  809.      A final question arises: How to get the pragmas? Most compilers have
  810.   them included. However, sometimes you want to produce pragmas for
  811.   yourself, for example if you are using new libraries or new versions
  812.   with additional functions. In that case you can produce them from the
  813.   so-called `FD' files which should be a part of the developer docs of
  814.   the library. (The NDU has a directory FD which contains FD files for
  815.   all libraries and devices of the OS. see Includes) Most compilers have
  816.   a utility with the name `fd2pragma' or similar included which can do
  817.   that for you. A freely distributable version which can produce pragmas
  818.   for Aztec, Dice, SAS and Maxon as well as LVO files for assembler and
  819.   stub routines for the tag versions is available on Aminet
  820.   (`dev/misc/fd2pragma2_0.lha' and on the Fish CDs.
  821.   
  822.      For pragmas under gcc see Inline Headers.
  823.   
  824.   3.11 My Compiler/Linker is complaining about missing symbol xxx.
  825.   ================================================================
  826.   
  827.      First be sure, that the function is really missing: For example
  828.   floating point functions are in a special link library and you need a
  829.   linker option like `-lm' to include it into your program. Another
  830.   possibility would be that you are using a library function and didn't
  831.   notice it. This might lead to a missing library base, `IntuitionBase'
  832.   for example. In that case just put something like
  833.            struct Library *IntuitionBase;
  834.   
  835.   somewhere in the global part of your program. (Don't forget to call
  836.   OpenLibrary() and CloseLibrary! :-)
  837.   
  838.      However, you could as well use a function which really isn't present
  839.   in your library at all. If you have, for example, an amiga.lib from 2.0
  840.   you would hardly find the locale functions or the pool memory
  841.   functions. (1) Best solution is to get the NDU (see Includes), but you
  842.   probably don't want to wait for it. In that case you have to find what
  843.   kind of function you are missing.
  844.      * Simple library functions (Examples: `exec/AllocPooled',
  845.        `locale/OpenCatalogA') can be called with pragmas. However, you
  846.        need informations on the name of the library base and where to put
  847.        the arguments. See Pragmas.
  848.   
  849.      * Tag functions are mostly just stub functions which call library
  850.        functions. If you have, for example, `dos/AllocDosObject' which
  851.        expects a constant and a pointer to an array of tags, you have the
  852.        varargs version `AllocDosObjectTags' which expects tags on the
  853.        stack as well! Just create the following function:
  854.                 #include <clib/dos_protos.h>
  855.                 #include <pragmas/dos_pragmas.h>    /*  Probably wrong name */
  856.             
  857.                 void *AllocDosObjectTags(ULONG objtype, Tag tag1, ...)
  858.                 { return(AllocDosObject(objtype, (struct TagItem *) &tag1);
  859.                 }
  860.   
  861.      * Some functions still remain: Amiga.lib has some functions which
  862.        are really doing valuable things and not just call a library: The
  863.        BOOPSI functions (`DoMethod', `DoSuperMethod') the memory pool
  864.        functions (`LibAllocPooled', `LibCreatePool', which are
  865.        replacements of 3.0 functions). The only way to replace these is
  866.        to get equivalents. The AmigaFAQ archive contains some of them
  867.        (DoMethod, DoSuperMethod and HookEntry) in the `programmer'
  868.        directory as well as the most common pragma files and some
  869.        examples of varargs functions. See Amiga-FAQ Archive.
  870.   
  871.      ---------- Footnotes ----------
  872.   
  873.      (1)  This problem arises most frequently for owners of Aztec which
  874.   is no longer supported and owners of Dice, which has sometimes rather
  875.   incomplete libraries. I own both ...
  876.   
  877.   3.12 Where do I find the function xxx?
  878.   ======================================
  879.   
  880.      If you are not sure about the name of the appropriate function for a
  881.   certain job or in which library to find it, you can search in these
  882.   places:
  883.      * In the Autodocs for each library you find at the very beginning a
  884.        contents table listing all functions available in this library.
  885.        They are sorted alphabetically, just like in the rest of the
  886.        Autodocs.  In the body part of the Autodocs you find complete
  887.        explanations and specifications for each library function. See
  888.        Includes.
  889.   
  890.      * The .FD files also offer a very compact overview over all functions
  891.        of the diverse libraries, complete with a short information about
  892.        the function arguments. If you already know roughly what you
  893.        search for and e.g. only need the precise order of the arguments,
  894.        you can find all needed information here. See Pragmas.
  895.   
  896.      Dr. Peter Kittel, peterk@cbmger.de.so.commodore.com
  897.   
  898.   The GNU C compiler: general information and installation
  899.   ========================================================
  900.   
  901.      This chapter contains general and installation information about the
  902.   amiga-port of the GNU C compiler gcc.
  903.   
  904.   Current Version
  905.   ---------------
  906.   
  907.      The current version of gcc, further refered to as <gcc-current>, is
  908.   2.5.8. Work is in progress for version 2.6 which will incldude a new
  909.   version of the popular ixemul.library, the Unix system-calls emulation
  910.   shared library, and a brand new C library avoiding gcc compiled programs
  911.   to use ixemul.library.
  912.   
  913.   Requirements
  914.   ------------
  915.   
  916.      Any Amiga (ranging from A1000 upto A4000/40) will run amigados-gnu
  917.   utilities. A minimum of 4MB memory is needed in order to compile
  918.   small/medium projects. More memory will be needed for large projects,
  919.   such as recompiling gcc itself, or programming C++. Gigamem is known to
  920.   work with GCC so *maybe* less memory will work. But in this case, an
  921.   MMU equipped Amiga (A3000,A4000/40) is necessary.  See 68EC0xx.
  922.   
  923.      A full installation, including C++/ObjC related files, inline
  924.   headers, cbm-headers, (see Includes) roughly requires about 20 MB of HD
  925.   space.
  926.   
  927.      Gcc will work under KS 1.2/1.3, but the full functionality is only
  928.   available under KS 2.x+. A fast CPU (eg. 68030@25MHz or better) is also
  929.   of help.
  930.   
  931.   Authors
  932.   -------
  933.   
  934.      Gcc and related GNU-software has been ported to the Amiga by the
  935.   following folks: See How to get help.
  936.            Gcc v2.2.2 port:   Markus Wild
  937.            Gcc v2.3.3 port:   Markus Wild
  938.            Gcc v2.4.5 port:   Philippe Brand, Lars Hecking, Fred Fish
  939.            Gcc v2.5.0 and up: Philippe Brand, Fred Fish, Leonard Norrgard
  940.        
  941.            Ixemul.library:    Markus Wild, Leonard Norrgard, R. Luebbert
  942.            Libnix:           Matthias Fleischer, Gunther Nikl
  943.                Gerlib:            Gerhard Mueller
  944.   
  945.   Sources for Gcc
  946.   ---------------
  947.   
  948.      All GCC sources & binaries are available on:
  949.   
  950.     1. Aminet sites (wuarchive.wustl.edu and mirrors such as ftp.luth.se)
  951.        in /pub/aminet/dev/gcc
  952.   
  953.     2. Ramses The Amiga Flying BBS:
  954.                 +33-1-60037015  HST Dual v32 terbo 4800-21600
  955.                     +33-1-60037713  SupraFax v32bis    4800-14400
  956.                     +33-1-60037716  Tornado v22bis     1200-2400
  957.        in Topic `Development', Area `Gcc' (are 156).
  958.   
  959.      GNU source code is available on:
  960.   
  961.     1. the same FTP site you've taken the binary distribution from
  962.   
  963.     2. gnu.prep.ai.mit.edu (18.71.0.38) in `/pub/gnu'
  964.   
  965.     3. Ramses The Amiga Flying BBS in Topic
  966.        `AmigaUnix/Unix/Linux/NetBSD', Area `Gnu Source Code'
  967.   
  968.      These archives should contain everything necessary to get you going,
  969.   they don't include sources for ixemul.library, which are available on
  970.   Aminet sites in `/pub/aminet/dev/gcc/ixemsrc3947.tar.gz' (as of this
  971.   writing, work is in  progress for the v40 version of ixemul.library,
  972.   sources will be available on an Aminet site near you).
  973.   
  974.      As stated by Richard Stallman of the FSF:
  975.   
  976.      "The GPL says that any distribution of binaries must contain either
  977.   the source code or a written offer to supply source code (see the GPL
  978.   for details of what is required)."
  979.   
  980.   Inline Headers
  981.   --------------
  982.   
  983.      The inline headers for gcc can be created from the original CBM fd
  984.   files.  See Includes. See Pragmas. They can be created as follows:
  985.   
  986.        CLI> Assign INCLUDE: GCC:os-include
  987.        CLI> Assign FD: INCLUDE:fd
  988.        CLI> Makedir INCLUDE:inline
  989.        CLI> cd USR:bin/geninline
  990.        CLI> gen31
  991.   
  992.      This will create all inline-headers in `GCC:os-include/inline'.  If
  993.   you have 2.0 headers, use gen20 instead, if you have 3.0, use gen30.
  994.   OS3.1 (rev 40.13) inline headers are included with <gcc-current>. See
  995.   Current Version.
  996.   
  997.      NOTE: perl scripts do not handle correctly AmigaDOS include files,
  998.   which seems to mean they are somewhat broken. This needs some voluntary
  999.   work ...
  1000.   
  1001.      There is also another way of generating inline headers, using
  1002.   fd2inline program:
  1003.   
  1004.        CLI> fd2inline <fd_file> <proto_file>
  1005.   
  1006.   Amiga Libraries
  1007.   ---------------
  1008.   
  1009.      Amiga-style libraries, such as amiga.lib, cannot be read by gcc
  1010.   directly. They need to be converted into a gcc-readable format using
  1011.   hunk2gcc, the AmigaDOS object converter made by Markus Wild.
  1012.   
  1013.      To achieve this, simply grab a copy of latest amiga.lib (from
  1014.   Commodore Development Kit, see Includes) and make a new directory where
  1015.   you want your converted object files to go, cd into it, and enter
  1016.   
  1017.            hunk2gcc amiga.lib [..further libs if you like..]
  1018.   
  1019.      This generates an a.out object file for every program unit present
  1020.   in the hunk file (in this case, from amiga.lib).
  1021.   
  1022.      As the final step convert all those files into an a.out style
  1023.   library by issuing:
  1024.   
  1025.            ar qc libamiga.a obj.*
  1026.            ranlib libamiga.a
  1027.   
  1028.      The ranlib run builds a symbol table in the archive, and makes
  1029.   accesses to the library much faster.
  1030.   
  1031.      NOTE: As long as you make no AmigaDOs specific calls, you can create
  1032.   a dummy library using:
  1033.   
  1034.          cat "int dummy;" >dummy.c
  1035.          gcc -c dummy.c
  1036.          ar crv libamiga.a dummy.o
  1037.          mv libamiga.a gcc:lib
  1038.   
  1039.   Installation
  1040.   ------------
  1041.   
  1042.      IMPORTANT NOTE FROM Philippe Brand:
  1043.   
  1044.      As this is FAQ, most often asked question about gcc-2.5.8 is: "I
  1045.   can't compile C++ programs, what's up ?"
  1046.   
  1047.      In fact, I've messed up gcc-2.5.8 distribution. Instead of 2.5.8
  1048.   versions of C++ and Objective-C compiler passes, 2.5.7 versions were
  1049.   included. You've got here 2 options.
  1050.   
  1051.      - rename lib/gcc-lib/amigados/2.5.7 to 2.5.8 - get gcc258ud.lha on
  1052.   Aminet, which contains proper 2.5.8 versions.
  1053.   
  1054.      From Aminet get also gcc258ud1.lha which contains some fixed
  1055.   libraries, headers etc...
  1056.   
  1057.      And DON'T forget to grab gcc258-readme.lha also from Aminet.
  1058.   
  1059.     1. If this is your first installation of GCC:
  1060.   
  1061.             CLI> cd Disk_with_lot_space:
  1062.             CLI> lha x gcc258-x.lha
  1063.   
  1064.        (where x stands for 1 through 4, 5 & 6 if you want also to have
  1065.        sources)
  1066.   
  1067.        Now from the Workbench, invoke GCC-Install. This is what people
  1068.        wanted, e.g. an Installer based configuration script for GCC.
  1069.   
  1070.        Thus you only have to unpack archives and the installer script will
  1071.        do the rest, creating environment variables, adding assigns to
  1072.        user-startup, copy library and handler.
  1073.   
  1074.        BTW:
  1075.   
  1076.        Installer and Installer project icon (c) Copyright 1991-93
  1077.        Commodore-Amiga, Inc.  All Rights Reserved.  Reproduced and
  1078.        distributed under license from Commodore.
  1079.   
  1080.     2. If you "upgrade" your gcc environment from v2.x.x, well just erase
  1081.        gcc directory then go back to step 1. Too many stuff have changed.
  1082.        Just make sure you've backuped all what you've added to the GCC
  1083.        tree before.
  1084.   
  1085.      Note that you MUST use ixemul.library revision 45 and NOT revision
  1086.   47, as the latter doesn't check for ENV:
  1087.   
  1088.      You need to have a 50.000 stack size in order to compile with GCC.
  1089.   This should be enough for most projects. Note than while recompiling
  1090.   gcc with itself it has takeen more than 245KB stack. Stack can grow due
  1091.   to source complexity. Don't be afraid of it.
  1092.   
  1093.      To use ar and/or ranlib, you should have a much larger stack, between
  1094.   200.000 and 300.000, depending on library size.
  1095.   
  1096.   How to get help
  1097.   ---------------
  1098.   
  1099.      The current amiga-gcc-port maintainer is available:
  1100.   
  1101.            Philippe BRAND
  1102.            Fidonet: Ramses The Amiga Flying BBS 2:320/104.21
  1103.            Email:   phb@colombo.telesys-innov.fr (ONLY for personnal email).
  1104.            Ftp:     colombo.telesys-innov.fr:/pub/amigados-gnu
  1105.                     or /pub/incoming/uploads for uploads.
  1106.   
  1107.      There's also an amiga-gcc mailing list running in Finland.  See
  1108.   Mailing lists.  Philippe Brand will forward all questions to that list,
  1109.   but you'd be better off using it directly ;)
  1110.   
  1111.   4 Applications
  1112.   **************
  1113.   
  1114.      This chapter offers informations about major Applications.
  1115.   
  1116.   4.1 Text Editors
  1117.   ================
  1118.   
  1119.      Text Editors are programs allowing to enter and edit unformatted
  1120.   text.  Generally, this means text that is meant to be manipulated by
  1121.   machine, rather than human. Programmers use these to enter the text for
  1122.   compilers.  Since UNIX machines don't typically have word processors,
  1123.   most text processing starts with a text editor, then is filtered
  1124.   through a page layout system (TeX, for example) to produce attractive
  1125.   paper results.
  1126.   
  1127.   *Commercial Products*
  1128.        CygnusEd Professional and TurboText seem to be the main contenders
  1129.        in the professional realm. The Fred Fish disks contain dozens of
  1130.        other shareware text editors. A demo version of TurboText is on
  1131.        Fish disk 445.  A very old demo of CygnusEd is on Fish disk 95
  1132.        (testament to its lasting-power). In the following some freely
  1133.        distributable editors will be discussed.
  1134.   
  1135.   *Emacs*
  1136.        Gnu Emacs (the "G" is not silent) comes from Unix and is probably
  1137.        the king of editors - it's huge (about 1 Megabyte), feature-packed
  1138.        (it does windows and even contains a game!) and extensible (if you
  1139.        know lisp you can write new emacs functions and bind them to any
  1140.        key combination).  On the other hand, it may be too huge, its
  1141.        feature-ladenness is imposing, and its extensibility often means
  1142.        you can't use someone else's emacs configuration. Source: Aminet
  1143.        (directory `util/gnu').
  1144.   
  1145.   *Vi*
  1146.        The leaner, less configurable, non-extensible cousin to gnu emacs
  1147.        is vi (pronounced "vee eye"). Unix people like vi especially
  1148.        because you find it on *any* Unix machine. What you choose is
  1149.        personal preference, and will mark you for life. Vim is a good vi
  1150.        for the amiga, and is on Fish disk 591 or in the `util/gnu'
  1151.        directory of Aminet.
  1152.   
  1153.   *DME*
  1154.        Many Amiga programmers like DME. It's fast, fully configurable;
  1155.        menus may be created and any key may be mapped. It's much easier
  1156.        to learn DME than than Emacs or Vi. There are three different
  1157.        versions: AmokEd, DME and XDME. It's a matter of opinion which you
  1158.        prefer. (Oberon and Modula programmers like AmokEd because it's
  1159.        written in Oberon and supports AmiOberon error messages, C
  1160.        programmers like DME or XDME.) Sources: Aminet (directory
  1161.        `util/edit'), Fish disk 776 (XDME) and 749 (AmokEd), AMOK 90.
  1162.   
  1163.   4.2 What word processors are there?
  1164.   ===================================
  1165.   
  1166.      A word processor is the typical application for writing notes,
  1167.   letters or reports on a computer. Unless you prepare newsletters on a
  1168.   weekly basis, your word procesor is probably your workhorse program.
  1169.   Thus choosing one you are comfortable with determines how comfortable
  1170.   you are with your computer. Word processors can offer a variety of
  1171.   features, and many can approach the sophistication required for Desktop
  1172.   Publishing (see DTP) but no one uses them for programming, for which
  1173.   text editors are more suited.
  1174.   
  1175.      One distinguishes between Wysiwyg programs (What you see is what you
  1176.   get) and page layout languages. Wysiwyg programs should be fast,
  1177.   comfortable and easy to use. Most people prefer them. The alternative
  1178.   is an approach that works similar to compilers. You feed text files to
  1179.   a a program that produces the layout which may be previewed on screen
  1180.   or printed. LaTeX takes this approach. See TeX. Lout is another such
  1181.   system which seems smaller, easier to learn and has full documentation
  1182.   included, but it is nonstandard.  Lout produces Postscript output. (I
  1183.   don't know if this is an advantage or disadvantage. ;-) See Postscript.
  1184.   Both programs are freely distributable.
  1185.   
  1186.      There are a lot of wysiwyg programs, but only commercial products:
  1187.   FinalWriter, Final Copy II, Wordworth, Word Perfect, AmiWrite,
  1188.   Beckertext II, Maxon Word and many others. I don't dare to recommend
  1189.   any.  All I can say is: Give yourself time to make a selection.
  1190.   
  1191.   4.3 Desktop Publishing
  1192.   ======================
  1193.   
  1194.      These programs offer features lacking in word processors, usually
  1195.   tailored to flexible arrangement of text, but often don't provide all of
  1196.   the text manipulation that a good word processor provides. The best
  1197.   desktop publishing programs strive to provide the features of both,
  1198.   just as the best word processors strive to provide the features of
  1199.   desktop publishing programs. Microsoft Word (Mac, PC) is a good example
  1200.   of a word processing program that offers many page layout feature.
  1201.   Framemaker (UNIX, Macintosh, DOS, etc.) is an example of a desktop
  1202.   publishing system that offers most needed word processing functions. As
  1203.   yet, no Amiga program has bridged the gap, though the main word
  1204.   processors are coming close. (On the other hand, even many
  1205.   sophisticated programs don't support typesetting mathematics, tables,
  1206.   producing bibliographies, indexes, or cross-references. The page layout
  1207.   languages do, and programs like Frame are improving their support of
  1208.   such features.) Unless you need to prepare fancy newsletters or
  1209.   promotional literature, a word processing program is probably enough.
  1210.   See Word Processors.
  1211.   
  1212.      There are not yet any freely distributable wysiwyg desktop publishing
  1213.   systems. Commercial products are ProPage and PageStream. They have been
  1214.   playing leapfrog for the past few years. It appears that PageStream 3.0
  1215.   is about to leap ahead. A more detailed description of these products
  1216.   and their differences is welcome. Both programs' list prices are $299.
  1217.   Student discounts are available (approx 40% discount.)
  1218.   
  1219.   4.4 What is TeX and where can I get it?
  1220.   =======================================
  1221.   
  1222.      TeX is a very powerful wordprocessing system. It can display
  1223.   mathematical formulas or complex tables as well as function graphs,
  1224.   creates indices, contents and many other things. Its greatest advantage
  1225.   is that it is freely distributable (TeX, not the previewers and the
  1226.   printer drivers!) and that you find TeX all over the world on every
  1227.   computer family. Its greatest disadvantage is that it isn't very handy
  1228.   (works similar to a compiler) and it isn't wysiwyg. But many people
  1229.   like it. (BTW: This document is written using TeX. 8-) See Word
  1230.   Processors.
  1231.   
  1232.      There are two major implementations on the Amiga. The first one,
  1233.   Amiga-TeX, from Thomas Rockicki and Radical Eye software is commercial.
  1234.   It is said to be excellent and his owners seem to be very satisfied.
  1235.   But it costs at least 200$.
  1236.   
  1237.      I recommend PasTeX, a freely distributable version. People seem to
  1238.   have problems installing PasTeX, especially the font loading and
  1239.   generation (It's a quite complex program.) but I did not here anyone
  1240.   upset once it was installed. (A friend with knowledge of TeX helps
  1241.   immensely.) A few words should be said what you need:
  1242.      * 5 disks containing the TeX-compiler itself
  1243.   
  1244.      * 2 disks containing MetaFont
  1245.   
  1246.      * Nothing more Many people ask for fonts. They are included in the
  1247.   MetaFont-package and can get compiled by you. All you need to do is
  1248.   setting up your TeX-system in the right way which is described in the
  1249.   documentation. Please note that the PasTeX disks are compressed using
  1250.   the program Zoom. (see Endings) Sources: FTP at `ftp.uni-passau.de',
  1251.   directory `/pub/amiga/tex/PasTeX1.3' and the Fish CDs.
  1252.   
  1253.   4.5 Are there any Postscript interpreters?
  1254.   ==========================================
  1255.   
  1256.      PostScript is a programming language designed to be used to describe
  1257.   printing on pages. Apple helped make PostScript popular by selling
  1258.   printers with built in PostScript interpreters. Many programs have
  1259.   evolved to produce PostScript programs as their output, making
  1260.   PostScript the lingua franca of printing. Until recently, in order to
  1261.   print a PostScript file, you had to have a relatively expensive laser
  1262.   printer. The development that changed this was the software PostScript
  1263.   interpreter. These programs allow your computer to interpret PostScript
  1264.   programs, and produce the matrix of dots to send to your normal
  1265.   graphics printer.
  1266.   
  1267.      One of the benefits of PostScript is that it is resolution
  1268.   independent.  What this means is that it can support the highest
  1269.   resolution of your device - and that you can reasonably preview
  1270.   PostScript on a low resolution screen.
  1271.   
  1272.      There are two free PostScript interpreters for the Amiga. Post and
  1273.   Ghostscript. Post comes as an Amiga shared library along with front
  1274.   ends for previewing to the screen and printing. This structure allows
  1275.   others to write programs that can show PostScript images on screen. In
  1276.   fact, AmigaTeX uses Post's library to support incorporation of
  1277.   PostScript into documents.  Ghostscript similarly comes in two
  1278.   programs, but not as a shared library.  Ghostscript is the rendering
  1279.   engine, and Ghostview is the front end.  Sources: Aminet (directorys
  1280.   `text/print' and `text/dtp'), Fish disk 669
  1281.   
  1282.   5 How about Graphics?
  1283.   *********************
  1284.   
  1285.      Graphics is one of the major strengths of the Amiga. Why don't we
  1286.   have more answers here? :-(
  1287.   
  1288.   5.1 What are chunky and planar displays?
  1289.   ========================================
  1290.   
  1291.      Simply put, the terms `chunky' and `planar' (short for `bitplanar')
  1292.   refer to different ways of storing graphics information in a computer's
  1293.   memory. They are rather easy to understand, as far as things go, but
  1294.   incredibly difficult to explain:
  1295.   
  1296.      Computer images are arranged as a grid of pixels, each of which can
  1297.   be thought of as a number representing the color number of the pixel,
  1298.   sort of like a paint-by-numbers scheme.  For example, here's a
  1299.   simplified example image, in four colors:
  1300.   
  1301.           00302132
  1302.   
  1303.      The Amiga stores this image in a `bitplane' mode. That is, it is
  1304.   represented by several planes of bits (binary digits, 1s or 0s). This
  1305.   is a four-color image, so each color number could be represented by two
  1306.   bits.  Therefore there are two bitplanes:
  1307.   
  1308.           00100110    Here's bitplane 0
  1309.           00101011    And here's bitplane 1
  1310.           --------    Now, let's add them up, binary style:
  1311.           00302132
  1312.   
  1313.      Which is the final image. If the image was in two dimensions, it
  1314.   would truly be composed of bit planes. However, I'd need three
  1315.   dimensions to show multiple bitplanes overlayed, and therefore for
  1316.   simplicity we're working in one dimension (which is all we need).
  1317.   
  1318.      Now, there's another way of storing this image.  How about if we
  1319.   localize the bit data in little chunks?
  1320.   
  1321.           00 00 11 00 01 10 11 01 = 00302132
  1322.   
  1323.      This is the principle of the `chunky' pixel mode.
  1324.   
  1325.      Both methods of image storage are perfectly logical, and no one can
  1326.   say that one is better than the other. However, there are certain
  1327.   technical aspects which cause certain advantages and disadvantages.
  1328.   
  1329.      First, if you've seen colored text scroll on your Amiga, you know
  1330.   there is a bit of "flicker" that arises. Specifically, what happens is
  1331.   that while the text is scrolling, its color temporarily changes to
  1332.   something completely different. What's happening is that the computer's
  1333.   moving several bitplanes of data while the raster (monitor electron
  1334.   gun) is sweeping across the screen. What that means is that, if the
  1335.   raster catches the data while it's being moved, you can end up with some
  1336.   bitplanes being moved and some not. What if we filled bitplane 1 in the
  1337.   example above with 0s? Instantly all the 3s become 1s, and the 2s
  1338.   become 0s! This is what causes "flicker" when certain colors are
  1339.   scrolled. By contrast, if a chunky pixel display is caught while
  1340.   scrolling, all we see is a partially-scrolled image; the colors are
  1341.   preserved (since their units are the small ones).
  1342.   
  1343.      That's a disadvantage to planar pixels, but what about chunky pixels?
  1344.   Well, recall that a computer organizes information in terms of 8 bit
  1345.   bytes. These groups are static; you cannot decide to all of a sudden
  1346.   organize data in terms of three bytes or something! Therefore, when
  1347.   using chunky pixels, things get complicated if we decide to use a
  1348.   nonconvenient number of bits per pixel. In practice, the 8-bit
  1349.   (256-color) mode, and 24-bit (16 million color) modes are the most
  1350.   common candidates for chunky pixel displays.
  1351.   
  1352.      Finally, certain effects can be accomplished with the different
  1353.   systems.  Bitplanar mode is particularly useful for things like shadows
  1354.   (where an extra bitplane is set with 1s instead of 0s), and chunky mode
  1355.   is great for perspective and "mapping" (since the data for each pixel is
  1356.   localized in a single "chunk"). The latter advantage makes chunky pixel
  1357.   mode really great for games, and is what made Wolfenstein 3-D possible.
  1358.   
  1359.      We all know that Amigas use the bitplane system for storing images.
  1360.   However, the Macintosh and PC(VGA) both use chunky pixel modes. While
  1361.   we can optimize our RAM usage with "bizarre" modes like 8- and
  1362.   128-color, they gain the advantages of non-flicker scrolling, and the
  1363.   programming simplicity of just writing a byte where you want the pixel
  1364.   to go.
  1365.   
  1366.      The difference between the two modes becomes problematic in things
  1367.   like emulation. EMPLANT has a "chunky to planar" routine which it uses
  1368.   to convert a Macintosh display into an Amiga one. "Chunky to planar"
  1369.   routines are also useful for getting chunky-inclined things to run on
  1370.   Amigas (see TMAPDemo, rotdemo). On a side note, there was some
  1371.   confusion as to what EMPLANT used the MMU for with regard to chunky to
  1372.   planar. The MMU itself is incapable of performing the algorithm for the
  1373.   conversion; rather, it is used to detect what portions of the display
  1374.   memory are updated from the Mac side, and therefore the processor is
  1375.   saved from having to perform the chunky to planar conversion for the
  1376.   entire display.
  1377.   
  1378.      I sincerely hope that helped clear up most of the mystery concerning
  1379.   the terms "Chunky" and "Planar"!
  1380.   
  1381.      (Joseph Luk, jluc@eis.calstate.edu)
  1382.   
  1383.   5.2 What is doublebuffering?
  1384.   ============================
  1385.   
  1386.      Don't be ashamed if you haven't a clue as to what this is. It's
  1387.   rather simple, really. Imagine you wanted to animate something by
  1388.   drawing out each frame. Now imagine you had only one piece of paper.
  1389.   Even if you drew pretty fast, it would be difficult to see what the
  1390.   animation looks like because you'd have to erase the frame you just
  1391.   drew, in order to draw the next one!
  1392.   
  1393.      What if you had two pieces of paper? Why, then, you could see the
  1394.   difference between two adjacent frames. First you'd draw your first
  1395.   frame on the first piece of paper, then you'd draw the second frame on
  1396.   the other piece.  Then you'd erase the picture on the first piece of
  1397.   paper, and draw in the third frame. Then you'd erase the picture on the
  1398.   second piece of paper, and draw in the fourth frame, and so forth.
  1399.   
  1400.      This is the principle of doublebuffering. The computer shows you the
  1401.   picture it just drew, then turns around and draws the next one. It then
  1402.   swaps the picture in front of you with the one it just drew, and
  1403.   repeats the process. The result is a smooth animation, because you
  1404.   never need to see the computer draw; all you see is each finished
  1405.   product.
  1406.   
  1407.      (Joseph Luk, jluc@eis.calstate.edu)
  1408.   
  1409.   5.3 What monitors will work on my Amiga 1200/4000?
  1410.   ==================================================
  1411.   
  1412.      Monitors can be classified after the horizontal scan frequency they
  1413.   require.  TVs, as well as C='s 1084 monitor, need frequencies around 15
  1414.   kHz. VGA/SVGA need approx. 30 kHz. Multisync monitors can take many
  1415.   frequencies.
  1416.   
  1417.      In short: You can use any monitor you want with an A1200. BUT:
  1418.   
  1419.      - If you use a regular VGA/SVGA monitor, you can only use a few
  1420.        display modes (like DblPAL, DblNTSC and/or Productivity). I.e.
  1421.        (320|640) x (256|512|1024) for DblPAL. This is great for Workbench
  1422.        and all "serious" utilities (DTP etc), but don't expect any games
  1423.        to work... they don't use your preferences, just take over the
  1424.        machine and assume a 15 kHz monitor. Also, you cannot utilize the
  1425.        "Early Startup Control" screen (you know, disable cache, and that
  1426.        stuff), which also requires a 15 kHz monitor. Furthermore, VGA
  1427.        monitors don't have speakers. And the VGA-type modes don't support
  1428.        Genlocks. But for a lot of "serious" work, a VGA monitor is quite
  1429.        adequate.
  1430.   
  1431.      - You already know what happens with a 15 kHz monitor; the
  1432.        flickering in Interlace mode. A small tip: Try to use NTSC instead
  1433.        of PAL. This increases the refresh rate from 25 Hz to 30 Hz, at
  1434.        the expense of lower vertical resolution (482 lines maximum). The
  1435.        NTSC and PAL modes aren't as bad as many people think. If your
  1436.        monitor has a lot of phosphorous (long afterglow), PAL Laced can
  1437.        be quite OK, and it gives you a resolution of 1448x566 in
  1438.        SuperHiRes. That's the highest resolution currently supported on
  1439.        AGA Amigas, in _any_ display mode.
  1440.   
  1441.      - A Multisync gives you the best of both worlds. The new 1940 and
  1442.        1942 monitors from C= are quite OK, although rather cumbersome to
  1443.        use... The h/v size and offset must be set manually each time you
  1444.        switch display mode.  (1)
  1445.   
  1446.      For a VGA/SVGA or Multisync monitor, you'd need a little shiny box
  1447.   which gives you the standard 15-pin "D" connector. It costs around $15.
  1448.   
  1449.      There are other alternatives... like the "AmiVGA" box ($50 or so),
  1450.   which I think is a cheapo version of the Flicker Fixer. (But it's
  1451.   really a shame to use this on an AGA Amiga.)
  1452.   
  1453.      Also, you can get a VGA monitor, and hook up your TV to the
  1454.   composite or RF port on the Amiga - one monitor for games, one for
  1455.   serious stuff.
  1456.   
  1457.      (Per Espen Hagen, per.e.hagen@ffi.no)
  1458.   
  1459.      ---------- Footnotes ----------
  1460.   
  1461.      (1)  A patch is available on Aminet for Kickstart 3.0 to do this
  1462.   without manual actions in the file `os30/util/Monitor30Patch.lha'.
  1463.   
  1464.   5.4 How do I switch between PAL and NTSC?
  1465.   =========================================
  1466.   
  1467.      PAL and NTSC are two different video standards, the former being
  1468.   European, and the latter being American. PAL has a slightly taller
  1469.   screen (256 lines non-interlaced, non-overscanned) as opposed to NTSC
  1470.   (200 lines), so if you see the bottom portion of a program's screen
  1471.   getting cut off on your American machine, chances are the program was
  1472.   written for PAL, and is running on your shorter NTSC screen. PAL and
  1473.   NTSC differences are somewhat less important to European users; since
  1474.   their machines default to PAL, running an NTSC program is no more than
  1475.   a minor annoyance having the screen only appear in the top portion of
  1476.   the display.
  1477.   
  1478.      Therefore, for us NTSC folks, switching into PAL mode becomes
  1479.   important to avoid loss of some picture on Euro Demos, etc.
  1480.   
  1481.      First, the most common misconception about switching between PAL and
  1482.   NTSC is that you need a Multiscan or special monitor for such a purpose.
  1483.   Not so! Just about any monitor can handle the minor signal difference
  1484.   between PAL and NTSC (50Hz vertical refresh versus 60Hz). The 108x,
  1485.   19xx, and 20xx series, and even most TVs, can display both PAL and NTSC.
  1486.   Sometimes it is necessary to perform minor tweaking of vertical hold
  1487.   and/or v. size on your monitor to achieve full display, though this is
  1488.   trivial.
  1489.   
  1490.      What IS needed to switch between PAL and NTSC in software, is a
  1491.   "Fatter" (1MB) Agnus or better. If your system has more than 512K of
  1492.   CHIP RAM (use the avail command to find out) you have this chip. If you
  1493.   do not, ou can still construct a hardware switch (see below).
  1494.   
  1495.      The following directions assume you're an NTSC user who wants to
  1496.   switch into PAL mode, but the procedure for going from PAL to NTSC is
  1497.   much the same.
  1498.   
  1499.      The most common use of switching into PAL is for self-booting games,
  1500.   demos, etc.  The best way to accomplish this on pre-3.0 systems is to
  1501.   use Chris Hames' Degrader program (most recent version: 1.30). Once you
  1502.   have procured this program, the switch is as simple as selecting
  1503.   "50Hz", and "50Hz System", then installing the program's ROMTag (little
  1504.   program that runs at boot-time) by pressing the "Survive Reset(s)"
  1505.   button.
  1506.   
  1507.      AmigaDOS 3.0 added a PAL/NTSC switch feature to its Boot Menu, and
  1508.   all you need to do in order to access this is hold down both mouse
  1509.   buttons as the computer boots. Select Display Options, Display
  1510.   Mode/PAL, and then Boot. If the program still fails to go into PAL mode
  1511.   (Zool is one I've found), you may wish to get Degrader anyway and try
  1512.   that.
  1513.   
  1514.      Software PAL/NTSC switching is easy and painless. Some people have
  1515.   gone even further by installing hardware PAL/NTSC switches. This
  1516.   results in a system which even the most nasty hardware-banging programs
  1517.   can't bring to its original configuration (if it has been switched).
  1518.   The procedure is simple - most Amigas have jumpers already - but beyond
  1519.   the scope of this document.
  1520.   
  1521.      Therefore, if your screen is too short or cut off, seek the different
  1522.   screen mode. You'll "see new horizons", literally!
  1523.   
  1524.      (Joseph Luk, jluc@eis.calstate.edu)
  1525.   
  1526.      (1)
  1527.   
  1528.      ---------- Footnotes ----------
  1529.   
  1530.      (1)  PAL/NTSC switching with a MultiSync monitor is possible on 2.0+
  1531.   and easily accomplished by moving the PAL monitor type to (or NTSC, as
  1532.   applicable, I have them both in) the Devs/Monitors drawer (from the
  1533.   Storage/Monitors drawer), reboot, then go into the Prefs drawer and
  1534.   select the ScreenMode program. You will see at least two PAL modes
  1535.   available (PAL and PAL Interlaced). Simply select one of the (usually
  1536.   non-interlaced for demos) and select "Use". All windows on the Workbench
  1537.   will close, the video mode will change, and then the windows will
  1538.   reopen - that simple!
  1539.   
  1540.      Allen J. Newton, anewton@alturia.abq.nm.us
  1541.   
  1542.   6 Emulators
  1543.   ***********
  1544.   
  1545.      What? The Amiga isn't good enough? You really want it to be another
  1546.   machine?  Well, look here...
  1547.   
  1548.   6.1 Can I run Unix on my Amiga?
  1549.   ===============================
  1550.   
  1551.      Actually there are three Unix versions on the Amiga. All of them
  1552.   need at least 68030 (see 68EC0xx), probably a 68040 in the near future
  1553.   and seem to have problems with many hard-drive-controllers. You should
  1554.   have a good look into the documentation before installing it. Unix
  1555.   needs much resources, say at least 10Mb RAM and a 150Mb Unix-partition
  1556.   on the hard-drive.
  1557.   
  1558.     1. Commodore offered a System V Unix in the past. It contained TCP/IP,
  1559.        X11 and other software and seemed to make a good job, but it was
  1560.        expensive and after all Commodore has dropped developing it.
  1561.        Commodore-Unix needs a streamer because it is distributed on tapes.
  1562.   
  1563.     2. A Linux port is prepared. But actually there is not very much than
  1564.        the kernel. Specialists might like to use it, but it cannot be
  1565.        recommended for now. Linux is freely distributable. Sources:
  1566.        `ftp.uni-paderborn.de', directory `/pub/amiga/linux' or
  1567.        `ftp.uni-erlangen.de', directory `/pub/LINUX/MIRROR.tsx-11/680x0'.
  1568.   
  1569.     3. NetBSD is freely distributable too. Like Linux it isn't ready for
  1570.        now, but it seems to make big steps. Most GNU software is said to
  1571.        run, especially emacs and gcc. I think it's worth to have a look
  1572.        on it. Sources: `ftp.uni-paderborn.de', directory
  1573.        `/pub/amiga/NetBSD' or `ftp.uni-erlangen.de', Directory
  1574.        `/pub/amiga/unix/NetBSD'.
  1575.   
  1576.   6.2 Is it possible to use the Amiga as X11 terminal?
  1577.   ====================================================
  1578.   
  1579.      Yes, it is. There are two different packages available:
  1580.   
  1581.      GfxBase offers a commercial version which is said to be excellent,
  1582.   but expensive. The distribution includes different window managers
  1583.   andclients.  A demo version is on Aminet.
  1584.   (`gfx/x11/GfxBase-X11-Demo.lha')
  1585.   
  1586.      DaggeX is freely distributable and probably not finished yet. (It
  1587.   calls itself version 0.91.) Source: Aminet, `gfx/x11/DaggeX-0.91.lha'
  1588.   and `gfx/x11/twm_930531.lha'.
  1589.   
  1590.   7 Miscellaneous
  1591.   ***************
  1592.   
  1593.      This last chapter contains some questions that don't fit in the
  1594.   chapters above.
  1595.   
  1596.   7.1 Is there any unix version of LhA?
  1597.   =====================================
  1598.   
  1599.      See Endings.
  1600.   
  1601.   7.2 What are files ending with ...?
  1602.   ===================================
  1603.   
  1604.      Most endings on FTP sites or Fish disks tell you that the file is
  1605.   compressed and/or is an archive containing more than one file. Some
  1606.   programs even archive whole disks. Frequently found endings and
  1607.   programs to handle the related files are:
  1608.   *.sfx*
  1609.        Compressed archives which are included in an executable program:
  1610.        Just call the program and it will extract itself (sfx = self
  1611.        extract)
  1612.   
  1613.   *.lha*
  1614.   *.lzh*
  1615.        Compressed archives; recommended: LhA (`util/arc/LhA_e138.run' on
  1616.        Aminet  or Fish disk 715) or Lx (`util/arc/lx100.lha' on Aminet),
  1617.        Unix version available (`misc/unix/lha-1.00.tar.Z')
  1618.   
  1619.   *.dms*
  1620.        Disks compressed using DMS (`util/arc/dms111.sfx' on Aminet or
  1621.        Fish disk 406)
  1622.   
  1623.   *.zom*
  1624.        Disks compressed using Zoom (`util/arc/Zoom_5.4.lha' on Aminet,
  1625.        Fish disk 682); an older version which you probably need for
  1626.        uncompressing PasTeX is found on Fish disk 459.
  1627.   
  1628.   *.zoo*
  1629.        Compressed archive; recommended: Zoo (`util/arc/zpp2-10.lzh' on
  1630.        Aminet or Fish disk 527)
  1631.   
  1632.   *.Z*
  1633.   *.z*
  1634.   *.gz*
  1635.        Compressed files; recommended gzip (`util/pack/gzip124x.lha' on
  1636.        Aminet), note that this are Unix files in most cases
  1637.   
  1638.   *.tar*
  1639.        Acrhive; recommended: tar (`util/arc/tar.lha' or
  1640.        `util/arc/gtar10.lha' on Aminet or Fish disk 445), note that tar is
  1641.        a Unix archiver and you often find soething like `.tar.Z'.
  1642.   
  1643.   *.arj*
  1644.        Compressed archive; recommended unarj (`util/arc/unarj-0.5.lha' on
  1645.        Aminet)
  1646.   
  1647.   *.zip*
  1648.        Compressed archive; recommended UnZip (`util/arc/unzip-5.1.lha' on
  1649.        Aminet), note that this are MS-Dos archives in most cases
  1650.   
  1651.   7.3 Is there a Stacker-like utility to pack my hard drive?
  1652.   ==========================================================
  1653.   
  1654.      XFH does a good job. It operates as a handler and uses the
  1655.   XPK-libraries, so you have different compression modes (NUKE is a good
  1656.   choice) and possibly even more in the future. The only disadvantage is,
  1657.   that the size of a file is limited by RAM: Don't use it with less than
  1658.   2MB of RAM.
  1659.   
  1660.      XPKDisk by Olaf 'Rhialto' Seibert is another stacker program that
  1661.   takes advantage of the variety of XPK libraries available. Unlike other
  1662.   harddisk compressors it does not compress the files, but creates a
  1663.   pseudo partition and stores the whole tracks as compressed files on
  1664.   your harddisk. Its major advantage is that it does not limit the
  1665.   maximum file size, because it works similar to trackdisk.device and
  1666.   therefore does not need too much temporary storage. But be careful:
  1667.   Never try to optimize an xpkdisk partition using ReOrg. It will trash
  1668.   your virtual partition.
  1669.   
  1670.      Another possibility is EPU. It's shareware and should offer the same
  1671.   as XFH, but without limiting the file size.
  1672.   
  1673.      Sources: Aminet, directory `util/pack', Fish disks 754 (XFH) and 858
  1674.   (EPU)
  1675.   
  1676.   7.4 Where do I get Fish disk xxx?
  1677.   =================================
  1678.   
  1679.      Those FTP servers have that much space (or a CD-Rom) to have all
  1680.   fish disks available online:
  1681.        ftp.isca.uiowa.edu      (USA, directory `/amiga/fx/fxxx')
  1682.        ftp.hawaii.edu          (USA, directory `/pub/amiga/fish')
  1683.        ftp.dfv.rwth-aachen.de  (Germany, directory `/pub/amiga/fish')
  1684.        ftp.uni-erlangen.de     (Germany, directory `/pub/amiga/pd')
  1685.        ftp.funet.fi            (Finland, directory `/pub/amiga/fish')
  1686.   
  1687.   Note that the CD-Rom's are not always mounted. See FTP.
  1688.   
  1689.      Another possibility would be to ask your local dealer. :-)
  1690.   
  1691.   7.5 What is MUI and where do I find it?
  1692.   =======================================
  1693.   
  1694.      MUI is a set of shared libraries which are used to build a
  1695.   comfortable GUI (`Graphical user interface'). The general idea of MUI
  1696.   is that the programmer determines only the logical structure of the GUI
  1697.   and the look (Font, Size, Windows on Workbench, Public Screen, own
  1698.   Screen, ...) is determined by the user only. From the programmers point
  1699.   of view using MUI is simpler than `gadtools.library' but much more
  1700.   powerful. On the other hand MUI interfaces are slower than
  1701.   GadTools-Interfaces, especially on old 68000 machines.
  1702.   
  1703.      MUI is found in two archives, one for developers only and one for
  1704.   users. Source: Aminet, `dev/misc'.
  1705.   
  1706.   8 Where and how do I get software and other informations?
  1707.   *********************************************************
  1708.   
  1709.      Three questions arise in this context: Which programs can be found,
  1710.   where are they and how to get them and transfer them home?
  1711.   
  1712.   8.1 Files and databases on freely distributable software
  1713.   ========================================================
  1714.   
  1715.      Of course you need to know where you find things. Many good choices
  1716.   are listed in this paper, as I hope. Other sources are:
  1717.   
  1718.   *AmigaSciSchool*
  1719.        is a list of software and where you find it in Ascii format. It is
  1720.        posted monthly to the newsgroups `comp.sys.amiga.applications',
  1721.        `comp.unix.amiga', and `news.answers'. Additionally you will find
  1722.        it on Aminet sites (`text/doc/AmigaSciSchool-4.01'). It handles
  1723.        everything listed here and many more, for example GNU software,
  1724.        libraries (linked and shared), shells, Unix commands, educational
  1725.        and scientific software and much more.
  1726.   
  1727.   *FishCon*
  1728.        are lists of the Fish disk contents. (`fish/doc/fishcon-???.lzh' on
  1729.        Aminet)
  1730.   
  1731.   *FishXref*
  1732.        is a cross reference list of the Fish contents.
  1733.        (`fish/doc/fishxref-???.lzh' on Aminet) FishXref and Fishcon are in
  1734.        Ascii format.
  1735.   
  1736.   *KingFisher*
  1737.        A Fish disk database, (`fish/doc/Kingfisher1_30.lha', which is the
  1738.        program and `fish/doc/KFData850.lha' ,which contains the data, on
  1739.        Aminet or Fish disk 863) allows search by name and context. See
  1740.        Fish.
  1741.   
  1742.   8.2 A collection of tests
  1743.   =========================
  1744.   
  1745.      `Comp.sys.amiga.reviews' is a moderated newsgroup where tests of
  1746.   soft- and hardware, books and anything else relevant to the Amiga are
  1747.   posted. Its always a good idea to check this newsgroup for a review, if
  1748.   you are interested in something special. Of course you always find only
  1749.   the latest reviews, but the older postings are available per FTP from
  1750.   `math.uh.edu', Directory `/pub/Amiga/comp.sys.amiga.reviews' or on the
  1751.   Fish CDs.
  1752.   
  1753.   8.3 Getting files from a FTP server
  1754.   ===================================
  1755.   
  1756.      Things are easy for those who have access to the Internet and a
  1757.   program called FTP (File Transfer Program). Nearly all Unix computers
  1758.   have it, but not all of them allow the use of FTP.
  1759.   
  1760.      FTP allows you to gain access to some other machines and store and/or
  1761.   retrieve files. Normally one needs an acoount on the remote machine to
  1762.   use it, bat a number of machines have a setup that allows everybody to
  1763.   log in as the user `ftp' or `anonymous', so anybody may get files from
  1764.   them. The most important of this servers are the Aminet servers, which
  1765.   mirror each other and hence should have the same files. They are the
  1766.   best choice if you are looking for Amiga software. Aminet hosts are
  1767.        USA (MO)     ftp.wustl.edu           128.252.135.4
  1768.        USA (CA)     ftp.cdrom.com           192.153.46.2
  1769.        USA (TX)     ftp.etsu.edu            192.43.199.20
  1770.        Scandinavia  ftp.luth.se             130.240.18.2
  1771.        Germany      ftp.uni-kl.de           131.246.9.95
  1772.        Germany      ftp.uni-erlangen.de     131.188.1.43
  1773.        Germany      ftp.cs.tu-berlin.de     130.149.17.7
  1774.        Germany      ftp.uni-paderborn.de    131.234.2.32
  1775.        Germany      ftp.uni-oldenburg.de    134.106.40.9
  1776.        Germany      ftp.coli.uni-sb.de      134.96.68.11
  1777.        Switzerland  ftp.eunet.ch            146.228.10.16
  1778.        Switzerland  litamiga.epfl.ch        128.178.151.32
  1779.        UK           ftp.doc.ic.ac.uk        146.169.2.1
  1780.      All these mirrors have a directory `/pub/aminet', where you will find
  1781.   much stuff. Please use a mirror close to you! Some other important hosts
  1782.   are
  1783.        ftp.funet.fi             (Finland)
  1784.        ftp.isca.uiowa.edu       (USA)
  1785.        ftp.hawaii.edu           (USA)
  1786.        ftp.cso.uiuc.edu         (USA)
  1787.        ftp.dfv.rwth-aachen.de   (Germany)
  1788.      Note that grind, aachen and erlangen have the full collection of Fish
  1789.   disks available! See Fish disk xxx.
  1790.   
  1791.      To connect to a special host (ftp.uni-erlangen.de for example), you
  1792.   should type
  1793.        ftp ftp.uni-erlangen.de
  1794.   
  1795.   The host answers by requesting your login. You should type
  1796.        ftp
  1797.   
  1798.   No you are asked for a password. Please type your Email address here, if
  1799.   you have one. If not, use the password ftp.
  1800.   
  1801.      Now you're inside the host. There is a number of commands you may
  1802.   execute here. The most important are:
  1803.   *?*
  1804.        Prints the help text of the FTP command. Additionally you may type
  1805.        *? command* to get information on a special command.
  1806.   
  1807.   *bin*
  1808.        Tells the FTP program that you whish to transfer binary files. It
  1809.        is always a good choice to type bin as the very first command!
  1810.        Files you load without the bin command can be corrupt.
  1811.   
  1812.   *get <file>*
  1813.        Loads the given file from the host. On most Unix machines you can
  1814.        type something like `get file.txt -' or `get file.txt |more' to
  1815.        show a text on the screen. Note that there *must not* be any blank
  1816.        between the | and the word more!
  1817.   
  1818.   *mget <pat>*
  1819.        Loads the given files. pat may contain Unix style like wildcards.
  1820.   
  1821.   *put <file>*
  1822.   *mput <pat>*
  1823.        Like get and mget, but transfer files from you to the remote host.
  1824.        This is in most cases not allowed, except for a special directory
  1825.        called `incoming'. You can place files here which you want to make
  1826.        public.
  1827.   
  1828.   *cd <dir>*
  1829.        Like the usual cd command. The commands get, mget, put, mput, dir
  1830.        and ls refer to the current working directory.
  1831.   
  1832.   *dir [<dir>]*
  1833.   *ls [<dir>]*
  1834.        Like `list' and `dir' on the Amiga. Note that the FTP-dir
  1835.        corresponds to the Amiga-list!
  1836.   
  1837.   *bye*
  1838.        Leaves the FTP program.
  1839.   
  1840.      When you have used FTP for the first times you will notice, that you
  1841.   always begin with executing the same steps:
  1842.     1. Type the login (ftp in most cases)
  1843.   
  1844.     2. Type the password (your mail address in most cases)
  1845.   
  1846.     3. Enter the bin command
  1847.   
  1848.     4. Change the current working directory (`/pub/aminet' for example)
  1849.           This may get executed automatically. What you need is a file
  1850.   called `.netrc' in your home directory. Note that it needs to be
  1851.   protected against others! The FTP program doesn't use it, if it can be
  1852.   read by anything else than you. (Protection is set using the command
  1853.   `chmod go-rwx .netrc'.) The .netrc file contains some entries for your
  1854.   most favourite FTP sites, each separated by empy lines. A typicel entry
  1855.   may look like this:
  1856.        machine ftp.uni-erlangen.de
  1857.        login ftp
  1858.        password <your mail address> or <ftp>
  1859.        macdef init
  1860.            bin
  1861.            cd pub/aminet
  1862.      Note that on some machines it is possible to use the machine name
  1863.   `default' which meets all machines not listed in .netrc.
  1864.   
  1865.   8.4 Getting files from a Mail server
  1866.   ====================================
  1867.   
  1868.      Another way to get files is to use a mail server. This assumes that
  1869.   you can send mail to Internet addresses and get mail from Internet
  1870.   hosts. It works by sending a mail to the server specifying some
  1871.   commands, for example send commands for the files you want. Important
  1872.   mail servers are
  1873.        ftpmail@decwrl.dec.com
  1874.        mailserver@nic.funet.fi
  1875.        ftp-mailer@ftp.informatik.tu-muenchen.de
  1876.        mrcserv@janus.mtroyal.ab.ca
  1877.        mail-server@ftp.cs.tu-berlin.de
  1878.        mail-server@rtfm.mit.edu
  1879.   
  1880.   The most important commands are:
  1881.   *Help*
  1882.        Tells the server that you wish to get an Ascii file containing
  1883.        detailed explanation how to use the server.
  1884.   
  1885.   *Limit <number>*
  1886.        Specifys that you wish to get not more than <number> Kbytes per
  1887.        mail.  Larger files get splitted into small pieces of at most
  1888.        <number> Kbytes which are sent as separate mails each. Note that
  1889.        the mails may get larger because of overhead.
  1890.   
  1891.   *Cwd <dir>*
  1892.        Sets the current working directory to <dir>. This directory is
  1893.        used by the commands send and dir.
  1894.   
  1895.   *Index*
  1896.        will return a list of files and/or directories that the server
  1897.        offers. Note that this may be *very* large!
  1898.   
  1899.   *Index <item>*
  1900.        returns a list of files containing <item> in their names.
  1901.   
  1902.   *Dir [<dir>]*
  1903.        returns a list of the files and directories in the given directory.
  1904.   
  1905.   *Send <file1> <file2> ... <fileN>*
  1906.        Tells the server to send the given files to you.
  1907.   
  1908.   *Begin*
  1909.        Tells the server to ignore all lines above this command.
  1910.   
  1911.   *End*
  1912.        Like Begin, but specifies to ignore the lines below. (A signature
  1913.        for example!) A typical session would be to send the following
  1914.   mail to the mail server:
  1915.        BEGIN
  1916.        CD /pub/aminet/util/arc
  1917.        SEND LhA_e138.run
  1918.        END
  1919.   
  1920.   8.5 The Fish disks
  1921.   ==================
  1922.   
  1923.      A very good source are the Fish disks. One distinguishes between the
  1924.   floppy disks and the CD-Roms.
  1925.   
  1926.   8.5.1 The Amiga Library disks
  1927.   -----------------------------
  1928.   
  1929.      Fred Fish has started in the middle eighties to collect freely
  1930.   distributable software on floppy disks. There are more than 900 disks
  1931.   for now and very much good stuff on it. Most Amiga dealers sell them
  1932.   and most magazines contain addresses of people mailing them to you for
  1933.   about 3$ per disk or less.
  1934.   
  1935.      Fred Fish has announced to terminate offering software on floppy
  1936.   disks with number 1000. Instead he offers CD-Roms. See Fish CD.
  1937.   
  1938.      There are some things which can be found on the Fish disks, but not
  1939.   on Aminet.  However, you can get them with FTP. See Fish disk xxx.
  1940.   
  1941.   8.5.2 The Fresh Fish CD-Roms
  1942.   ----------------------------
  1943.   
  1944.      Fred Fish is going on to offer freely distributable software. But
  1945.   now he collects it on CD-Rom's. He will release two different kinds of
  1946.   CD's:
  1947.     1. Monthly released disks are divided into roughly three sections:
  1948.          1. New material, which includes the material from the new
  1949.             unreleased floppy disks as well as material which does not
  1950.             appear in the floppy distribution, about 84Mb on the first
  1951.             disk.
  1952.   
  1953.          2. Useful utilities that can be used directly off the CD-ROM if
  1954.             desired, thus freeing up the corresponding amount of hard
  1955.             disk space (GNU Emacs, Gnu C, GNU C++, Amiga E, PasTeX,
  1956.             AmigaGuide, Installer, 2.0 and 3.0-Includes, different
  1957.             archivers, tape drivers, the AmiCDROM filesystem and many
  1958.             other GNU and BSD tools, ...), about 150Mb on the first disk.
  1959.   
  1960.          3. Older material from previous released floppy disks or
  1961.             CD-ROM's, about 404 Mb on the first disk. (Fish disk 600-910)
  1962.   
  1963.     2. Disks containing the latest software as well as recent software in
  1964.        packed format only. (These are intended to be used for example in
  1965.        BBS's.)
  1966.           I recommend especially the first kind of Fish CD's. They cost
  1967.   about 20$ plus 3$ for shipping (5$ outside USA/Canada/Mexico) and are
  1968.   available from
  1969.   
  1970.        Amiga Library Services
  1971.        610 N. Alma School Road, Suite 18
  1972.        Chandler, AZ 85224-3687
  1973.        U.S.A.
  1974.        
  1975.        Phone/FAX: (602) 917-0917
  1976.   
  1977.   8.6 How do I Read and write MS-Dos disks?
  1978.   =========================================
  1979.   
  1980.      No problem for owners of Workbench 2.1 or higher: The program
  1981.   CrossDos is part of the Workbench. All you have to do is mounting the
  1982.   device `pc0:' by putting it into the drawer `Devs:DOSDrivers' or by
  1983.   double-clicking the icon in `Sys:Storage/DOSDrivers'. Ms-Dos disks in
  1984.   drive `df0:' can now be handled in the usual manner replacing the word
  1985.   `df0:' by `pc0:'. For example the directory can be shown with the
  1986.   command dir pc0:.
  1987.   
  1988.      People still running Workbench 2.0 or lower need a program called
  1989.   `MSH'.  You will find this on the Aminet (directory misc/emu) and on
  1990.   Fish disk 382.  See Sources. After editing the file `devs:MountList' as
  1991.   described in the documentation you have to say Mount msh: in the CLI
  1992.   and can now do the same as above replacing the word `pc0:' with `msh:'.
  1993.   
  1994.   8.7 How do I split large files?
  1995.   ===============================
  1996.   
  1997.      There are some archives which are too large to fit on one disk. To
  1998.   transfer them on disks you need to split them into smaller pieces and
  1999.   transfer each part on a separate disk. I recommend Martin Schlodder's
  2000.   `Splitter'.  (Aminet, `util/misc/splitter_121.lha'. The archive
  2001.   contains binaries for MS-DOS and should be compilable without problems
  2002.   on any Unix system.
  2003.   
  2004.   8.8 Discussing things
  2005.   =====================
  2006.   
  2007.      A mailing list is a server that allows to discuss special things via
  2008.   Email. The server holds a list of people that are interested in the
  2009.   respective topic. For example, the gcc mailing list will discuss bugs,
  2010.   new features and other problems of gcc. (see Compilers) If a mail is
  2011.   sent to the server from someone he will forward this mail to all the
  2012.   other people on the list.
  2013.   
  2014.      You will be added to the list by sending a mail to the server which
  2015.   will usually contain the word `Subscribe' or something similar. Once you
  2016.   are no more interested in the mailing list you can unsubscribe.
  2017.   
  2018.      Unforunately the servers have a different syntax of subscribing and
  2019.   unsubscribing. The best way to find how to subscribe is to send a mail
  2020.   with the word `Help' to the server. He will reply a mail which should
  2021.   explain how to handle this special server.
  2022.   
  2023.      Some mailing lists are:
  2024.        Topic           Server
  2025.        
  2026.        Amok            listserv@amokle.stgt.sub.org
  2027.        Dice            dice-request@castrov.cuc.ab.ca         or
  2028.                        dice-request@hactar.hanse.de (Germany)
  2029.        gcc             listserv@lists.funet.fi
  2030.        Lisp            amigalisp@contessa.phone.net
  2031.        Mui             mui-request@taloa.unice.fr
  2032.        Oberon-A        oberon-a-request@wossname.apana.org.au
  2033.   
  2034.   8.9 Other FAQ's
  2035.   ===============
  2036.   
  2037.      This is not the only FAQ, of course. Lots of FAQ's are available
  2038.   either by being posted to newsgroups or by access via FTP.
  2039.   
  2040.   *Amiga related books FAQ*
  2041.        This is a list of books for the Amiga, including short discussions,
  2042.        prices and sources. Newsgroups: comp.sys.amiga.misc,
  2043.        comp.sys.amiga.introduction, comp.sys.amiga.programmer (monthly)
  2044.        Ftp: rtfm.mit.edu, pub/usenet/comp.sys.amiga.misc.  Maintainer:
  2045.        Marc Atkins, atkin@cs.umass.edu
  2046.   
  2047.   *AmiTCP/IP FAQ*
  2048.        This is for users of AmiTCP/IP, a set of programs which allows to
  2049.        include an Amiga into a TCP/IP network. (Most well known nets,
  2050.        Internet for example use TCP/IP.) Newsgroups: comp.sys.amiga.misc,
  2051.        comp.sys.amiga.datacomm, comp.sys.amiga.networking (biweekly) Ftp:
  2052.        rtfm.mit.edu, pub/usenet/comp.sys.amiga.networking Maintainer:
  2053.        Neil J. McRae (atcpfaq@domino.demon.co.uk)
  2054.   
  2055.   *Amiga Networking FAQ*
  2056.        Unlike the AmiTCP/IP FAQ this one wants to cover all aspects of
  2057.        networking, including TCP/IP and Envoy.  Newsgroups:
  2058.        comp.sys.amiga.datacomm, comp.sys.amiga.hardware Ftp:
  2059.        rtfm.mit.edu, pub/usenet/comp.sys.amiga.networking Maintainer:
  2060.        Richard Norman (norman@afas.msfc.nasa.gov)
  2061.   
  2062.   *Point Manager FAQ*
  2063.        Networking seems to be quite a problem: This FAQ os for Point
  2064.        Manager, a FidoNet-client (so-called points).  Newsgroups:
  2065.        comp.sys.amiga.datacomm Ftp: rtfm.mit.edu,
  2066.        pub/usenet/comp.sys.amiga.datacomm Maintainer: Eric Krieger
  2067.        (pm_faq@quasar.hacktic.nl)
  2068.   
  2069.   *All about FTP*
  2070.        Explains the usage of the file transfer program FTP. See FTP.
  2071.        Newsgroups: comp.sys.amiga.misc (monthly) Ftp: Aminet, info/start
  2072.        Betreuer: Urban Dominik Mueller (umueller@amiga.icu.net.ch)
  2073.   
  2074.   The Amiga-FAQ archive
  2075.   *********************
  2076.   
  2077.      The Amiga-FAQ is available in different formats: Ascii format (which
  2078.   is posted to the nets) AmigaGuide format (which is the adequate format
  2079.   on the Amiga) and in dvi format (to be printed). Additionally there is
  2080.   some stuff, that might be useful or interesting, but could not be
  2081.   included into the Amiga-FAQ:
  2082.        txt/amiga.history       On the Amiga's history
  2083.        txt/story.txt           The Commodore story (or: the Tramiel
  2084.                                story ;-)
  2085.        txt/amiga.newsgroups    Overview on comp.sys.amiga.*
  2086.        txt/amiga.sites         List of FTP sites
  2087.        txt/AmigaOverview.tex   A short overview on the Amiga-Soft- and
  2088.                                Hardware
  2089.        txt/Hardware.tips       For those people who can't live without solder
  2090.        src/JWSplit.c           The source of a file splitter
  2091.        src/JWJoin.c            The opponent to JWSplit
  2092.        src/addtoc.c            Utility to add a toc to texinfo-created docs
  2093.                                (this document uses it)
  2094.   
  2095.      I decided to collect these in the Amiga-FAQ archive. It is called
  2096.   AmigaFAQxxxxxx.lha (where xxxxxx is the date of the last release) and
  2097.   can be found on Aminet, directory `text/docs'.
  2098.   
  2099.   Contributions
  2100.   *************
  2101.   
  2102.      This FAQ can neither get useful nor hit further development without
  2103.   your help. Suggestions, contributions, new answers, critics, anything
  2104.   is rather welcome.
  2105.   
  2106.      Please note, that very major subjects are absolutely missing yet:
  2107.   Nothing about sound, nothing on graphic cards, no Animation. These are
  2108.   some of the Amiga's best points! But I don't know them ... :-(
  2109.   
  2110.      So grab your keyboard (Your pencil? Well, if there's no other way...)
  2111.   and send mail to:
  2112.   
  2113.              Jochen Wiedmann
  2114.              Am Eisteich 9
  2115.        72555 Metzingen (Germany)
  2116.              Tel. 07123 / 14881
  2117.        
  2118.              Internet: wiedmann@mailserv.zdv.uni-tuebingen.de
  2119.   
  2120.   Credits
  2121.   *******
  2122.   
  2123.      My thanks go to:
  2124.   *Reinhard Spisser and Sebastiano Vigna*
  2125.        for the Amiga version of texinfo. This is written with it.
  2126.   
  2127.   *The Free Software Foundation*
  2128.        for the original version of texinfo and many other excellent
  2129.        programs.
  2130.   
  2131.   *Dylan McNamee*
  2132.        for contributing the sections on Editors, Word Processors, DTP and
  2133.        Postscript and some wording fixes.
  2134.   
  2135.   *Joseph Luk*
  2136.        for help in the section on chunky/planar, double buffering and
  2137.        PAL/NTSC
  2138.   
  2139.   *Urban Dominik Mueller*
  2140.        for the FAQ on FTP and Mail-servers.
  2141.   
  2142.   *Lars Hecking (lhecking@nmrc.ucc.ie)*
  2143.   *Philippe Brand (phb@colombo.telesys-innov.fr)*
  2144.        for the complete gcc part
  2145.   
  2146.   Index
  2147.   *****
  2148.   
  2149.   
  2150.   
  2151.    . (replacement)                        Dot-Replacement
  2152.    .arj                                   Endings
  2153.    .dms                                   Endings
  2154.    .gz                                    Endings
  2155.    .lha                                   Endings
  2156.    .lzh                                   Endings
  2157.    .netrc                                 FTP
  2158.    .sfx                                   Endings
  2159.    .tar                                   Endings
  2160.    .Z                                     Endings
  2161.    .z                                     Endings
  2162.    .zip                                   Endings
  2163.    .zom                                   Endings
  2164.    .zoo                                   Endings
  2165.    68EC020                                68EC0xx
  2166.    68EC030                                68EC0xx
  2167.    68LC040                                68EC0xx
  2168.    AmiBooksFAQ                            FAQs
  2169.    Amiga Library disks                    Fish floppy disks
  2170.    Amiga networking FAQ                   FAQs
  2171.    Amiga-FAQ archive                      Amiga-FAQ Archive
  2172.    AmigaBasic                             AmigaBasic
  2173.    AmigaSciSchool                         Infos
  2174.    AmiTCP/IP FAQ                          FAQs
  2175.    Anonymous                              FTP
  2176.    Assemblers                             Compilers
  2177.    AutoDocs                               Includes
  2178.    C                                      Compilers
  2179.    C++                                    Compilers
  2180.    Catalog description                    Localizing
  2181.    Catalog translation                    Localizing
  2182.    Catalogs                               Localizing
  2183.    CatComp                                Localizing
  2184.    CATS                                   CATS
  2185.    Chunky displays                        Chunky vs. Planar
  2186.    Commodore, Frankfurt                   Developer
  2187.    Commodore, West Chester                CATS
  2188.    comp.sys.amiga.reviews                 Reviews
  2189.    Compilers                              Compilers
  2190.    Console window                         WindowPtr
  2191.    Contributions                          Contributions
  2192.    Credits                                Credits
  2193.    CrossDos                               MS-Dos disks
  2194.    Current directory                      Dot-Replacement
  2195.    DaggeX                                 X11
  2196.    Desktop Publishing                     DTP
  2197.    Developer                              Developer
  2198.    DoMethod                               Missing functions
  2199.    DoSuperMethod                          Missing functions
  2200.    Doublebuffering                        Doublebuffering
  2201.    DTP                                    DTP
  2202.    Editors                                Editors
  2203.    Emulators                              Emulators
  2204.    endings                                Endings
  2205.    Enforcer                               68EC0xx
  2206.    Esc sequences                          Printer control
  2207.    FAQ's, others                          FAQs
  2208.    FD-files                               Pragmas
  2209.    fd2pragma                              Pragmas
  2210.    file endings                           Endings
  2211.    Fish CD-Rom's                          Fish CD
  2212.    Fish disks                             Fish disk xxx
  2213.    Fish disks                             Fish
  2214.    Fish floppy disks                      Fish floppy disks
  2215.    FishCon                                Infos
  2216.    FishXref                               Infos
  2217.    FlexCat                                Localizing
  2218.    Forth                                  Compilers
  2219.    Fortran                                Compilers
  2220.    FPU                                    FPU
  2221.    Fresh Fish CD-Rom's                    Fish CD
  2222.    FTP servers                            FTP
  2223.    GadTools                               MUI
  2224.    Gcc                                    The GNU C compiler
  2225.    gcc-amiga-libraries                    Amiga Libraries
  2226.    gcc-authors                            Authors
  2227.    gcc-current                            Current Version
  2228.    gcc-how-to-get-help                    How to get help
  2229.    gcc-inline-headers                     Inline Headers
  2230.    gcc-installation                       Installation
  2231.    gcc-requirements                       Requirements
  2232.    gcc-sources                            Sources for Gcc
  2233.    GfxBase                                X11
  2234.    GigaMem                                68EC0xx
  2235.    Graphics                               Graphics
  2236.    HD compression                         HD-Compression
  2237.    Hirsch & Wolf                          CATS
  2238.    history                                Amiga-FAQ Archive
  2239.    HookEntry                              Missing functions
  2240.    Includes                               Includes
  2241.    KingFisher                             Infos
  2242.    KitCat                                 Localizing
  2243.    LibAllocPooled                         Missing functions
  2244.    Linux                                  Unix
  2245.    Lisp                                   Compilers
  2246.    locale.library                         Localizing
  2247.    Localizing                             Localizing
  2248.    Mail-server                            Mail
  2249.    Mailing lists                          Mailing lists
  2250.    MakeCat                                Localizing
  2251.    Memory, virtual                        68EC0xx
  2252.    Missing functions                      Missing functions
  2253.    MMU                                    68EC0xx
  2254.    Modula-2                               Compilers
  2255.    Monitors                               Monitors
  2256.    MS-Dos disks                           MS-Dos disks
  2257.    Msh                                    MS-Dos disks
  2258.    MUI                                    MUI
  2259.    Multiscan                              Monitors
  2260.    NDA                                    Developer
  2261.    NDK                                    Includes
  2262.    NDU                                    Includes
  2263.    NDUK                                   Includes
  2264.    NetBSD                                 Unix
  2265.    NTSC                                   PAL-NTSC
  2266.    Oberon                                 Compilers
  2267.    Oberon-A                               Compilers
  2268.    packers                                Endings
  2269.    packers on Unix                        Endings
  2270.    Page Layout Languages                  Word Processors
  2271.    PAL                                    PAL-NTSC
  2272.    Pascal                                 Compilers
  2273.    Planar displays                        Chunky vs. Planar
  2274.    Point manager FAQ                      FAQs
  2275.    Postscript                             Postscript
  2276.    pragmas                                Pragmas
  2277.    Printer control                        Printer control
  2278.    Prolog                                 Compilers
  2279.    Reviews                                Reviews
  2280.    RKMs                                   Manuals
  2281.    Rom Kernel manuals                     Manuals
  2282.    Splitting files                        Splitting
  2283.    Stacker                                HD-Compression
  2284.    TeX                                    TeX
  2285.    Text Editors                           Editors
  2286.    Unix                                   Unix
  2287.    Unix-LhA                               Unix-LhA
  2288.    VGA                                    Monitors
  2289.    Word Processors                        Word Processors
  2290.    Wysiwyg                                Word Processors
  2291.    X11                                    X11
  2292.    XFH                                    HD-Compression
  2293.    XPK                                    HD-Compression
  2294.   
  2295.