home *** CD-ROM | disk | FTP | other *** search
/ Falcon 030 Power 2 / F030_POWER2.iso / ST_STE / MAGS / ICTARI09.ARJ / ictari.09 / ASSEMBLY / MACROS / MACRO_2 / HARDWARE.I < prev    next >
Text File  |  1993-05-20  |  8KB  |  250 lines

  1. * Hardware Addresses *
  2. **********************
  3.  
  4. ;
  5. ; Documented system variables and port addresses
  6. ;
  7.  
  8. ; MEMORY and SHIFTER:
  9.  
  10. memconf      = $ffff8001                    ; Memory configuration
  11. dbaseh       = $ffff8201                    ; High byte of screen address
  12. dbasel       = $ffff8203                    ; Mid byte of screen address
  13. vcounthi     = $ffff8205                    ; High byte of video address counter
  14. vcountmid    = $ffff8207                    ; Midbyte         -"-
  15. vcountlow    = $ffff8209                    ; Lowbyte         -"-
  16. syncmode     = $ffff820a                    ; Synchronisation mode
  17. color0       = $ffff8240                    ; Shifter- colour register 0-15
  18. color1       = $ffff8242
  19. color2       = $ffff8244
  20. color3       = $ffff8246
  21. color4       = $ffff8248
  22. color5       = $ffff824a
  23. color6       = $ffff824c
  24. color7       = $ffff824e
  25. color8       = $ffff8250
  26. color9       = $ffff8252
  27. color10      = $ffff8254
  28. color11      = $ffff8256
  29. color12      = $ffff8258
  30. color13      = $ffff825a
  31. color14      = $ffff825c
  32. color15      = $ffff825e
  33. shiftmd      = $ffff8260                    ; Picture resolution
  34.  
  35. ; DMA and DISK:
  36.  
  37. diskctrl     = $ffff8604                    ; Disk controller register selection
  38. DMAmode      = $ffff8606                    ; DMA-Status/-Mode
  39. DMAhigh      = $ffff8609                    ; DMA Base and counter: high
  40. DMAmid       = $ffff860b                    ;         -"-         : mid
  41. DMAlow       = $ffff860d                    ;         -"-         : low
  42.  
  43. ; 1770-REGISTER:
  44.  
  45. cmdreg       = $80     ; 1770/FIFO command register selection
  46. trackreg     = $82     ; 1770/FIFO track register selection
  47. sectorreg    = $84     ; 1770/FIFO sector register selection
  48. datareg      = $86     ; 1770/FIFO data register selection
  49.  
  50. ; SOUND CHIP:
  51.  
  52. PSGselect    = $ffff8800                    ; (W) register selection
  53. PSGread      = $ffff8800                    ; (R) read data
  54. PSGwrite     = $ffff8802                    ; (W) write data
  55. PSGtoneAf    = 0       ; Channel A: fine adjustment
  56. PSGtoneAc    = 1       ;  -"-    A: rough adjustment
  57. PSGtoneBf    = 2       ; Channel B
  58. PSGtoneBc    = 3
  59. PSGtoneCf    = 4       ; Channel C
  60. PSGtoneCc    = 5
  61. PSGnoise     = 6       ; Noise generator
  62. PSGmixer     = 7       ; I/O-control, mixer
  63. PSGampA      = 8       ; Channel A, B, C: amplitude
  64. PSGampB      = 9
  65. PSGampC      = $a
  66. PSGenvlpf    = $b      ; Envelope curve : fine adjustment
  67. PSGenvlpc    = $c      ;        -"-     : rough adjustment
  68. PSGportA     = $e      ; PORT A (output only)
  69. PSGportB     = $f      ; PORT B (Centronics-output)
  70.  
  71. ; Bits in "PSGportA":
  72.  
  73. RTSout       = 8       ; RTS output
  74. DTRout       = $10     ; DTR output
  75. STROBE       = $20     ; Centronics strobe output
  76.              .OUT      ;= $40     ; "general purpose" output
  77.  
  78. ; DMA - Sound:    stf 47
  79. DMAcontrol    = $ffff8900    ; 0 set to start
  80.                 ; 1 set to repeat-play
  81. DMAstart_high    = $ffff8902    ; high address byte
  82. DMAstart_mid    = $ffff8904    ; middle address byte
  83. DMAstart_low    = $ffff8906    ; low address byte
  84. DMAcount_high    = $ffff8908    ; high counter byte
  85. DMAcount_mid    = $ffff890a    ; middle counter byte
  86. DMAcount_low    = $ffff890c    ; low counter byte
  87. DMAend_high    = $ffff890e    ; high address byte
  88. DMAend_mid    = $ffff8910    ; middle address byte
  89. DMAend_low    = $ffff8912    ; low address byte
  90. DMAsound_mode    = $ffff8920    ;   7 set for mono/clear for stereo
  91.                 ; 0-1     00= 6.258KHz
  92.                 ;    01=12.517KHz
  93.                 ;    10=25.033KHz
  94.                 ;    11=50.066KHz
  95.  
  96. ; Blitter:    stf 47
  97.  
  98. BLITram_0    = $ffff8a00    ; 16 Half-Tone Ram Registers (1 word each)
  99. BLITram_1    = $ffff8a02    ; used for special effects
  100. BLITram_2    = $ffff8a04
  101. BLITram_3    = $ffff8a06
  102. BLITram_4    = $ffff8a08
  103. BLITram_5    = $ffff8a0a
  104. BLITram_6    = $ffff8a0c
  105. BLITram_7    = $ffff8a0e
  106. BLITram_8    = $ffff8a10
  107. BLITram_9    = $ffff8a12
  108. BLITram_A    = $ffff8a14
  109. BLITram_B    = $ffff8a16
  110. BLITram_C    = $ffff8a18
  111. BLITram_D    = $ffff8a1a
  112. BLITram_E    = $ffff8a1c
  113. BLITram_F    = $ffff8a1e
  114. BLITsrce_x_inc    = $ffff8a20    ; number of bytes to next source word (8 or 2)
  115. BLITsrce_y_inc    = $ffff8a22    ; number of bytes from end of one line to start of next
  116. BLITsrce_addr    = $ffff8a24
  117. BLITleft_mask    = $ffff8a28    ; $ffff right shifted by skew
  118. BLITmiddle_mask    = $ffff8a2a    ; $ffff
  119. BLITright_mask    = $ffff8a2c    ; $ffff NOT (left mask)
  120.                 ; to ensure backgrounds not overdrawn 
  121.                 ; beyond edge of sprite
  122. BLITdest_x_inc    = $ffff8a2e    ; as src_inc
  123. BLITdest_y_inc    = $ffff8a30
  124. BLITdest_addr    = $ffff8a32
  125. BLITdest_width    = $ffff8a36    ; sprite width in words + 1 (for overlap) or 
  126.                 ; sprite width in words *4 for word-aligned colour
  127. BLITdest_height    = $ffff8a38    ; sprite height in pixels    
  128. BLIThalftone_op    = $ffff8a3a
  129. BLITlogical_op    = $ffff8a3b    ; as in VRO_CPYFM
  130. BLITflag1    = $ffff8a3c    ; 0-3 line number
  131.                 ;   4
  132.                 ;   5 smudge
  133.                 ;   6 hog - set before use
  134.                 ;   7 busy - set to start
  135. BLITflag2    = $ffff8a3d    ; 0-3 skew - bits past last word boundary
  136.                 ; 4-5
  137.                 ;   6 NFSR
  138.                 ;   7 FXSR
  139.  
  140. ; 68901 (MFP):
  141.  
  142. MFP          = $fffffa00                    ; Register-Base
  143. MFPgpio      = $fffffa00+1                  ; I/O
  144. MFPaer       = $fffffa00+3                  ; active edge
  145. MFPddr       = $fffffa00+5                  ; Data direction
  146. MFPiera      = $fffffa00+7                  ; interrupt enable A
  147. MFPierb      = $fffffa00+9                  ;       -"-        B
  148. MFPipra      = $fffffa00+$b                 ; interrupt pending A
  149. MFPiprb      = $fffffa00+$d                 ;       -"-         B
  150. MFPisra      = $fffffa00+$f                 ; interrupt inService A
  151. MFPisrb      = $fffffa00+$11                ;       -"-           B
  152. MFPimra      = $fffffa00+$13                ; interrupt mask A
  153. MFPimrb      = $fffffa00+$15                ;       -"-      B
  154. MFPvr        = $fffffa00+$17                ; Vector-Register
  155. MFPtacr      = $fffffa00+$19                ; timer A control
  156. MFPtbcr      = $fffffa00+$1b                ; timer B control
  157. MFPtcdcr     = $fffffa00+$1d                ; timer C & D control
  158. MFPtadr      = $fffffa00+$1f                ; timer A data
  159. MFPtbdr      = $fffffa00+$21                ; timer B data
  160. MFPtcdr      = $fffffa00+$23                ; timer C data
  161. MFPtddr      = $fffffa00+$25                ; timer D data
  162. MFPscr       = $fffffa00+$27                ; sync char
  163. MFPucr       = $fffffa00+$29                ; USART control reg
  164. MFPrsr       = $fffffa00+$2b                ; receiver status
  165. MFPtsr       = $fffffa00+$2d                ; transmit status
  166. MFPudr       = $fffffa00+$2f                ; USART data
  167.  
  168. ; ACIA's 6850:
  169.  
  170. ACIAkeyctrl  = $fffffc00                    ; keyboard ACIA control
  171. ACIAkeydr    = $fffffc02                    ; keyboard data
  172. ACIAmidicr   = $fffffc04                    ; MIDI ACIA control
  173. ACIAmididr   = $fffffc06                    ; MIDI data
  174.  
  175. ; Documented bios variables
  176.  
  177. etv_timer    = $400
  178. etv_critic   = $404
  179. etv_term     = $408
  180. etv_xtra     = $40c
  181. memvalid     = $420
  182. memcntlr     = $424
  183. resvalid     = $426
  184. resvector    = $42a
  185. phystop      = $42e
  186. _membot      = $432
  187. _memtop      = $436
  188. memval2      = $43a
  189. flock        = $43e
  190. seekrate     = $440
  191. _timr_ms     = $442
  192. _fverify     = $444
  193. _bootdev     = $446
  194. palmode      = $448
  195. defshiftmd   = $44a
  196. sshiftmd     = $44c
  197. _v_bas_ad    = $44e
  198. vblsem       = $452
  199. nvbls        = $454
  200. _vblqueue    = $456
  201. colorptr     = $45a
  202. screenpt     = $45e
  203. _vbclock     = $462
  204. _frclock     = $466
  205. hdv_init     = $46a
  206. swv_vec      = $46e
  207. hdv_bpb      = $472
  208. hdv_rw       = $476
  209. hdv_boot     = $47a
  210. hdv_mediach  = $47e
  211. _cmdload     = $482
  212. conterm      = $484
  213. trp14ret     = $486
  214. criticret    = $48a
  215. themd        = $48e
  216. _____md      = $49e
  217. savptr       = $4a2
  218. _nflops      = $4a6
  219. con_state    = $4a8
  220. save_row     = $4ac
  221. sav_context  = $4ae
  222. _bufl        = $4b2
  223. _hz_200      = $4ba
  224. _drvbits     = $4c2
  225. _dskbufp     = $4c6
  226. _autopath    = $4ca
  227. _vbl_list    = $4ce
  228. _dumpflg     = $4ee
  229. _prtabt      = $4f0
  230. _sysbase     = $4f2
  231. _shell_p     = $4f6
  232. end_os       = $4fa
  233. exec_os      = $4fe
  234. scr_dump     = $502
  235. prv_lsto     = $506
  236. prv_lst      = $50a
  237. prv_auxo     = $50e
  238. prv_aux      = $512
  239.  
  240. ; Device numbers
  241.  
  242. PRT          = 0       ; Printer
  243. AUX          = 1       ; RS-232
  244. CON          = 2       ; Screen (vt-52 Emulator)
  245. MIDI         = 3       ; MIDI
  246. IKBD         = 4       ; Keyboard
  247. RAWCON       = 5       ; Screen (raw ASCII-chars from 0 to 255)
  248.              .END 
  249.  
  250.