1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-02-10 10:30:58 +00:00

More precision for axis

This commit is contained in:
David Schmenk 2018-02-23 15:23:42 -08:00
parent ea5bdccb82
commit 6eb842e472
2 changed files with 47 additions and 40 deletions

View File

@ -1,4 +1,4 @@
import joybuzz
const MAX_JOY = 64
predef joypos(buzz)#3
const MAX_JOY = 79
predef joypos(buzz)#4
end

View File

@ -6,48 +6,55 @@ GC0 = $C064
GC1 = $C065
GCPB1 = $C061
GCPB2 = $C062
GCMAX = 64 ; MAX VALUE FOR GAME CONTROLLER
GCMAX = 79 ; MAX VALUE FOR GAME CONTROLLER
end
//
// Read both game controllers in parallel
//
export asm joypos(buzz)#3
export asm joypos(buzz)#4
LDY ESTKL,X ; BUZZ TONE
STY TMPH
DEX
DEX
DEX
LDA #$00
STA ESTKH,X
STA ESTKH+1,X
STA ESTKH+2,X
LDA #GCMAX
STA TMPL
STA ESTKL,X
STA ESTKL+1,X
LDY ESTKL+2,X ; BUZZ TONE
BIT GCSTRB
JOYZZLP DEY
BEQ +
NOP ; TIMING
NOP
NOP
NOP
BNE ++
+ BIT SPEAKER
LDY ESTKL+2,X ; BUZZ TONE
++ LDA #$FF
ASL GC0
ADC ESTKL,X
ASL GC1
STA ESTKL,X
LDA #$FF
ADC ESTKL+1,X
STA ESTKL+1,X
DEC TMPL
BNE JOYZZLP
ASL GCPB1 ; READ GC BUTTONS
LDA GCPB2
ROR
AND #$C0
STA ESTKL+2,X
STA ESTKH+2,X
STA ESTKL+3,X
STA ESTKH+3,X
LDA #GCMAX
SEC
BIT GCSTRB
BUZZ DEY
BNE BUZZDLY
BIT SPEAKER
LDY TMPH ; BUZZ TONE
GC0READ BIT GC0
BPL GC0DLY
INC ESTKL+3,X
GC1READ BIT GC1
BPL GC1DLY
INC ESTKL+2,X
JOYLP SBC #$01
BNE BUZZ
TAY ; LDY #$00
BIT GCPB1 ; READ GC BUTTONS
BPL +
DEY
+ STY ESTKL+1,X
STY ESTKH+1,X
TAY ; LDY #$00
BIT GCPB2
BPL +
DEY
+ STY ESTKL,X
STY ESTKH,X
RTS
GC0DLY NOP ; TIMING
BPL GC1READ
GC1DLY NOP ; TIMING
BPL JOYLP
BUZZDLY BNE + ; TIMING
+ BNE GC0READ
end
done