home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / invaders.lha / Include / hardware.i
Encoding:
Text File  |  1980-01-04  |  8.8 KB  |  566 lines

  1.  
  2. ;Amiga Hardware Registers Include File
  3.  
  4. ;CIA addresses
  5.  
  6. ;These are absolute addresses
  7.  
  8. ;Set Devpac tab setting to 16 for readable list.
  9.  
  10.  
  11. ; Updated by........
  12.  
  13. **************************************
  14. *     -----> AXAL OF ARMALYTE <-----     *
  15. **************************************
  16.  
  17. ; ......On the 27-09-91 V1.12
  18.  
  19. ; Now includes the new Enhanced Chip Set (ECS)
  20.  
  21. CIAAPRA    EQU    $BFE001
  22. CIAAPRB    EQU    $BFE101
  23. CIAADDRA EQU    $BFE201
  24. CIAADDRB EQU    $BFE301
  25. CIAATALO EQU    $BFE401
  26. CIAATAHI EQU    $BFE501
  27. CIAATBLO EQU    $BFE601
  28. CIAATBHI EQU    $BFE701
  29. CIAAE.LSB    EQU    $BFE801
  30. CIAAE.MID    EQU    $BFE901
  31. CIAAE.MSB    EQU    $BFEA01
  32. CIAASP    EQU    $BFEC01
  33. CIAAICR    EQU    $BFED01
  34. CIAACRA    EQU    $BFEE01
  35. CIAACRB    EQU    $BFEF01
  36.  
  37. CIABPRA    EQU    $BFD000
  38. CIABPRB    EQU    $BFD100
  39. CIABDDRA EQU    $BFD200
  40. CIABDDRB EQU    $BFD300
  41. CIABTALO EQU    $BFD400
  42. CIABTAHI EQU    $BFD500
  43. CIABTBLO EQU    $BFD600
  44. CIABTBHI EQU    $BFD700
  45. CIAJE.LSB    EQU    $BFD800
  46. CIABE.MID    EQU    $BFD900
  47. CIABE.MSB    EQU    $BFDA00
  48. CIABSP    EQU    $BFDC00
  49. CIABICR    EQU    $BFDD00
  50. CIABCRA    EQU    $BFDE00
  51. CIABCRB    EQU    $BFDF00
  52.  
  53. ;CUSTOM    EQU    $DFF000
  54.  
  55. ;Custom Chip Register Values
  56. ;All values are offsets from $DFF000
  57.  
  58. BLTDDAT    EQU    $000    ;early read-68000 can't access
  59.  
  60. DMACONR    EQU    $002    ;DMA controller read
  61. VPOSR EQU    $004
  62. VHPOSR    EQU    $006
  63.  
  64. DSKDATR    EQU    $008    ;when non-DMA disk transferring
  65.  
  66. JOY0DAT    EQU    $00A
  67. JOY1DAT    EQU    $00C
  68.  
  69. CLXDAT    EQU    $00E    ;sprite collision data
  70. ADKCONR    EQU    $010    ;disk/audio status read
  71.  
  72. POT0DAT    EQU    $012
  73. POT1DAT    EQU    $014
  74. POTGOR    EQU    $016
  75.  
  76. SERDATA    EQU    $018
  77. DSKBYTR    EQU    $01A
  78.  
  79. INTENAR    EQU    $01C    ;interrupt enable read
  80. INTREQR    EQU    $01E    ;interrupt request read
  81.  
  82. DSKPTH    EQU    $020
  83. DSKPTL    EQU    $022
  84.  
  85. DSKLEN    EQU    $024
  86. DSKDAT    EQU    $026
  87.  
  88. REFPTR    EQU    $028    ;refresh counter write (CARE!!)
  89.  
  90. VPOSW EQU    $02A
  91. VHPOSW    EQU    $02C
  92.  
  93. COPCON    EQU    $02E    ;COPPER danger bit
  94.  
  95. SERDAT    EQU    $030
  96. SERPER    EQU    $032
  97.  
  98. POTGO EQU    $034
  99.  
  100. JOYTEST    EQU    $036
  101.  
  102. STREQU    EQU    $038    ;horizontal sync with VB and equal frame
  103.  
  104. STRVBL    EQU    $03A    ;horizontal sync with vertical blank
  105.  
  106. STRHOR    EQU    $03C    ;horizontal sync signal
  107.  
  108. STRLONG    EQU    $03E
  109.  
  110. ;following registers accessible when
  111. ;Copper Danger Bit set (COPCON = 1)
  112.  
  113. BLTCON0    EQU    $040
  114. BLTCON1    EQU    $042
  115.  
  116. BLTAFWM    EQU    $044
  117. BLTALWM    EQU    $046
  118.  
  119. BLTCPTH    EQU    $048
  120. BLTCPTL    EQU    $04A
  121.  
  122. BLTBPTH    EQU    $04C
  123. BLTBPTL    EQU    $04E
  124.  
  125. BLTAPTH    EQU    $050
  126. BLTAPTL    EQU    $052
  127.  
  128. BLTDPTH    EQU    $054
  129. BLTDPTL    EQU    $056
  130.  
  131. BLTSIZE    EQU    $058
  132.  
  133. BLTCON01 EQU    $05A    ECS
  134. BLTSIZV    EQU    $05C    ECS
  135. BLTSIZH    EQU    $05E    ECS
  136.  
  137. BLTCMOD    EQU    $060
  138. BLTBMOD    EQU    $062
  139. BLTAMOD    EQU    $064
  140. BLTDMOD    EQU    $066
  141.  
  142. BLTCDAT    EQU    $070
  143. BLTBDAT    EQU    $072
  144. BLTADAT    EQU    $074
  145.  
  146. SPRHDAT    EQU    $078    ECS
  147. DENISEID EQU    $07C    ECS
  148.  
  149. DSKSYNC    EQU    $07E
  150.  
  151. ;Following registers can always be written by the Copper
  152.  
  153. COP1LCH    EQU    $080
  154. COP1LCL    EQU    $082
  155.  
  156. COP2LCH    EQU    $084
  157. COP2LCL    EQU    $086
  158.  
  159. COPJMP1    EQU    $088
  160. COPJMP2    EQU    $08A
  161.  
  162. COPINS    EQU    $08C    ;COPPER command register
  163.  
  164. DIWSTRT    EQU    $08E    ;window start, stop values
  165. DIWSTOP    EQU    $090
  166.  
  167. DDFSTRT    EQU    $092    ;DMA data fetch start, stop
  168. DDFSTOP    EQU    $094
  169.  
  170. DMACON    EQU    $096    ;main DMA controller write (SETIT)
  171.  
  172. CLXCON    EQU    $098    ;collision register
  173.  
  174. INTENA    EQU    $09A    ;interrupt enable write (SETIT)
  175.  
  176. INTREQ    EQU    $09C    ;interrupt request write (force an int) (SETIT)
  177.  
  178. ADKCON    EQU    $09E    ;audio/disk controller (SETIT)
  179.  
  180. ;audio control registers
  181.  
  182. AUD0LCH    EQU    $0A0
  183. AUD0LCL    EQU    $0A2
  184. AUD0LEN    EQU    $0A4
  185. AUD0PER    EQU    $0A6
  186. AUD0VOL    EQU    $0A8
  187. AUD0DAT    EQU    $0AA
  188.  
  189. AUD1LCH    EQU    $0B0
  190. AUD1LCL    EQU    $0B2
  191. AUD1LEN    EQU    $0B4
  192. AUD1PER    EQU    $0B6
  193. AUD1VOL    EQU    $0B8
  194. AUD1DAT    EQU    $0BA
  195.  
  196. AUD2LCH    EQU    $0C0
  197. AUD2LCL    EQU    $0C2
  198. AUD2LEN    EQU    $0C4
  199. AUD2PER    EQU    $0C6
  200. AUD2VOL    EQU    $0C8
  201. AUD2DAT    EQU    $0CA
  202.  
  203. AUD3LCH    EQU    $0D0
  204. AUD3LCL    EQU    $0D2
  205. AUD3LEN    EQU    $0D4
  206. AUD3PER    EQU    $0D6
  207. AUD3VOL    EQU    $0D8
  208. AUD3DAT    EQU    $0DA
  209.  
  210. ;bitplane DMA control registers
  211.  
  212. BPL1PTH    EQU    $0E0
  213. BPL1PTL    EQU    $0E2
  214.  
  215. BPL2PTH    EQU    $0E4
  216. BPL2PTL    EQU    $0E6
  217.  
  218. BPL3PTH    EQU    $0E8
  219. BPL3PTL    EQU    $0EA
  220.  
  221. BPL4PTH    EQU    $0EC
  222. BPL4PTL    EQU    $0EE
  223.  
  224. BPL5PTH    EQU    $0F0
  225. BPL5PTL    EQU    $0F2
  226.  
  227. BPL6PTH    EQU    $0F4
  228. BPL6PTL    EQU    $0F6
  229.  
  230. BPLCON0    EQU    $100
  231. BPLCON1    EQU    $102
  232. BPLCON2    EQU    $104
  233.  
  234. BPLCON3    EQU    $106    ECS
  235.  
  236. BPL1MOD    EQU    $108
  237. BPL2MOD    EQU    $10A
  238.  
  239. BPL1DAT    EQU    $110
  240. BPL2DAT    EQU    $112
  241. BPL3DAT    EQU    $114
  242. BPL4DAT    EQU    $116
  243. BPL5DAT    EQU    $118
  244. BPL6DAT    EQU    $11A
  245.  
  246. ;sprite control registers
  247.  
  248. SPR0PTH    EQU    $120
  249. SPR0PTL    EQU    $122
  250.  
  251. SPR1PTH    EQU    $124
  252. SPR1PTL    EQU    $126
  253.  
  254. SPR2PTH    EQU    $128
  255. SPR2PTL    EQU    $12A
  256.  
  257. SPR3PTH    EQU    $12C
  258. SPR3PTL    EQU    $12E
  259.  
  260. SPR4PTH    EQU    $130
  261. SPR4PTL    EQU    $132
  262.  
  263. SPR5PTH    EQU    $134
  264. SPR5PTL    EQU    $136
  265.  
  266. SPR6PTH    EQU    $138
  267. SPR6PTL    EQU    $13A
  268.  
  269. SPR7PTH    EQU    $13C
  270. SPR7PTL    EQU    $13E
  271.  
  272. SPR0POS    EQU    $140
  273. SPR0CTL    EQU    $142
  274. SPR0DATA EQU    $144
  275. SPR0DATB EQU    $146
  276.  
  277. SPR1POS    EQU    $148
  278. SPR1CTL    EQU    $14A
  279. SPR1DATA EQU    $14C
  280. SPR1DATB EQU    $14E
  281.  
  282. SPR2POS    EQU    $150
  283. SPR2CTL    EQU    $152
  284. SPR2DATA EQU    $154
  285. SPR2DATB EQU    $156
  286.  
  287. SPR3POS    EQU    $158
  288. SPR3CTL    EQU    $15A
  289. SPR3DATA EQU    $15C
  290. SPR3DATB EQU    $15E
  291.  
  292. SPR4POS    EQU    $160
  293. SPR4CTL    EQU    $162
  294. SPR4DATA EQU    $164
  295. SPR4DATB EQU    $166
  296.  
  297. SPR5POS    EQU    $168
  298. SP50CTL    EQU    $16A
  299. SPR5DATA EQU    $16C
  300. SPR5DATB EQU    $16E
  301.  
  302. SPR6POS    EQU    $170
  303. SPR6CTL    EQU    $172
  304. SPR6DATA EQU    $174
  305. SPR6DATB EQU    $176
  306.  
  307. SPR7POS    EQU    $178
  308. SPR7CTL    EQU    $17A
  309. SPR7DATA EQU    $17C
  310. SPR7DATB EQU    $17E
  311.  
  312. ;palette control registers
  313.  
  314. COLOR00    EQU    $180
  315. COLOR01    EQU    $182
  316. COLOR02    EQU    $184
  317. COLOR03    EQU    $186
  318. COLOR04    EQU    $188
  319. COLOR05    EQU    $18A
  320. COLOR06    EQU    $18C
  321. COLOR07    EQU    $18E
  322. COLOR08    EQU    $190
  323. COLOR09    EQU    $192
  324. COLOR10    EQU    $194
  325. COLOR11    EQU    $196
  326. COLOR12    EQU    $198
  327. COLOR13    EQU    $19A
  328. COLOR14    EQU    $19C
  329. COLOR15    EQU    $19E
  330. COLOR16    EQU    $1A0
  331. COLOR17    EQU    $1A2
  332. COLOR18    EQU    $1A4
  333. COLOR19    EQU    $1A6
  334. COLOR20    EQU    $1A8
  335. COLOR21    EQU    $1AA
  336. COLOR22    EQU    $1AC
  337. COLOR23    EQU    $1AE
  338. COLOR24    EQU    $1B0
  339. COLOR25    EQU    $1B2
  340. COLOR26    EQU    $1B4
  341. COLOR27    EQU    $1B6
  342. COLOR28    EQU    $1B8
  343. COLOR29    EQU    $1BA
  344. COLOR30    EQU    $1BC
  345. COLOR31    EQU    $1BE
  346.  
  347. HTOTAL    EQU    $1C0    ECS
  348. HSSTOP    EQU    $1C2    ECS
  349. HBSTRT    EQU    $1C4    ECS
  350. HBSTOP    EQU    $1C6    ECS
  351. VTOTAL    EQU    $1C8    ECS
  352. VSSTOP    EQU    $1CA    ECS
  353. VBSTRT    EQU    $1CC    ECS
  354. VBSTOP    EQU    $1CE    ECS
  355. SPRHSTRT EQU    $1D0    ECS
  356. SPRHSTOP EQU    $1D2    ECS
  357. BPLHSTRT EQU    $1D4    ECS
  358. BPLHSTOP EQU    $1D6    ECS
  359. HHPOSW    EQU    $1D8    ECS
  360. HHPOSR    EQU    $1DA    ECS
  361. BEAMCON0 EQU    $1DC    ECS    50/60 HERTZ
  362. HSSTRT    EQU    $1DE    ECS
  363. VSSTRT    EQU    $1E0    ECS
  364. HCENTER    EQU    $1E2    ECS
  365. DIWHIGH    EQU    $1E4    ECS
  366. BPLHMOD    EQU    $1E6    ECS
  367. SPRHPTH    EQU    $1E8    ECS
  368. SPRHPTL    EQU    $1EA    ECS
  369. BPL1HPTH EQU    $1EC    ECS
  370. BPL1HPTL EQU    $1EE    ECS
  371.  
  372. * DMA and INT register bit assignments (SETIT used for DMACON
  373. * type registers throughout! All such registers comment flagged
  374. * with (SETIT) by name)
  375.  
  376. SETIT EQU    $8000
  377. BBUSY EQU    $4000
  378. BZERO EQU    $2000
  379. BLTPRI    EQU    $0400
  380. DMAEN EQU    $0200
  381. BPLEN EQU    $0100
  382. COPEN EQU    $0080
  383. BLTEN EQU    $0040
  384. SPREN EQU    $0020
  385. DSKEN EQU    $0010
  386. AUD3EN    EQU    $0008
  387. AUD2EN    EQU    $0004
  388. AUD1EN    EQU    $0002
  389. AUD0EN    EQU    $0001
  390.  
  391. INTEN EQU    $4000
  392. EXTER EQU    $2000
  393. DSKSYN    EQU    $1000
  394. RBF    EQU    $0800
  395. AUD3    EQU    $0400
  396. AUD2    EQU    $0200
  397. AUD1    EQU    $0100
  398. AUD0    EQU    $0080
  399. BLIT    EQU    $0040
  400. VERTB EQU    $0020
  401. COPER EQU    $0010
  402. PORTS EQU    $0008
  403. SOFT    EQU    $0004
  404. DSKBLK    EQU    $0002
  405. TBE    EQU    $0001
  406.  
  407. CDANG EQU    $02E    ;COPPER DANGER BIT REG
  408.  
  409. * BPLCON0 BIT ASSIGNMENTS
  410.  
  411. HIRES EQU    $8000 ;HIRES mode on
  412. BPU2    EQU    $4000
  413. BPU1    EQU    $2000 ;BPU2-0 = no of bit planes used
  414. BPU0    EQU    $1000
  415. HOMOD EQU    $0800 ;HAM on
  416. DBPLF EQU    $0400 ;Dual Playfield on
  417. COLOR EQU    $0200 ;Video output colour
  418. GAUD    EQU    $0100 ;Genlock Audio on
  419.  
  420. LPEN    EQU    $0008 ;Light Pen input active
  421. LACE    EQU    $0004 ;interlace on
  422. ERSY    EQU    $0002 ;external synchronsiation on
  423.  
  424. * Blitter Minterm Definitions
  425. * NA = not A, NB = not B etc
  426.  
  427. MINTERM_ABC EQU    %111
  428. MINTERM_ABNC    EQU    %110
  429. MINTERM_ANBC    EQU    %101
  430. MINTERM_ANBNC    EQU    %100
  431. MINTERM_NABC    EQU    %011
  432. MINTERM_NABNC    EQU    %010
  433. MINTERM_NANBC    EQU    %001
  434. MINTERM_NANBNC EQU    %000
  435.  
  436.  
  437. * BLTCON0 Bit Assignments
  438.  
  439. ASH3    EQU    $8000
  440. ASH2    EQU    $4000
  441. ASH1    EQU    $2000
  442. ASH0    EQU    $1000
  443. USEA    EQU    $0800
  444. USEB    EQU    $0400
  445. USEC    EQU    $0200
  446. USED    EQU    $0100
  447. LF7    EQU    $0080
  448. LF6    EQU    $0040
  449. LF5    EQU    $0020
  450. LF4    EQU    $0010
  451. LF3    EQU    $0008
  452. LF2    EQU    $0004
  453. LF1    EQU    $0002
  454. LF0    EQU    $0001
  455.  
  456. START3    EQU    $8000
  457. START2    EQU    $4000
  458. START1    EQU    $2000
  459. START0    EQU    $1000
  460.  
  461. * BLTCON1 Bit Assignments
  462.  
  463. BSH3    EQU    $8000
  464. BSH2    EQU    $4000
  465. BSH1    EQU    $2000
  466. BSH0    EQU    $1000
  467.  
  468. EFE    EQU    $0010
  469. IFE    EQU    $0008
  470. FCI    EQU    $0004
  471. DESC    EQU    $0002
  472. LINE    EQU    $0001
  473.  
  474. TEXTURE3 EQU    $8000
  475. TEXTURE2 EQU    $4000
  476. TEXTURE1 EQU    $2000
  477. TEXTURE0 EQU    $1000
  478.  
  479. SIGN    EQU    $0040
  480.  
  481. SUD    EQU    $0010
  482. SUL    EQU    $0008
  483. AUL    EQU    $0004
  484. SING    EQU    $0002
  485.  
  486. * ADKCON bit assignments (SETIT)
  487.  
  488. PRECOMP1 EQU    $4000
  489. PRECOMP0 EQU    $2000
  490.  
  491. MFMPREC    EQU    $1000
  492. UARTNRK    EQU    $0800
  493. WORDSYNC EQU    $0400
  494. MSBSYNC    EQU    $0200
  495. FAST    EQU    $0100
  496.  
  497. USE3PN    EQU    $0080
  498. USE2P3    EQU    $0040
  499. USE1P2    EQU    $0020
  500. USE0P1    EQU    $0010
  501. USE3VN    EQU    $0008
  502. USE2V3    EQU    $0004
  503. USE1V2    EQU    $0002
  504. USE0V1    EQU    $0001
  505.  
  506. * POTGO bit assignments
  507.  
  508. OUTRY EQU    $8000
  509. DATRY EQU    $4000
  510. OUTRX EQU    $2000
  511. DATRX EQU    $1000
  512. OUTLY EQU    $0800
  513. DATLY EQU    $0400
  514. OUTLX EQU    $0200
  515. DATLX EQU    $0100
  516.  
  517. POTGOSTART    EQU    $0001
  518.  
  519. *SERPER bit assignments
  520.  
  521. LONG    EQU    $8000
  522.  
  523. * SERDAT/SERDATR bit assignments
  524.  
  525. SD_OVRUN EQU    $8000
  526. SD_RBF    EQU    $4000
  527. SD_TBE    EQU    $2000
  528. SD_RXD    EQU    $1000
  529.  
  530. SD_STP    EQU    $0200
  531. SD_DB8    EQU    $0100
  532. SD_DB7    EQU    $0080
  533. SD_DB6    EQU    $0040
  534. SD_DB5    EQU    $0020
  535. SD_DB4    EQU    $0010
  536. SD_DB3    EQU    $0008
  537. SD_DB2    EQU    $0004
  538. SD_DB1    EQU    $0002
  539. SD_DB0    EQU    $0001
  540.  
  541. *DSKBYT/DSKBYTR bit assignments
  542.  
  543. BYTEREADY    EQU    $8000
  544. DMAON EQU    $4000
  545. DSKWRITE EQU    $2000
  546. WORDEQUAL    EQU    $1000
  547.  
  548. DB_DATA7 EQU    $0080
  549. DB_DATA6 EQU    $0040
  550. DB_DATA5 EQU    $0020
  551. DB_DATA4 EQU    $0010
  552. DB_DATA3 EQU    $0008
  553. DB_DATA2 EQU    $0004
  554. DB_DATA1 EQU    $0002
  555. DB_DATA0 EQU    $0001
  556.  
  557. * DSKLEN bit assignments
  558.  
  559. DK_DMAEN EQU    $8000
  560. DK_WRITE EQU    $4000
  561.  
  562.  
  563.  
  564.  
  565.  
  566.