home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / reference / amiga_mail_vol1 / program / warning < prev    next >
Text File  |  1990-01-26  |  4KB  |  100 lines

  1. (c)  Copyright 1989 Commodore-Amiga, Inc.   All rights reserved.
  2. The information contained herein is subject to change without notice, and 
  3. is provided "as is" without warranty of any kind, either expressed or implied.  
  4. The entire risk as to the use of this information is assumed by the user.
  5.  
  6.  
  7.  
  8.                  Official Warning to ROM-Jumpers, 
  9.                   Structure-Hackers, and Others
  10.  
  11.                    from Commodore Engineering, 
  12.                     Commodore-Amiga and CATS
  13.  
  14.  
  15.  
  16.  We who bring you the Amiga want to make it perfectly clear that if you 
  17. don't follow the rules, your code WILL break.  To that end, we present the 
  18. following Amiga commandments.
  19.  
  20.  
  21.  
  22. Do NOT jump directly into ROM code
  23. ----------------------------------
  24.  
  25.      Do not jump into ROM.  Beware of any example code that calls routines
  26. in the $F80000 to $FFFFFF range.  Those are ROM addresses and those ROM
  27. routines WILL move.   The only supported interface to system ROM code
  28. is through the provided library, device, and resource calls. 
  29.  
  30.      
  31.  
  32. Do NOT modify or depend on private system structures 
  33. ----------------------------------------------------
  34.  
  35.      Do not modify or depend on the format of the private system structures.
  36. This includes the poking of copper lists, memory lists, and library bases.
  37.  
  38.  
  39.       
  40. Do NOT depend on the addresses of 
  41. system structures or free memory
  42. ----------------------------------
  43.  
  44.      Do not depend on any address containing any particular system structure 
  45. or type of memory.  The system modules dynamically allocate their memory
  46. space when they are initialized.  The addresses of system structures and 
  47. buffers differ with every OS, every model, and every configuration, as
  48. does the amount of free memory and system stack usage. 
  49.  
  50.  
  51.  
  52. Do NOT depend on a certain proceesor or clock speed
  53. ---------------------------------------------------
  54.  
  55.      Do not use assembler instructions which are priviledged on any 
  56. 68000 family processor.  All addresses must be 32 bits.  Do not use
  57. the upper 8 bits for other data.  And do not execute code on your stack 
  58. or put system structures on your stack.  Do not use software timimg
  59. loops or delays.  Do not use the TAS instruction.  Do not use self-
  60. modifying code.
  61.  
  62. Do NOT ignore software interfacing specifications
  63. -------------------------------------------------
  64.  
  65.      If you are using the system libraries, devices, and resources, you
  66. must follow the defined interface.  Assembler programmers (and compiler
  67. writers) must enter functions through the library base jump tables,
  68. with arguments passed as longs and library base address in A6.  Results
  69. returned in D0 must be tested, and the contents of D0-D1/A0-A1 must be 
  70. assumed gone after a system call.
  71.  
  72.  
  73.  
  74. Do NOT ignore hardware interfacing specifications
  75. -------------------------------------------------
  76.  
  77.      If you are programming at the hardware level, you must follow hardware
  78. interfacing specifications.  All hardware is NOT the same.  Do not assume 
  79. that low level hacks for speed or copy protection will work on all drives, 
  80. or all keyboards, or all systems, or future systems.  
  81.  
  82.  
  83.  
  84.      Software distributers who purchase or contract software from outside 
  85. programmers must make sure that the programmers are aware of correct 
  86. programming practices and are providing software which will not break on 
  87. different machines or different OS revisions.
  88.  
  89.      We are dedicated to enhancing and expanding the capabilities of
  90. the Amiga hardware and software, while maintaining compatibility
  91. wherever possible for those who follow the rules.  Those who don't
  92. follow the rules can consider themselves warned.
  93.  
  94.  
  95.  
  96.  
  97.    
  98.  
  99.  
  100.