mirror of
https://github.com/cc65/cc65.git
synced 2024-12-22 12:30:41 +00:00
tweak driver to no more use IRQ
This commit is contained in:
parent
38fedfd78b
commit
3afbed48e0
@ -73,13 +73,22 @@ UNINSTALL:
|
||||
rts
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; IRQ entry point. Is called from the C layer as a subroutine in the
|
||||
; interrupt. The routine MUST return carry set if the interrupt has been
|
||||
; 'handled' - which means that the interrupt source is gone. Otherwise it
|
||||
; MUST return carry clear.
|
||||
; COUNT: Return the total number of available joysticks in a/x.
|
||||
;
|
||||
|
||||
IRQ: ; cia 2 setup
|
||||
COUNT: lda #<JOY_COUNT
|
||||
ldx #>JOY_COUNT
|
||||
rts
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; READ: Read a particular joystick passed in A.
|
||||
;
|
||||
|
||||
readadapter:
|
||||
|
||||
sei
|
||||
|
||||
; cia 2 setup
|
||||
ldy #$00 ; port b direction
|
||||
sty $dd03 ; => input
|
||||
|
||||
@ -143,32 +152,24 @@ IRQ: ; cia 2 setup
|
||||
sta temp4
|
||||
|
||||
fire:
|
||||
; Default Value: $40/64 on PAL
|
||||
; $42/66 on NTSC
|
||||
; FIXME: to be really 100% correct this should restore the correct timer
|
||||
; values for the respective machine (PAL: $4025, NTSC: $4295)
|
||||
; however, this should hardly be a problem in a real world program
|
||||
|
||||
lda #$41
|
||||
sta $dc05
|
||||
; Default Value: $25/37 on PAL
|
||||
; $95/149 on NTSC
|
||||
lda #0
|
||||
sta $dc04
|
||||
|
||||
; We do never "handle" the interrupt, we use it just as a timer.
|
||||
clc
|
||||
cli
|
||||
rts
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; COUNT: Return the total number of available joysticks in a/x.
|
||||
;
|
||||
READ:
|
||||
pha
|
||||
jsr readadapter
|
||||
pla
|
||||
|
||||
COUNT: lda #<JOY_COUNT
|
||||
ldx #>JOY_COUNT
|
||||
rts
|
||||
|
||||
; ------------------------------------------------------------------------
|
||||
; READ: Read a particular joystick passed in A.
|
||||
;
|
||||
|
||||
READ: tax ; Joystick number into X
|
||||
tax ; Joystick number into X
|
||||
bne joy2
|
||||
|
||||
; Read joystick 1
|
||||
@ -214,4 +215,3 @@ joy4: lda temp4
|
||||
eor #$1F
|
||||
ldx #0
|
||||
rts
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user