1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-11-01 01:06:40 +00:00
C02/vcs/include/vcshead.a02

80 lines
3.9 KiB
Plaintext

;vcshead.a02 - C02 Assembly Language Header file for Atari 2600
;based on VCS.H Version 1.05, 13/November/2003
;https://github.com/munsie/dasm/blob/master/machines/atari2600/vcs.h
;TIA Registers - Write
VSYNC EQU $00 ;0000 00x0 Vertical Sync Set-Clear
VBLANK EQU $01 ;xx00 00x0 Vertical Blank Set-Clear
WSYNC EQU $02 ;---- ---- Wait for Horizontal Blank
RSYNC EQU $03 ;---- ---- Reset Horizontal Sync Counter
NUSIZ0 EQU $04 ;00xx 0xxx Number-Size player/missle 0
NUSIZ1 EQU $05 ;00xx 0xxx Number-Size player/missle 1
COLUP0 EQU $06 ;xxxx xxx0 Color-Luminance Player 0
COLUP1 EQU $07 ;xxxx xxx0 Color-Luminance Player 1
COLUPF EQU $08 ;xxxx xxx0 Color-Luminance Playfield
COLUBK EQU $09 ;xxxx xxx0 Color-Luminance Background
CTRLPF EQU $0A ;00xx 0xxx Control Playfield, Ball, Collisions
REFP0 EQU $0B ;0000 x000 Reflection Player 0
REFP1 EQU $0C ;0000 x000 Reflection Player 1
PF0 EQU $0D ;xxxx 0000 Playfield Register Byte 0
PF1 EQU $0E ;xxxx xxxx Playfield Register Byte 1
PF2 EQU $0F ;xxxx xxxx Playfield Register Byte 2
RESP0 EQU $10 ;---- ---- Reset Player 0
RESP1 EQU $11 ;---- ---- Reset Player 1
RESM0 EQU $12 ;---- ---- Reset Missle 0
RESM1 EQU $13 ;---- ---- Reset Missle 1
RESBL EQU $14 ;---- ---- Reset Ball
AUDC0 EQU $15 ;0000 xxxx Audio Control 0
AUDC1 EQU $16 ;0000 xxxx Audio Control 1
AUDF0 EQU $17 ;000x xxxx Audio Frequency 0
AUDF1 EQU $18 ;000x xxxx Audio Frequency 1
AUDV0 EQU $19 ;0000 xxxx Audio Volume 0
AUDV1 EQU $1A ;0000 xxxx Audio Volume 1
GRP0 EQU $1B ;xxxx xxxx Graphics Register Player 0
GRP1 EQU $1C ;xxxx xxxx Graphics Register Player 1
ENAM0 EQU $1D ;0000 00x0 Graphics Enable Missle 0
ENAM1 EQU $1E ;0000 00x0 Graphics Enable Missle 1
ENABL EQU $1F ;0000 00x0 Graphics Enable Ball
HMP0 EQU $20 ;xxxx 0000 Horizontal Motion Player 0
HMP1 EQU $21 ;xxxx 0000 Horizontal Motion Player 1
HMM0 EQU $22 ;xxxx 0000 Horizontal Motion Missle 0
HMM1 EQU $23 ;xxxx 0000 Horizontal Motion Missle 1
HMBL EQU $24 ;xxxx 0000 Horizontal Motion Ball
VDELP0 EQU $25 ;0000 000x Vertical Delay Player 0
VDELP1 EQU $26 ;0000 000x Vertical Delay Player 1
VDELBL EQU $27 ;0000 000x Vertical Delay Ball
RESMP0 EQU $28 ;0000 00x0 Reset Missle 0 to Player 0
RESMP1 EQU $29 ;0000 00x0 Reset Missle 1 to Player 1
HMOVE EQU $2A ;---- ---- Apply Horizontal Motion
HMCLR EQU $2B ;---- ---- Clear Horizontal Move Registers
CXCLR EQU $2C ;---- ---- Clear Collision Latches
;TIA Regisers - Read bit 7 bit 6
CXM0P EQU $00 ;xx00 0000 Read Collision M0-P1 M0-P0
CXM1P EQU $01 ;xx00 0000 M1-P0 M1-P1
CXP0FB EQU $02 ;xx00 0000 P0-PF P0-BL
CXP1FB EQU $03 ;xx00 0000 P1-PF P1-BL
CXM0FB EQU $04 ;xx00 0000 M0-PF M0-BL
CXM1FB EQU $05 ;xx00 0000 M1-PF M1-BL
CXBLPF EQU $06 ;x000 0000 BL-PF
CXPPMM EQU $07 ;xx00 0000 P0-P1 M0-M1
INPT0 EQU $08 ;x000 0000 Read Pot Port 0
INPT1 EQU $09 ;x000 0000 Read Pot Port 1
INPT2 EQU $0A ;x000 0000 Read Pot Port 2
INPT3 EQU $0B ;x000 0000 Read Pot Port 3
INPT4 EQU $0C ;x000 0000 Read Input (Trigger) 0
INPT5 EQU $0D ;x000 0000 Read Input (Trigger) 1
; RIOT Registers
SWCHA EQU $280 ;Port A data register for joysticks:
;Bits 4-7 for player 1. Bits 0-3 for player 2.
SWACNT EQU $281 ;Port A data direction register (DDR)
SWCHB EQU $282 ;Port B data (console switches)
SWBCNT EQU $283 ;Port B DDR
INTIM EQU $284 ;Timer output
TIM1T EQU $294 ;set 1 clock interval
TIM8T EQU $295 ;set 8 clock interval
TIM64T EQU $296 ;set 64 clock interval
T1024T EQU $297 ;set 1024 clock interval