1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-11-25 06:31:25 +00:00
C02/include/atari/paddle.a02
2018-11-07 00:11:09 -05:00

34 lines
1.1 KiB
Plaintext

;Paddle Controller Constants and Functions for Atari 400 & 800
PADDLS EQU #$08 ;Maximum Numbers of Paddles
;Read Paddle
;Args: A = Paddle #
;Affects: X
;Returns: A = Paddle Value
; 0 and Carry Set if Paddle # Invalid
PADDLE: CMP #PADDLS ;If Invalid Paddle #
BCS BUTTOZ ; Return 0 & Carry Set
TAX ;Copy Paddle # to X
LDA $0270,X ;Read Paddle Shadow Register
RTS
BUTTNS EQU #$04 ;Maximum Numbers of Paddle Buttons
;Read Paddle Button
;Args: A = Button #
;Affects: X,Y
;Returns: A = $FF if Paddle Button Pressed
; $00 if Paddle Button Not Pressed
; Carry Set if Button Number Invalid
BUTTON: CMP #BUTTNS ;If Button# >= # of Buttons
BCS BUTTOZ ; Return FALSE & Carry Set
TAX ;and Copy to X Register
LDA $027C,Y ;Read Button Shadow Register
AND #$01 ;Mask off Relevant Bit
BNE BUTTOZ ;If Bit is 0
LDA #$FF ; Return TRUE
RTS ;Else
BUTTOZ: LDA #$00 ; Return FALSE
RTS