home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Developer CD v1.2
/
amidev_cd_12.iso
/
reference
/
amiga_mail_vol1
/
program
/
swforall
< prev
next >
Wrap
Text File
|
1990-01-26
|
6KB
|
148 lines
(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