Re: [stella] VCS.H standardization

Subject: Re: [stella] VCS.H standardization
From: Glenn Saunders <cybpunks2@xxxxxxxxxxxxx>
Date: Sun, 25 Nov 2001 19:38:29 -0800
At 08:41 PM 11/25/2001 -0800, you wrote:
That's it. No more vcs.h, now it's stella.h.
Now let's make it completeand distriute it, OK?

Here is the composite. Let's work on the constants. Anything missing here?


;        globals
; Atari 2600 Equates

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


; Read Address Registers
; bit 7 bit 6
CXM0P equ $0 ; xx00 0000 Read Collision M0-P1 M0-P0
CXM1P equ $1 ; xx00 0000 M1-P0 M1-P1
CXP0FB equ $2 ; xx00 0000 P0-PF P0-BL
CXP1FB equ $3 ; xx00 0000 P1-PF P1-BL
CXM0FB equ $4 ; xx00 0000 M0-PF M0-BL
CXM1FB equ $5 ; xx00 0000 M1-PF M1-BL
CXBLPF equ $6 ; x000 0000 BL-PF -----
CXPPMM equ $7 ; xx00 0000 P0-P1 M0-M1
INPT0 equ $8 ; x000 0000 Read Pot Port 0
INPT1 equ $9 ; x000 0000 Read Pot Port 1
INPT2 equ $A ; x000 0000 Read Pot Port 2
INPT3 equ $B ; x000 0000 Read Pot Port 3
INPT4 equ $C ; x000 0000 Read Input (Trigger) 0
INPT5 equ $D ; x000 0000 Read Input (Trigger) 1


; Atari 2600 RIOT Memory Map

; RAM equ $80 ; 80-FF, also shadowed to $180-$1FF

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


; VARIOUS TIA REGISTER CONSTANTS
; NICK BENSEMA VCS.H MERGE


;VIDEO SYNC VS_Enable = 2

;VIDEO BLANK
VB_Enable       = 2
VB_Disable      = 0
VB_LatchEnable  = 64
VB_LatchDisable = 0
VB_DumpPots     = 128

;PLAYERS
P_Reflect = $08
P_Single      = 0
P_TwoClose    = 1
P_TwoMedium   = 2
P_ThreeClose  = 3
P_TwoFar      = 4
P_Double      = 5
P_ThreeMedium = 6
P_Quad        = 7

;MISSILES
M_Single      = $00
M_Double      = $10
M_Quad        = $20
M_Oct         = $40
M_Enable          = 2

;PLAYFIELD
PF_Reflect  = $01
PF_Score    = $02
PF_Priority = $04

;JOYSTICK 0
J0_Right = $80
J0_Left  = $40
J0_Down  = $20
J0_Up    = $10

;JOYSTICK 1
J1_Right = $08
J1_Left  = $04
J1_Down  = $02
J1_Up    = $01

;DIFFICULTY SWITCHES
P0_Diff = $80
P1_Diff = $40

;CONSOLE SWITCHES
Con_Color  = $08
Con_Select = $02
Con_Start  = $01


---------------------------------------------------------------------------------------------- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/


Current Thread