From: Christian Groessler Date: Mon, 6 Jan 2014 12:36:09 +0000 (+0100) Subject: Detect pen button. If we read 228 for X or Y position, don't change cursor X-Git-Tag: V2.15~141^2~18 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=97d512a1e180c1c9faa64b04d42e59cc1c9ac1d7;p=cc65 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. --- diff --git a/libsrc/atari/mou/atrtt.s b/libsrc/atari/mou/atrtt.s index 16ed32602..5bf9e38a2 100644 --- a/libsrc/atari/mou/atrtt.s +++ b/libsrc/atari/mou/atrtt.s @@ -330,15 +330,12 @@ IRQ: ldx #0 stx XPos+1 stx YPos+1 - lda TRIG0 ; joystick #0 trigger - bne @L00 ; not pressed - ldx #MOUSE_BTN_LEFT -@L00: stx Buttons + stx Buttons lda PORTA ; get other buttons eor #255 tax - and #4 + and #5 ; pen button and left button are mapped to left mouse button beq @L01 lda #MOUSE_BTN_LEFT ora Buttons @@ -350,7 +347,18 @@ IRQ: ora 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 jsr CHIDE @@ -473,9 +481,9 @@ IRQ: jsr CMOVEY lda visible - beq @L11 + beq @Done jsr CSHOW -@L11: clc ; Interrupt not "handled" +@Done: clc ; Interrupt not "handled" rts