home *** CD-ROM | disk | FTP | other *** search
- (c) Copyright 1989-1999 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.
-
-
-
- Official Warning to ROM-Jumpers,
- Structure-Hackers, and Others
-
- from Commodore Engineering,
- Commodore-Amiga and CATS
-
-
-
- We who bring you the Amiga want to make it perfectly clear that if you
- don't follow the rules, your code WILL break. To that end, we present the
- following Amiga commandments.
-
-
-
- Do NOT jump directly into ROM code
- ----------------------------------
-
- Do not jump into ROM. Beware of any example code that calls routines
- in the $F80000 to $FFFFFF range. Those are ROM addresses and those ROM
- routines WILL move. The only supported interface to system ROM code
- is through the provided library, device, and resource calls.
-
-
-
- Do NOT modify or depend on private system structures
- ----------------------------------------------------
-
- Do not modify or depend on the format of the private system structures.
- This includes the poking of copper lists, memory lists, and library bases.
-
-
-
- Do NOT depend on the addresses of
- system structures or free memory
- ----------------------------------
-
- Do not depend on any address containing any particular system structure
- or type of memory. The system modules dynamically allocate their memory
- space when they are initialized. The addresses of system structures and
- buffers differ with every OS, every model, and every configuration, as
- does the amount of free memory and system stack usage.
-
-
-
- Do NOT depend on a certain proceesor or clock speed
- ---------------------------------------------------
-
- Do not use assembler instructions which are priviledged on any
- 68000 family processor. All addresses must be 32 bits. Do not use
- the upper 8 bits for other data. And do not execute code on your stack
- or put system structures on your stack. Do not use software timimg
- loops or delays. Do not use the TAS instruction. Do not use self-
- modifying code.
-
- Do NOT ignore software interfacing specifications
- -------------------------------------------------
-
- If you are using the system libraries, devices, and resources, you
- must follow the defined interface. Assembler programmers (and compiler
- writers) must enter functions through the library base jump tables,
- with arguments passed as longs and library base address in A6. Results
- returned in D0 must be tested, and the contents of D0-D1/A0-A1 must be
- assumed gone after a system call.
-
-
-
- Do NOT ignore hardware interfacing specifications
- -------------------------------------------------
-
- If you are programming at the hardware level, you must follow hardware
- interfacing specifications. All hardware is NOT the same. Do not assume
- that low level hacks for speed or copy protection will work on all drives,
- or all keyboards, or all systems, or future systems.
-
-
-
- Software distributers who purchase or contract software from outside
- programmers must make sure that the programmers are aware of correct
- programming practices and are providing software which will not break on
- different machines or different OS revisions.
-
- We are dedicated to enhancing and expanding the capabilities of
- the Amiga hardware and software, while maintaining compatibility
- wherever possible for those who follow the rules. Those who don't
- follow the rules can consider themselves warned.
-
-
-
-
-
-
-
-