home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / reference / amiga_mail_vol1 / program / avoidingport next >
Text File  |  1990-01-26  |  4KB  |  91 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.  
  9.              Avoiding Port, Task, and File Name Conflicts
  10.  
  11.                        by Carolyn Scheppner
  12.  
  13.  
  14.    Many developers are starting to use named tasks and ports to find
  15. and communicate with separate tasks within their program.  In addition,
  16. some new applications make it possible for other independently developed
  17. software to find, communicate with, and direct them through named ports.
  18.  
  19.    When such techniques are used, it is very important to use unique
  20. port and task names, so that name collisions with existing or future
  21. products may be avoided.  We urge all developers to include their
  22. full developer number in their port and task names.  Non-registered
  23. developers should include unique information such as their initials
  24. and company name.
  25.  
  26.    We also urge you to use unique names for any logical assigns
  27. or additional files required by your application.  Such files would
  28. include run-time libraries, script files, parameter or setup files,
  29. special fonts, drivers, handlers, devices, commands, and readmes.
  30. This is especially important for any files which must reside in one
  31. of the logical system directories such as LIBS:, DEVS:, S: or C:.
  32.  
  33. Commercial software products which can be directed and controlled by other 
  34. applications through messages to a named MsgPort is an important capability
  35. of the Amiga computer - one that has not yet been fully realized.  Externally 
  36. controllable programs have a market with the consumer/amateur-programmer
  37. but can also be licensed for distribution with the products of other
  38. 3rd party developers.
  39.  
  40. Here are some examples that I think other companies would license:
  41.  
  42.    - An SMUS and 8SVX reader/player
  43.    - An ILBM displayer with fades/dissolves, speech and text overlay
  44.    - A general purpose database or expert system
  45.    - A telecommunications handler which could Xmodem/Kermit files  
  46.  
  47. These items could be sold as commercial products and packaged with a
  48. licensing agreement allowing other developers to use and distribute
  49. the software on a royalty, one-time, or yearly fee basis. 
  50.    
  51. The packages could be designed so that more than one external program can 
  52. use one running copy through the same named port.  In some cases, a library, 
  53. device, or handler might be a better implementation.  In any case, there's 
  54. a great deal of potential here for inventive developers.  Just remember to 
  55. make your names unique so you can multitask with anything that comes along.
  56.  
  57.  
  58.  
  59.  
  60.                     68010/68020 Compatibility
  61.  
  62.                      by Carolyn A. Scheppner
  63.  
  64.  
  65.    More Amiga owners will be installing 68020 boards, so it is more
  66. important than ever that your software work properly with this processor.
  67. The following programming practices are required for upward compatibility.
  68.  
  69. 1. Do not use the upper 8 bits of a pointer for storing unrelated
  70.    information.  The 68020 uses all 32 bits for addressing.
  71.  
  72. 2. Do not use signed variables or signed math for addresses.
  73.  
  74. 3. Do not use InitStruct() to initialize APTR fields.  For 68020
  75.    compatibility, InitStruct() does not support 24 bit APTRs.
  76.    Use ULONGs instead.
  77.  
  78. 4. Do not use the MOVE SR,<ea> instruction.  This is a priviledged
  79.    instruction on the 68010/68020.  Use the Exec function GetCC().
  80.  
  81. 5. Do not execute code on your stack.  
  82.  
  83. 6. The assembler TAS instruction should not be used in any Amiga
  84.    program.  This instruction's indivisible read-modify-write
  85.    cycle can conflict with system DMA.
  86.  
  87.  
  88.       
  89.  
  90.  
  91.