1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-11 11:30:13 +00:00

Detect pen button. If we read 228 for X or Y position, don't change cursor

position, since the pen was probably lifted from the pad.
This commit is contained in:
Christian Groessler 2014-01-06 13:36:09 +01:00
parent 6026776460
commit 97d512a1e1

View File

@ -330,15 +330,12 @@ IRQ:
ldx #0 ldx #0
stx XPos+1 stx XPos+1
stx YPos+1 stx YPos+1
lda TRIG0 ; joystick #0 trigger stx Buttons
bne @L00 ; not pressed
ldx #MOUSE_BTN_LEFT
@L00: stx Buttons
lda PORTA ; get other buttons lda PORTA ; get other buttons
eor #255 eor #255
tax tax
and #4 and #5 ; pen button and left button are mapped to left mouse button
beq @L01 beq @L01
lda #MOUSE_BTN_LEFT lda #MOUSE_BTN_LEFT
ora Buttons ora Buttons
@ -350,7 +347,18 @@ IRQ:
ora Buttons ora Buttons
sta Buttons sta Buttons
@L02: lda visible ; If we read 228 for X or Y positions, we assume the user has lifted the pen
; and don't change the cursor position.
@L02: lda PADDL0
cmp #228
beq @Dont
lda PADDL1
cmp #228
bne @Do
@Dont: jmp @Done
@Do: lda visible
beq @L03 beq @L03
jsr CHIDE jsr CHIDE
@ -473,9 +481,9 @@ IRQ:
jsr CMOVEY jsr CMOVEY
lda visible lda visible
beq @L11 beq @Done
jsr CSHOW jsr CSHOW
@L11: clc ; Interrupt not "handled" @Done: clc ; Interrupt not "handled"
rts rts