home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 39 / af039a.adf / custom.i < prev    next >
Text File  |  1992-09-17  |  6KB  |  260 lines

  1. AMIGA        =    1
  2. AMIGADOS    =    1
  3. OS_LEGAL    =    1
  4. *****************************************************************************
  5. *                            SCREEN CONSTANTS                               *
  6. *****************************************************************************
  7.     IFD    AMIGA
  8. SCREEN_WIDTH    =    40
  9. SCREEN_HEIGHT    =    200
  10. NO_PLANES        =    4
  11. NO_SCREENS        =    2
  12. PLANE_SIZE      =     SCREEN_WIDTH*SCREEN_HEIGHT
  13.     ELSEIF
  14. SCREEN_WIDTH    =   40  160
  15. SCREEN_HEIGHT    =    200
  16. NO_PLANES        =    4
  17. NO_SCREENS        =    2
  18.     ENDC
  19.  
  20. *****************************************************************************
  21. *                                HARDWARE                                   *
  22. *****************************************************************************
  23.     IFD    AMIGADOS
  24.         IFD    HARDWARE_REL
  25. HARDWARE_REGS =    $dff000
  26.  
  27. BLTDDAT     EQU   $000
  28. DMACONR     EQU   $002
  29. VPOSR       EQU   $004
  30. VHPOSR      EQU   $006
  31. DSKDATR     EQU   $008
  32. JOY0DAT     EQU   $00A
  33. JOY1DAT     EQU   $00C
  34. CLXDAT      EQU   $00E
  35. ADKCONR     EQU   $010
  36. POT0DAT     EQU   $012
  37. POT1DAT     EQU   $014
  38. POTINP      EQU   $016
  39. SERDATR     EQU   $018
  40. DSKBYTR     EQU   $01A
  41. INTENAR     EQU   $01C
  42. INTREQR     EQU   $01E
  43. DSKPT       EQU   $020
  44. DSKLEN      EQU   $024
  45. DSKDAT      EQU   $026
  46. REFPTR      EQU   $028
  47. VPOSW       EQU   $02A
  48. VHPOSW      EQU   $02C
  49. COPCON      EQU   $02E
  50. SERDAT      EQU   $030
  51. SERPER      EQU   $032
  52. POTGO       EQU   $034
  53. JOYTEST     EQU   $036
  54. STREQU      EQU   $038
  55. STRVBL      EQU   $03A
  56. STRHOR      EQU   $03C
  57. STRLONG     EQU   $03E
  58. BLTCON0     EQU   $040
  59. BLTCON1     EQU   $042
  60. BLTAFWM     EQU   $044
  61. BLTALWM     EQU   $046
  62. BLTCPT      EQU   $048
  63. BLTBPT      EQU   $04C
  64. BLTAPT      EQU   $050
  65. BLTDPT      EQU   $054
  66. BLTSIZE     EQU   $058
  67. BLTCMOD     EQU   $060
  68. BLTBMOD     EQU   $062
  69. BLTAMOD     EQU   $064
  70. BLTDMOD     EQU   $066
  71. BLTCDAT     EQU   $070
  72. BLTBDAT     EQU   $072
  73. BLTADAT     EQU   $074
  74. DSKSYNC     EQU   $07E
  75. COP1LC      EQU   $080
  76. COP2LC      EQU   $084
  77. COPJMP1     EQU   $088
  78. COPJMP2     EQU   $08A
  79. COPINS      EQU   $08C
  80. DIWSTRT     EQU   $08E
  81. DIWSTOP     EQU   $090
  82. DDFSTRT     EQU   $092
  83. DDFSTOP     EQU   $094
  84. DMACON      EQU   $096
  85. CLXCON      EQU   $098
  86. INTENA      EQU   $09A
  87. INTREQ      EQU   $09C
  88. ADKCON      EQU   $09E
  89. AUD         EQU   $0A0
  90. AUD0        EQU   $0A0
  91. AUD1        EQU   $0B0
  92. AUD2        EQU   $0C0
  93. AUD3        EQU   $0D0
  94. AC_PTR      EQU   $00
  95. AC_LEN      EQU   $04
  96. AC_PER      EQU   $06
  97. AC_VOL      EQU   $08
  98. AC_DAT      EQU   $0A
  99. AC_SIZEOF   EQU   $10
  100. BPLPT       EQU   $0E0
  101. BPLCON0     EQU   $100
  102. BPLCON1     EQU   $102
  103. BPLCON2     EQU   $104
  104. BPL1MOD     EQU   $108
  105. BPL2MOD     EQU   $10A
  106. BPLDAT      EQU   $110
  107. SPRPT       EQU   $120
  108. SPR0PT      EQU   $120
  109. SPR1PT      EQU   $124
  110. SPR2PT      EQU   $128
  111. SPR3PT      EQU   $12c
  112. SPR4PT      EQU   $130
  113. SPR5PT      EQU   $134
  114. SPR6PT      EQU   $138
  115. SPR7PT      EQU   $13c
  116. SPR         EQU   $140
  117. SD_POS      EQU   $00
  118. SD_CTL      EQU   $02
  119. SD_DATAA    EQU   $04
  120. SD_DATAB    EQU   $08
  121. COLOR       EQU   $180
  122.  
  123.         ELSEIF
  124.  
  125. BLTDDAT     EQU   $dff000
  126. DMACONR     EQU   $dff002
  127. VPOSR       EQU   $dff004
  128. VHPOSR      EQU   $dff006
  129. DSKDATR     EQU   $dff008
  130. JOY0DAT     EQU   $dff00A
  131. JOY1DAT     EQU   $dff00C
  132. CLXDAT      EQU   $dff00E
  133. ADKCONR     EQU   $dff010
  134. POT0DAT     EQU   $dff012
  135. POT1DAT     EQU   $dff014
  136. POTINP      EQU   $dff016
  137. SERDATR     EQU   $dff018
  138. DSKBYTR     EQU   $dff01A
  139. INTENAR     EQU   $dff01C
  140. INTREQR     EQU   $dff01E
  141. DSKPT       EQU   $dff020
  142. DSKLEN      EQU   $dff024
  143. DSKDAT      EQU   $dff026
  144. REFPTR      EQU   $dff028
  145. VPOSW       EQU   $dff02A
  146. VHPOSW      EQU   $dff02C
  147. COPCON      EQU   $dff02E
  148. SERDAT      EQU   $dff030
  149. SERPER      EQU   $dff032
  150. POTGO       EQU   $dff034
  151. JOYTEST     EQU   $dff036
  152. STREQU      EQU   $dff038
  153. STRVBL      EQU   $dff03A
  154. STRHOR      EQU   $dff03C
  155. STRLONG     EQU   $dff03E
  156. BLTCON0     EQU   $dff040
  157. BLTCON1     EQU   $dff042
  158. BLTAFWM     EQU   $dff044
  159. BLTALWM     EQU   $dff046
  160. BLTCPT      EQU   $dff048
  161. BLTBPT      EQU   $dff04C
  162. BLTAPT      EQU   $dff050
  163. BLTDPT      EQU   $dff054
  164. BLTSIZE     EQU   $dff058
  165. BLTCMOD     EQU   $dff060
  166. BLTBMOD     EQU   $dff062
  167. BLTAMOD     EQU   $dff064
  168. BLTDMOD     EQU   $dff066
  169. BLTCDAT     EQU   $dff070
  170. BLTBDAT     EQU   $dff072
  171. BLTADAT     EQU   $dff074
  172. DSKSYNC     EQU   $dff07E
  173. COP1LC      EQU   $dff080
  174. COP2LC      EQU   $dff084
  175. COPJMP1     EQU   $dff088
  176. COPJMP2     EQU   $dff08A
  177. COPINS      EQU   $dff08C
  178. DIWSTRT     EQU   $dff08E
  179. DIWSTOP     EQU   $dff090
  180. DDFSTRT     EQU   $dff092
  181. DDFSTOP     EQU   $dff094
  182. DMACON      EQU   $dff096
  183. CLXCON      EQU   $dff098
  184. INTENA      EQU   $dff09A
  185. INTREQ      EQU   $dff09C
  186. ADKCON      EQU   $dff09E
  187. AUD         EQU   $dff0A0
  188. AUD0        EQU   $dff0A0
  189. AUD1        EQU   $dff0B0
  190. AUD2        EQU   $dff0C0
  191. AUD3        EQU   $dff0D0
  192. AC_PTR      EQU   $dff00
  193. AC_LEN      EQU   $dff04
  194. AC_PER      EQU   $dff06
  195. AC_VOL      EQU   $dff08
  196. AC_DAT      EQU   $dff0A
  197. AC_SIZEOF   EQU   $dff10
  198. BPLPT       EQU   $dff0E0
  199. BPLCON0     EQU   $dff100
  200. BPLCON1     EQU   $dff102
  201. BPLCON2     EQU   $dff104
  202. BPL1MOD     EQU   $dff108
  203. BPL2MOD     EQU   $dff10A
  204. BPLDAT      EQU   $dff110
  205. SPRPT       EQU   $dff120
  206. SPR0PT      EQU   $dff120
  207. SPR1PT      EQU   $dff124
  208. SPR2PT      EQU   $dff128
  209. SPR3PT      EQU   $dff12c
  210. SPR4PT      EQU   $dff130
  211. SPR5PT      EQU   $dff134
  212. SPR6PT      EQU   $dff138
  213. SPR7PT      EQU   $dff13c
  214. SPR         EQU   $dff140
  215. SD_POS      EQU   $dff00
  216. SD_CTL      EQU   $dff02
  217. SD_DATAA    EQU   $dff04
  218. SD_DATAB    EQU   $dff08
  219. COLOR       EQU   $dff180
  220.  
  221.         ENDC
  222.     ELSEIF
  223.     fail    'ST HARDWARE ADDRESSES NOT IN YET'
  224.     ENDC
  225. *****************************************************************************
  226. *                   MACHINE SPECIFIC OS FUNCTION NAMES                      *
  227. *****************************************************************************
  228.     IFD    AMIGADOS
  229. OwnBlitter         =    -456
  230. DisOwnBlitter    =    -462
  231.     ELSEIF
  232.     ENDC
  233. *****************************************************************************
  234. *                         MACHINE SPECIFIC MACROS                           *
  235. *****************************************************************************
  236.     IFD    AMIGADOS
  237.  
  238. wait_blit   macro
  239. .\@
  240.     btst        #6,DMACONR
  241.     bne         .\@
  242.             endm
  243.  
  244. own_blit    macro ;                takes a parameter = an address reg
  245.         IFD    OS_LEGAL
  246.     move.l    _GFXBase,\1            if !OS_LEGAL macro expands to nothing
  247.     jsr        OwnBlitter(\1)
  248.         ENDC
  249.             endm
  250.  
  251. disown_blit    macro ;                takes a parameter = an address reg
  252.         IFD    OS_LEGAL
  253.     move.l    _GFXBase,\1            if !OS_LEGAL macro expands to nothing
  254.     jsr        DisOwnBlitter(\1)
  255.         ENDC
  256.             endm
  257.     ELSEIF
  258.     ENDC
  259.  
  260.