home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 2002 January / STC_CD_01_2002.iso / APP / 5200BAS / EQUATES.INC < prev    next >
Text File  |  2001-10-25  |  12KB  |  416 lines

  1. ;    '400/800/5200 Equate Tables'
  2. ;    By J. Leiterman
  3. ;    8/29/82
  4.  
  5. ;    Last Modification
  6. ;    8/29/82
  7. ;    Modified for TASM by Alan Davis 8/31/00
  8. ;*******************************************************
  9. ;*** (C) 1982 Atari Inc.  All Rights Reserved.  No   ***
  10. ;*** part of this program of publication may be      ***
  11. ;*** Reproduced, Transmitted, Transcribed, stored    ***
  12. ;*** in a Retrieval System or Translated into any    ***
  13. ;*** Language or Computer Language, in any form or   ***
  14. ;*** by any means, Electronic, Mechanical, Magnetic, ***
  15. ;*** Optical, Chemical, Manual or otherwise, without ***
  16. ;*** the prior written permission of Atari Inc. 1196 ***
  17. ;*** Borregas Ave.  Sunnyvale  CA 94086              ***
  18. ;*******************************************************
  19. ;
  20. ;    [ATARI]
  21. ;    0=400/800    (Candy/Colleen)
  22. ;    1=CX5200    (Pam)           
  23.  
  24. #IF    ATARI=0
  25.  
  26. ; 400/800 Candy/Colleen Equates
  27.  
  28. GTIA    .EQU    $D000    ;Gtia Base
  29. POKEY    .EQU    $D200    ;Pokey Base
  30. PIA    .EQU    $D300    ;Port Base
  31. ANTIC    .EQU    $D400    ;Antic Base
  32. CHRORG    .EQU    $E000    ;Character Generator Base
  33.  
  34. CASINI    .EQU    $0002    ;Vec. for cassette program init.
  35. DOSVEC    .EQU    $000A    ;Software start vector
  36. DOSINI    .EQU    $000C    ;Software Init address
  37. POKMSK    .EQU    $0010    ;Mask for Pokey IRQ enable
  38. BRKKEY    .EQU    $0011    ;BREAK flag
  39. RTCLOK    .EQU    $0012    ;60 hz. clock
  40. CRITIC    .EQU    $0042    ;Critical section
  41. ATRACT    .EQU    $004D    ;Attract Mode
  42.  
  43.  
  44. ;Interrupt Vectors
  45.                  
  46. VDSLST    .EQU    $0200    ;Display List Interrupt NMI 
  47. VPRCED    .EQU    $0202    ;Proceed Line IRQ 
  48. VINTER    .EQU    $0204    ;Interrupt Line IRQ
  49. VBREAK    .EQU    $0206    ;Software Break IRQ
  50. VKEYBD    .EQU    $0208    ;Keyboard IRQ
  51. VSERIN    .EQU    $020A    ;Serial Input Rdy. IRQ
  52. VSEROR    .EQU    $020C    ;Serial Output Rdy. IRQ
  53. VSEROC    .EQU    $020E    ;Serial Output Complete IRQ
  54. VTIMR1    .EQU    $0210    ;Pokey Timer 1 IRQ
  55. VTIMR2    .EQU    $0212    ;Pokey Timer 2 IRQ
  56. VTIMR4    .EQU    $0214    ;Pokey Timer 4 IRQ
  57. VIMIRQ    .EQU    $0216    ;Vector to IRQ Handler
  58. VVBLKI    .EQU    $0222    ;Immediate Vertical Blank NMI
  59. VVBLKD    .EQU    $0224    ;Deferred Vertical Blank
  60. CDTMA1    .EQU    $0226    ;#1 System Timer JSR Address
  61. CDTMA2    .EQU    $0228    ;#2    "
  62. SDMCTL    .EQU    $022F    ;DMACTL Shadow
  63. SDLSTL    .EQU    $0230    ;DLISTL    "
  64. SDLSTH    .EQU    $0231    ;DLISTH     "
  65. SSKCTL    .EQU    $0232    ;Serial Port control
  66. LPENH    .EQU    $0234    ;PENH Shadow
  67. LPENV    .EQU    $0235    ;PENV Shadow
  68. BRKKY    .EQU    $0236    ;BREAK Key Vector (Only Rev. B)
  69. GPRIOR    .EQU    $026F    ;PRIOR Shadow
  70.  
  71. PADDL0    .EQU    $0270    ;POT0 Shadow
  72. PADDL1    .EQU    $0271    ;POT1  "
  73. PADDL2    .EQU    $0272    ;POT2  "
  74. PADDL3    .EQU    $0273    ;POT3  "
  75. PADDL4    .EQU    $0274    ;POT4  "
  76. PADDL5    .EQU    $0275    ;POT5  "
  77. PADDL6    .EQU    $0276    ;POT6  "
  78. PADDL7    .EQU    $0277    ;POT7  "
  79.  
  80. STICK0    .EQU    $0278    ;0 Joystick
  81. STICK1    .EQU    $0279    ;1  "
  82. STICK2    .EQU    $027A    ;2  "
  83. STICK3    .EQU    $027B    ;3  "
  84.  
  85. STRIG0    .EQU    $0284    ;TRIG0 Shadow
  86. STRIG1    .EQU    $0285    ;TRIG1  "
  87. STRIG2    .EQU    $0286    ;TRIG2  "
  88. STRIG3    .EQU    $0287    ;TRIG3  "
  89.                                 
  90. SHFLK    .EQU    $02BE    ;Shift-Lock flag
  91.            
  92. PCOLR0    .EQU    $02C0    ;COLPM0 Shadow
  93. PCOLR1    .EQU    $02C1    ;COLPM1  "
  94. PCOLR2    .EQU    $02C2    ;COLPM2  "
  95. PCOLR3    .EQU    $02C3    ;COLPM3  "
  96.  
  97. COLOR0    .EQU    $02C4    ;COLPF0 Shadow
  98. COLOR1    .EQU    $02C5    ;COLPF1  "
  99. COLOR2    .EQU    $02C6    ;COLPF2  "
  100. COLOR3    .EQU    $02C7    ;COLPF3  "
  101. COLOR4    .EQU    $02C8    ;COLBK   "
  102.                                    
  103. MEMLO    .EQU    $02E7    ;Start of user memory
  104. CHBAS    .EQU    $02F4    ;CHBASE Shadow
  105. CH    .EQU    $02FC    ;KBCODE  "
  106.  
  107.                          
  108. ;    Device Control Block
  109.  
  110. DDEVIC    .EQU    $0300    ;Device Bus I.D.
  111. DUNIT    .EQU    $0301    ;Device unit number
  112. DCOMND    .EQU    $0302    ;Device command
  113. DSTATS    .EQU    $0303    ;Device status
  114. DBUFLO    .EQU    $0304    ;Lo Handler Buffer Address 
  115. DBUFHI    .EQU    $0305    ;Hi
  116. DTIMLO    .EQU    $0306    ;Device Timeout
  117. DBYTLO    .EQU    $0308    ;Lo Buffer Length
  118. DBYTHI    .EQU    $0309    ;Hi
  119. DAUX1    .EQU    $030A    ;Aux 1
  120. DAUX2    .EQU    $030B    ;Aux 2
  121.  
  122.  
  123. ;    I/O Control Block
  124.  
  125. IOCB    .EQU    $0340
  126. ICHID    .EQU    IOCB    ;Handler I.D.
  127. ICDNO    .EQU    IOCB+1    ;Device number
  128. ICCOM    .EQU    IOCB+2    ;Command Byte
  129. ICSTA    .EQU    IOCB+3    ;Status
  130. ICBAL    .EQU    IOCB+4    ;Lo Buffer Address
  131. ICBAH    .EQU    IOCB+5    ;Hi 
  132. ICPTL    .EQU    IOCB+6    ;Lo Put Byte Vector
  133. ICPTH    .EQU    IOCB+7    ;Hi
  134. ICBLL    .EQU    IOCB+8    ;Lo Buffer Length
  135. ICBLH    .EQU    IOCB+9    ;Hi
  136. ICAX1    .EQU    IOCB+$A    ;Aux. #1
  137. ICAX2    .EQU    IOCB+$B    ;Aux. #2
  138. ICSPR    .EQU    IOCB+$C    ;Spare bytes for handler use
  139.                   
  140.  
  141. ;    Pia I/O chip
  142.  
  143. PORTA    .EQU    PIA    ;Port A Data
  144. PORTB    .EQU    PIA+1    ;Port B Data
  145. PACTL    .EQU    PIA+2    ;Port A Control
  146. PBCTL    .EQU    PIA+3    ;Port B Control
  147.  
  148.  
  149. ;    Rom Vectors                           
  150.  
  151. DISKIV    .EQU    $E450    ;Disk handler Init.
  152. DSKINV    .EQU    $E453    ;Disk handler
  153. CIOV    .EQU    $E456    ;Central I/O 
  154. SIOV    .EQU    $E459    ;Serial I/O 
  155. SETVBV    .EQU    $E45C    ;Set system timers
  156. SYSVBV    .EQU    $E45F    ;System Vertical Blank
  157. XITVBV    .EQU    $E462    ;Exit Vertical Blank
  158. SIOINV    .EQU    $E465    ;Serial I/O Init.
  159. SENDEV    .EQU    $E468    ;Serial bus send enable
  160. INTINV    .EQU    $E46B    ;Interrupt handler
  161. CIOINV    .EQU    $E46E    ;Central I/O Init.
  162. BLKBDV    .EQU    $E471    ;Blackboard mode (Memopad)
  163. WARMSV    .EQU    $E474    ;Warm start entry (System Reset)
  164. COLDSV    .EQU    $E477    ;Cold start entry (Power-up)
  165. RBLOKV    .EQU    $E47A    ;Cassette read block
  166. CSOPIV    .EQU    $E47D    ;Cassette Open for Input
  167.     
  168.  
  169. ; Cartridge Parameters
  170.  
  171. CARTCS    .EQU    $BFFA    ;Cartridge Start Address
  172. CART    .EQU    $BFFC    ;0=Cart Exists
  173. CARTFG    .EQU    $BFFD    ;Option Byte
  174.             ;D7  0=Not a Diagnostic Cart
  175.             ;    1=Is a Diagnostic cart and control is 
  176.             ;      given to cart before any OS is init.
  177.             ;D2  0=Init but Do not Start Cart
  178.             ;    1=Init and Start Cart
  179.             ;D0  0=Do not boot disk
  180.             ;    1=Boot Disk
  181. CARTAD    .EQU    $BFFE    ;Cartridge Init. Address
  182.  
  183.  
  184. #ELSE
  185.                     
  186.  
  187. ; CX5200 Pam Equates
  188.  
  189. GTIA    .EQU    $C000    ;Gtia Base
  190. POKEY    .EQU    $E800    ;Pokey Base
  191. ANTIC    .EQU    $D400    ;Antic Base
  192. CHRORG    .EQU    $F800    ;Character Generator Base
  193.  
  194. POKMSK    .EQU    $0000    ;Mask for Pokey IRQ enable
  195. RTCLOK    .EQU    $0001    ;60 hz. clock
  196. JUMP    .EQU    $0001    
  197. CRITIC    .EQU    $0003    ;Critical section
  198. ATRACT    .EQU    $0004    ;Attract Mode 
  199.  
  200. SDLSTL    .EQU    $0005    ;DLISTL Shadow
  201. SDLSTH    .EQU    $0006    ;DLISTH  "
  202. SDMCTL    .EQU    $0007    ;DMACTL  "
  203.  
  204. PCOLR0    .EQU    $0008    ;COLPM0 Shadow
  205. PCOLR1    .EQU    $0009    ;COLPM1  "
  206. PCOLR2    .EQU    $000A    ;COLPM2  "
  207. PCOLR3    .EQU    $000B    ;COLPM3  "
  208.  
  209. COLOR0    .EQU    $000C    ;COLPF0 Shadow
  210. COLOR1    .EQU    $000D    ;COLPF1  "
  211. COLOR2    .EQU    $000E    ;COLPF2  "
  212. COLOR3    .EQU    $000F    ;COLPF3  "
  213. COLOR4    .EQU    $0010    ;COLBK   "
  214.  
  215. PADDL0    .EQU    $0011    ;POT0 Shadow
  216. PADDL1    .EQU    $0012    ;POT1  "
  217. PADDL2    .EQU    $0013    ;POT2  "
  218. PADDL3    .EQU    $0014    ;POT3  "
  219. PADDL4    .EQU    $0015    ;POT4  "
  220. PADDL5    .EQU    $0016    ;POT5  "
  221. PADDL6    .EQU    $0017    ;POT6  "
  222. PADDL7    .EQU    $0018    ;POT7  "
  223.  
  224.  
  225. ;Interrupt Vectors
  226.                  
  227. VIMIRQ    .EQU    $0200    ;Immediate IRQ    
  228.             ;Preset $FC03 (SYSIRQ)
  229. VVBLK1    .EQU    $0202    ;Vblank immediate
  230.             ;Preset $FCB8 (SYSVBL)
  231. VVBLKD    .EQU    $0204    ;Vblank deferred
  232.             ;Preset $FCB2 (XITVBL)
  233. VDSLST    .EQU    $0206    ;Display List 
  234.                   ;Preset $FEA1 (OSDLI)
  235. VKYBDI    .EQU    $0208    ;Keyboard immediate
  236.             ;Preset $FD02 (SYSKBD)
  237. VKYBDF    .EQU    $020A    ;Deferred Keyboard
  238.             ;Preset $FCB2 (XITVBL)
  239. VTRIGR    .EQU    $020C    ;Soft Trigger   
  240. VBRKOP    .EQU    $020E    ;BRK Opcode
  241. VSERIN    .EQU    $0210    ;Serial in Ready
  242. VSEROR    .EQU    $0212    ;Serial Out Ready
  243. VSEROC    .EQU    $0214    ;Serial Output complete
  244. VTIMR1    .EQU    $0216    ;Pokey Timer 1
  245. VTIMR2    .EQU    $0218    ;Pokey Timer 2
  246. VTIMR4    .EQU    $021A    ;Pokey Timer 4
  247.  
  248.  
  249. ;Cartridge Parameters
  250.  
  251. CARTNM    .EQU    $BFE8    ;Cartridge Name Area
  252. COPYD    .EQU    $BFFC    ;Copyright Decade in Cart
  253. COPYR    .EQU    $BFFD    ;Copyright Year in Cart
  254.             ; $FF=Diagnostic Cart
  255. GOCART    .EQU    $BFFE    ;Cartridge Start Vector
  256.  
  257.  
  258. #ENDIF
  259.  
  260.  
  261. ;**************************
  262. ;***   GTIA Registers   ***
  263. ;**************************
  264.  
  265. CTIA    .EQU    GTIA 
  266. HPOSP0    .EQU    GTIA+$00 ;0 Player Horz. position
  267. HPOSP1    .EQU    GTIA+$01 ;1    "
  268. HPOSP2    .EQU    GTIA+$02 ;2    "
  269. HPOSP3    .EQU    GTIA+$03 ;3    "
  270.  
  271. HPOSM0    .EQU    GTIA+$04 ;0 Missile Horz. position
  272. HPOSM1    .EQU    GTIA+$05 ;1    "
  273. HPOSM2    .EQU    GTIA+$06 ;2    "
  274. HPOSM3    .EQU    GTIA+$07 ;3    "
  275.  
  276. SIZEP0    .EQU    GTIA+$08 ;0 Player Size
  277. SIZEP1    .EQU    GTIA+$09 ;1    "
  278. SIZEP2    .EQU    GTIA+$0A ;2    "
  279. SIZEP3    .EQU    GTIA+$0B ;3    "
  280.  
  281. SIZEM    .EQU    GTIA+$0C ;Missiles size
  282.  
  283. M0PF    .EQU    GTIA+$00 ;0 Missile to playfield collision
  284. M1PF    .EQU    GTIA+$01 ;1    "
  285. M2PF    .EQU    GTIA+$02 ;2    "
  286. M3PF    .EQU    GTIA+$03 ;3    "
  287.  
  288. P0PF    .EQU    GTIA+$04 ;0 Player to playfield collision
  289. P1PF    .EQU    GTIA+$05 ;1    "
  290. P2PF    .EQU    GTIA+$06 ;2    "
  291. P3PF    .EQU    GTIA+$07 ;3    "
  292.  
  293. M0PL    .EQU    GTIA+$08 ;0 Missile to player collision
  294. M1PL    .EQU    GTIA+$09 ;1    "
  295. M2PL    .EQU    GTIA+$0A ;2    "
  296. M3PL    .EQU    GTIA+$0B ;3    "
  297.  
  298. P0PL    .EQU    GTIA+$0C ;0 Player to Player collision
  299. P1PL    .EQU    GTIA+$0D ;1    "
  300. P2PL    .EQU    GTIA+$0E ;2    "
  301. P3PL    .EQU    GTIA+$0F ;3    "
  302.  
  303. GRAFP0    .EQU    GTIA+$0D ;0 Player Graphics
  304. GRAFP1    .EQU    GTIA+$0E ;1    "
  305. GRAFP2    .EQU    GTIA+$0F ;2    "
  306. GRAFP3    .EQU    GTIA+$10 ;3    "
  307.  
  308. GRAFM    .EQU    GTIA+$11 ;Missile Graphics
  309.  
  310. TRIG0    .EQU    GTIA+$10 ;0 Joystick Trigger
  311. TRIG1    .EQU    GTIA+$11 ;1    " 
  312. TRIG2    .EQU    GTIA+$12 ;2    "
  313. TRIG3    .EQU    GTIA+$13 ;3    "
  314.  
  315. COLPM0    .EQU    GTIA+$12 ;0 Player/Missile Color
  316. COLPM1    .EQU    GTIA+$13 ;1    "
  317. COLPM2    .EQU    GTIA+$14 ;2    "
  318. COLPM3    .EQU    GTIA+$15 ;3    "
  319.  
  320. COLPF0    .EQU    GTIA+$16 ;0 Playfield Color
  321. COLPF1    .EQU    GTIA+$17 ;1    "
  322. COLPF2    .EQU    GTIA+$18 ;2    "
  323. COLPF3    .EQU    GTIA+$19 ;3    "
  324. COLBK    .EQU    GTIA+$1A ;Background/Border Color
  325.  
  326. PRIOR    .EQU    GTIA+$1B ;Display Depth Priorities
  327. VDELAY    .EQU    GTIA+$1C ;Vertical Delay
  328. GRACTL    .EQU    GTIA+$1D ;Graphics Control
  329. HITCLR    .EQU    GTIA+$1E ;Clear All P/M collision Reg.
  330. CONSOL    .EQU    GTIA+$1F ;Console Key register
  331.  
  332.  
  333. ;**************************
  334. ;***   POKEY Registers  ***
  335. ;**************************
  336.  
  337. AUDF1    .EQU    POKEY+$00 ;1 Audio Fr.EQUency
  338. AUDF2    .EQU    POKEY+$02 ;2    "
  339. AUDF3    .EQU    POKEY+$04 ;3    "
  340. AUDF4    .EQU    POKEY+$06 ;4    "
  341.  
  342. AUDC1    .EQU    POKEY+$01 ;1 Audio Control
  343. AUDC2    .EQU    POKEY+$03 ;2    "
  344. AUDC3    .EQU    POKEY+$05 ;3    "
  345. AUDC4    .EQU    POKEY+$07 ;4    "
  346.  
  347. AUDCTL    .EQU    POKEY+$08 ;Audio Master Control
  348.  
  349. POT0    .EQU    POKEY+$00 ;0 Analog in port
  350. POT1    .EQU    POKEY+$01 ;1    "
  351. POT2    .EQU    POKEY+$02 ;2    "
  352. POT3    .EQU    POKEY+$03 ;3    "
  353. POT4    .EQU    POKEY+$04 ;4    "
  354. POT5    .EQU    POKEY+$05 ;5    "
  355. POT6    .EQU    POKEY+$06 ;6    "
  356. POT7    .EQU    POKEY+$07 ;7    "
  357.  
  358. ALLPOT    .EQU    POKEY+$08 ;Read 8 Line Pot Port status
  359.  
  360. STIMER    .EQU    POKEY+$09 ;Start Timer
  361. KBCODE    .EQU    POKEY+$09 ;Keyboard Code
  362. SKRES    .EQU    POKEY+$0A ;Reset Serial Port Status
  363. RANDOM    .EQU    POKEY+$0A ;Random Number Generator
  364. POTGO    .EQU    POKEY+$0B ;Start Pot Scan s.EQUence
  365. SEROUT    .EQU    POKEY+$0D ;Serial Port Output
  366. SERIN    .EQU    POKEY+$0D ;Serial Port Input
  367. IRQEN    .EQU    POKEY+$0E ;IRQ enable mask
  368. IRQST    .EQU    POKEY+$0E ;IRQ status
  369. SKCTL    .EQU    POKEY+$0F ;serial port control
  370. SKSTAT    .EQU    POKEY+$0F ;Serial port status
  371.  
  372.  
  373. ;**************************
  374. ;***   ANTIC Registers  ***
  375. ;**************************
  376.  
  377. DMACTL    .EQU    ANTIC+$00 ;DMA Control 
  378. CHACTL    .EQU    ANTIC+$01 ;Character Set Control
  379. DLISTL    .EQU    ANTIC+$02 ;Display List Low
  380. DLISTH    .EQU    ANTIC+$03 ;             High
  381. HSCROL    .EQU    ANTIC+$04 ;Horz. Fine Scroll 
  382. VSCROL    .EQU    ANTIC+$05 ;Vert. Fine Scroll
  383. PMBASE    .EQU    ANTIC+$07 ;Player/Missile Base
  384. CHBASE    .EQU    ANTIC+$09 ;Character Set Base
  385. WSYNC    .EQU    ANTIC+$0A ;Wait for Horz. Sync
  386. VCOUNT    .EQU    ANTIC+$0B ;Scan Line Counter
  387. PENH    .EQU    ANTIC+$0C ;Horz. Light Pen
  388. PENV    .EQU    ANTIC+$0D ;Vert. Light Pen
  389. NMIEN    .EQU    ANTIC+$0E ;Non-maskable Interrupt enable
  390. NMIRES    .EQU    ANTIC+$0F ;NMI reset
  391. NMIST    .EQU    ANTIC+$0F ;MNI status
  392.                                    
  393.  
  394. ;****************************
  395. ;*** Display List Equates ***
  396. ;****************************
  397.  
  398. ;   Graphic Modes vary from 2-F
  399.  
  400. BLANK1    .EQU    $00    ;1 Blank Scan Line
  401. BLANK2    .EQU    $10    ;2 Blank Scan Lines
  402. BLANK3    .EQU    $20    ;3     "
  403. BLANK4    .EQU    $30    ;4    "
  404. BLANK5    .EQU    $40    ;5     "
  405. BLANK6    .EQU    $50    ;6     "
  406. BLANK7    .EQU    $60    ;7     "
  407. BLANK8    .EQU    $70    ;8    "
  408.  
  409. RLDMSC    .EQU    $40    ;This + Graphic Mode=pointer
  410.                 ; to memory for scan line
  411. JMPWT    .EQU    $41    ;Point to top to Display List
  412.     
  413. HSC    .EQU    $10    ;Fine Horz. Scroll Enable
  414. VSC    .EQU    $20    ;Fine Vert. Scroll Enable
  415. INT    .EQU    $80    ;Display List Interrupt Set
  416.