(c)  Copyright 1989 Commodore-Amiga, Inc.   All rights reserved.
The information contained herein is subject to change without notice, and 
is provided "as is" without warranty of any kind, either expressed or implied.  
The entire risk as to the use of this information is assumed by the user.



                  Writing Software For All the Amigas

                           by Dan Baker

     The Amiga 500 and 2000 models are software compatible with the
 Amiga 1000.  The new machines are not just work-alikes.  They even 
 use the same 1.2 Kickstart, version 33180, now in ROM.

     The designers of the new machines were very careful to make
 sure that the new features added would not prevent old software from
 working properly.  Despite this, some developers have products for 
 the A1000 which do not work on the A500 or A2000. 


 MEMORY
 ------

 Many developers have expansion memory problems.  The original
 Amiga 1000 comes with 512K of memory which means that ALL Amiga memory
 is "chip" memory.   It is called "chip" memory because the custom chips 
 can only get DMA access to the first 512K of RAM ($00000-$7FFFF).

     In contrast, all Amiga 2000s (and many Amiga 500s) have 1 meg of
 memory.  This means that half of memory is good old "chip" memory and
 the other half is "fast" memory - NOT accessible by the custom chips.
 Unfortunately, if you do not specify which kind of memory you want, 
 the DOS will scatter load your program into "fast" memory as long as there
 is "fast" memory available.  Then it will start using "chip" memory.

    Because of this, you may find that your program does not work the
 same on the A2000 (or A500) as on the A1000.  Any bit-image or audio
 data defined explicitly in your program must be in chip memory, not
 fast memory.   The program NoFastMem on the A2000 and A500 Workbench
 disks provide a quick fix for this problem.  NoFastMem changes the
 system so that all programs will be scatter loaded into "chip" memory
 first, if it is available.  A better solution is to use ATOM on your
 object files to change the DOS load flags from PUBLIC to CHIP.


 DRIVES
 ------

    Another A2000 problem some developers have discovered is the default
 volume names for the 3.5" drives.  On the A2000, the 2 internal floppy
 drive slots are designated df0: and df1:.  Many users however have only
 one internal drive and use a 1010 external drive as their second floppy.
 In this case the drives will be configured by the system as df0: and
 df2:.  There would be no drive df1:.  This causes problems for programs
 which have made assumptions about the Amiga configuration.  Hard disk
 volume names on the A2000 can cause similar problems.

     For a quick fix, you can run the AsssignDev program from Fish
 Disk #79.  This allows you to change the default volume names of the
 drives.  A better solution is to interrogate the system to find out
 which drives are present.  See the Getdisks program in the Amiga Mail
 article "Programming for Portability and Compatability" for more on this.


 KEYBOARD
 --------

 Other developers have problems with the European version of the
 A2000.  Some applications handle keyboard I/O at the lowest level by
 going to I/O registers directly.  Unfortunately, in European versions
 of the A2000, the keyboard processor used is different, so the
 keyboard handshake timing is slightly different and these applications
 do not run right.

      There are other keyboard issues to consider.  In the U.S., the
 A2000 and A500 keyboards have 94 keys, 5 more keys than the A1000.
 The extra keys are all on the numeric keypad.  So, five new keycodes
 have been added to the keymap for the A2000 and A500.  Other than this
 the keymaps are the same.

      In Europe, this is not the case.  The European A2000 and A500
 have 96 keys.  And their key maps have changed significantly from the
 A1000.  For more on this, see the Amiga Mail article "International
 Keyboard Input".


 WORKBENCH
 ---------

The Workbench for the A2000 and A500 is different than the Workbench for
the A1000.  Here is a brief summary of the changes which may affect
your applications:

      1) There are two new commands:

           SetClock - sets the real time clock
           and Ask  - allows a script to ask the user
                      a Yes/No question

      2) There are 3 new system utilities:
 
           System/NoFastMem    - locks out fast memory.
           System/FastMemFirst - moves C00000 memory last
                                 on the memory list.
           System/InitPrinter -  sends a "Read from Preferences"
                                 command to the printer.


      3) There are changes in the devs directory:

           Printer.device has a new TRUST_ME flag to prevent resets
               during graphic dumps.
           Printer.device no longer crashes on a null printer name.
           All printer graphic waits were retimed to work with PageSetter.
           All printers now support the TRUST_ME flag.
           The extra form feed in the HP Laserjet graphic dump is fixed.
           Parallel.device no longer crashes when LPT1: is run.
           The keymaps have been extensively revised - see the
               July/August 87 Amiga Mail for more info.

      4) Other changes:

           The clock had the date and mode-change bugs fixed. A new
               digital title bar mode was added.
           The preferences date bug is fixed.  New default preferences
               are: CLI is on, generic printer and fastest mouse speed.
           The start-up sequence now creates a RAM disk and uses
               AddBuffers to speed up disk access.  The real time
               clock is used to set the time, if present.


DOCUMENTATION
-------------
       
      For a detailed explanation of all the new features of the A2000
 and A500, see the Commodore Amiga A500/A2000 Technical Reference
 Manual available now from CATS.  This manual features over 200 pages of
 current technical information on the two new machines including
 30 pages of schematics.  The cost is $40.00.  Send check or money order
 made out to Commodore Business Machines to:

             Commodore
             CATS Orders
             1200 Wilson Dr.
             West Chester PA 19380

