mirror of
https://github.com/RevCurtisP/C02.git
synced 2024-11-24 15:31:17 +00:00
80 lines
3.9 KiB
Plaintext
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
|
|
|