From: Christian Groessler Date: Tue, 14 Jan 2014 12:59:42 +0000 (+0100) Subject: Always print the mouse cursor, even if coordinates haven't changed. X-Git-Tag: V2.15~195^2~1 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=ed9ec5a2081aabcc2012e8a0de7dd4a1df378a96;p=cc65 Always print the mouse cursor, even if coordinates haven't changed. This makes sure that the cursor is always visible, even if the program has written text to the screen (only valid for non-P/M mouse callbacks). --- diff --git a/libsrc/atari/mou/atrtt.s b/libsrc/atari/mou/atrtt.s index 9d2dac1c9..f58838720 100644 --- a/libsrc/atari/mou/atrtt.s +++ b/libsrc/atari/mou/atrtt.s @@ -118,12 +118,8 @@ INSTALL: dex bpl @L1 -; Be sure the mouse cursor is invisible and at the default location. We -; need to do that here, because our mouse interrupt handler doesn't set the -; mouse position if it hasn't changed. +; Be sure the mouse cursor is invisible and at the default location. - php - sei jsr CHIDE lda XPos ldx XPos+1 @@ -131,7 +127,6 @@ INSTALL: lda YPos ldx YPos+1 jsr CMOVEY - plp ; Done, return zero (= MOUSE_ERR_OK) @@ -352,15 +347,18 @@ IRQ: @L02: lda PADDL0 cmp #228 - beq @Dont + beq @Cont ; CF set if equal lda PADDL1 - cmp #228 - bne @Do -@Dont: jmp @Done + cmp #228 ; CF set if equal -@Do: lda visible - beq @L03 +@Cont: lda visible + beq @Go + php ; remember CF jsr CHIDE + plp ; restore CF + +@Go: bcc @L03 + jmp @Show @L03: ldx #0 stx XPos+1 @@ -484,7 +482,7 @@ IRQ: tya jsr CMOVEY - lda visible +@Show: lda visible beq @Done jsr CSHOW