home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 43 / af043a.adf / BULL6.LHA / custom.i < prev    next >
Text File  |  1992-12-15  |  7KB  |  261 lines

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