home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / inc&ad2.0 / includes / hardware / cia.i < prev    next >
Text File  |  1992-09-01  |  5KB  |  176 lines

  1.     IFND    HARDWARE_CIA_I
  2. HARDWARE_CIA_I    SET    1
  3. **
  4. **    $Filename: hardware/cia.i $
  5. **    $Release: 2.04 Includes, V37.4 $
  6. **    $Revision: 36.2 $
  7. **    $Date: 90/07/10 $
  8. **
  9. **    registers and bits in the Complex Interface Adapter (CIA) chip
  10. **
  11. **    (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. **
  14.  
  15. *
  16. * _ciaa is on an ODD address (e.g. the low byte) -- $bfe001
  17. * _ciab is on an EVEN address (e.g. the high byte) -- $bfd000
  18. *
  19. * do this to get the definitions:
  20. *    XREF _ciaa
  21. *    XREF _ciab
  22. *
  23.  
  24.  
  25. * cia register offsets
  26. ciapra          EQU    $0000
  27. ciaprb          EQU    $0100
  28. ciaddra      EQU    $0200
  29. ciaddrb      EQU    $0300
  30. ciatalo      EQU    $0400
  31. ciatahi      EQU    $0500
  32. ciatblo      EQU    $0600
  33. ciatbhi      EQU    $0700
  34. ciatodlow      EQU    $0800
  35. ciatodmid      EQU    $0900
  36. ciatodhi      EQU    $0A00
  37. ciasdr          EQU    $0C00
  38. ciaicr          EQU    $0D00
  39. ciacra          EQU    $0E00
  40. ciacrb          EQU    $0F00
  41.  
  42. * interrupt control register bit numbers
  43. CIAICRB_TA      EQU    0
  44. CIAICRB_TB      EQU    1
  45. CIAICRB_ALRM      EQU    2
  46. CIAICRB_SP      EQU    3
  47. CIAICRB_FLG      EQU    4
  48. CIAICRB_IR      EQU    7
  49. CIAICRB_SETCLR      EQU    7
  50.  
  51. * control register A bit numbers
  52. CIACRAB_START      EQU    0
  53. CIACRAB_PBON      EQU    1
  54. CIACRAB_OUTMODE   EQU    2
  55. CIACRAB_RUNMODE   EQU    3
  56. CIACRAB_LOAD      EQU    4
  57. CIACRAB_INMODE      EQU    5
  58. CIACRAB_SPMODE      EQU    6
  59. CIACRAB_TODIN      EQU    7
  60.  
  61. * control register B bit numbers
  62. CIACRBB_START      EQU    0
  63. CIACRBB_PBON      EQU    1
  64. CIACRBB_OUTMODE   EQU    2
  65. CIACRBB_RUNMODE   EQU    3
  66. CIACRBB_LOAD      EQU    4
  67. CIACRBB_INMODE0   EQU    5
  68. CIACRBB_INMODE1   EQU    6
  69. CIACRBB_ALARM      EQU    7
  70.  
  71. * interrupt control register bit masks
  72. CIAICRF_TA      EQU    (1<<0)
  73. CIAICRF_TB      EQU    (1<<1)
  74. CIAICRF_ALRM      EQU    (1<<2)
  75. CIAICRF_SP      EQU    (1<<3)
  76. CIAICRF_FLG      EQU    (1<<4)
  77. CIAICRF_IR      EQU    (1<<7)
  78. CIAICRF_SETCLR      EQU    (1<<7)
  79.  
  80. * control register A bit masks
  81. CIACRAF_START      EQU    (1<<0)
  82. CIACRAF_PBON      EQU    (1<<1)
  83. CIACRAF_OUTMODE   EQU    (1<<2)
  84. CIACRAF_RUNMODE   EQU    (1<<3)
  85. CIACRAF_LOAD      EQU    (1<<4)
  86. CIACRAF_INMODE      EQU    (1<<5)
  87. CIACRAF_SPMODE      EQU    (1<<6)
  88. CIACRAF_TODIN      EQU    (1<<7)
  89.  
  90. * control register B bit masks
  91. CIACRBF_START      EQU    (1<<0)
  92. CIACRBF_PBON      EQU    (1<<1)
  93. CIACRBF_OUTMODE   EQU    (1<<2)
  94. CIACRBF_RUNMODE   EQU    (1<<3)
  95. CIACRBF_LOAD      EQU    (1<<4)
  96. CIACRBF_INMODE0   EQU    (1<<5)
  97. CIACRBF_INMODE1   EQU    (1<<6)
  98. CIACRBF_ALARM      EQU    (1<<7)
  99.  
  100. * control register B INMODE masks
  101. CIACRBF_IN_PHI2   EQU    0
  102. CIACRBF_IN_CNT      EQU    (CIACRBF_INMODE0)
  103. CIACRBF_IN_TA      EQU    (CIACRBF_INMODE1)
  104. CIACRBF_IN_CNT_TA EQU    (CIACRBF_INMODE0!CIACRBF_INMODE1)
  105.  
  106.  
  107. *
  108. * Port definitions -- what each bit in a cia peripheral register is tied to
  109. *
  110.  
  111. * ciaa port A (0xbfe001)
  112. CIAB_GAMEPORT1      EQU    (7)   * gameport 1, pin 6 (fire button*)
  113. CIAB_GAMEPORT0      EQU    (6)   * gameport 0, pin 6 (fire button*)
  114. CIAB_DSKRDY      EQU    (5)   * disk ready*
  115. CIAB_DSKTRACK0      EQU    (4)   * disk on track 00*
  116. CIAB_DSKPROT      EQU    (3)   * disk write protect*
  117. CIAB_DSKCHANGE      EQU    (2)   * disk change*
  118. CIAB_LED      EQU    (1)   * led light control (0==>bright)
  119. CIAB_OVERLAY      EQU    (0)   * memory overlay bit
  120.  
  121. * ciaa port B (0xbfe101) -- parallel port
  122.  
  123. * ciab port A (0xbfd000) -- serial and printer control
  124. CIAB_COMDTR      EQU    (7)   * serial Data Terminal Ready*
  125. CIAB_COMRTS      EQU    (6)   * serial Request to Send*
  126. CIAB_COMCD      EQU    (5)   * serial Carrier Detect*
  127. CIAB_COMCTS      EQU    (4)   * serial Clear to Send*
  128. CIAB_COMDSR      EQU    (3)   * serial Data Set Ready*
  129. CIAB_PRTRSEL      EQU    (2)   * printer SELECT
  130. CIAB_PRTRPOUT      EQU    (1)   * printer paper out
  131. CIAB_PRTRBUSY      EQU    (0)   * printer busy
  132.  
  133. * ciab port B (0xbfd100) -- disk control
  134. CIAB_DSKMOTOR      EQU    (7)   * disk motorr*
  135. CIAB_DSKSEL3      EQU    (6)   * disk select unit 3*
  136. CIAB_DSKSEL2      EQU    (5)   * disk select unit 2*
  137. CIAB_DSKSEL1      EQU    (4)   * disk select unit 1*
  138. CIAB_DSKSEL0      EQU    (3)   * disk select unit 0*
  139. CIAB_DSKSIDE      EQU    (2)   * disk side select*
  140. CIAB_DSKDIREC      EQU    (1)   * disk direction of seek*
  141. CIAB_DSKSTEP      EQU    (0)   * disk step heads*
  142.  
  143. * ciaa port A (0xbfe001)
  144. CIAF_GAMEPORT1      EQU    (1<<7)
  145. CIAF_GAMEPORT0      EQU    (1<<6)
  146. CIAF_DSKRDY      EQU    (1<<5)
  147. CIAF_DSKTRACK0      EQU    (1<<4)
  148. CIAF_DSKPROT      EQU    (1<<3)
  149. CIAF_DSKCHANGE      EQU    (1<<2)
  150. CIAF_LED      EQU    (1<<1)
  151. CIAF_OVERLAY      EQU    (1<<0)
  152.  
  153. * ciaa port B (0xbfe101) -- parallel port
  154.  
  155. * ciab port A (0xbfd000) -- serial and printer control
  156. CIAF_COMDTR      EQU    (1<<7)
  157. CIAF_COMRTS      EQU    (1<<6)
  158. CIAF_COMCD      EQU    (1<<5)
  159. CIAF_COMCTS      EQU    (1<<4)
  160. CIAF_COMDSR      EQU    (1<<3)
  161. CIAF_PRTRSEL      EQU    (1<<2)
  162. CIAF_PRTRPOUT      EQU    (1<<1)
  163. CIAF_PRTRBUSY      EQU    (1<<0)
  164.  
  165. * ciab port B (0xbfd100) -- disk control
  166. CIAF_DSKMOTOR      EQU    (1<<7)
  167. CIAF_DSKSEL3      EQU    (1<<6)
  168. CIAF_DSKSEL2      EQU    (1<<5)
  169. CIAF_DSKSEL1      EQU    (1<<4)
  170. CIAF_DSKSEL0      EQU    (1<<3)
  171. CIAF_DSKSIDE      EQU    (1<<2)
  172. CIAF_DSKDIREC      EQU    (1<<1)
  173. CIAF_DSKSTEP      EQU    (1<<0)
  174.  
  175.     ENDC    ; HARDWARE_CIA_I
  176.