]> git.sur5r.net Git - cc65/commitdiff
Always print the mouse cursor, even if coordinates haven't changed.
authorChristian Groessler <chris@groessler.org>
Tue, 14 Jan 2014 12:57:47 +0000 (13:57 +0100)
committerChristian Groessler <chris@groessler.org>
Mon, 20 Jan 2014 22:04:30 +0000 (23:04 +0100)
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).

libsrc/atari/mou/atrjoy.s
libsrc/atari/mou/atrst.s

index 9915a4ff1dfd9b3aeab77f213e2f588a6581497a..2c2d2c17834d5bbc8ca361561952f692bc447525 100644 (file)
@@ -120,12 +120,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
@@ -133,7 +129,6 @@ INSTALL:
         lda     YPos
         ldx     YPos+1
         jsr     CMOVEY
-        plp
 
 ; Done, return zero (= MOUSE_ERR_OK)
 
@@ -316,7 +311,7 @@ INFO:   jsr     POS
 
 IOCTL:  lda     #<MOUSE_ERR_INV_IOCTL     ; We don't support ioclts for now
         ldx     #>MOUSE_ERR_INV_IOCTL
-hlprts: rts
+        rts
 
 ;----------------------------------------------------------------------------
 ; IRQ: Irq handler entry point. Called as a subroutine but in IRQ context
@@ -339,8 +334,6 @@ IRQ:
         and     #15                     ; clear joystick #1 bits
         eor     #15
         sta     Temp
-        clc
-        beq     hlprts                  ; no movement, do nothing
 
         jsr     CHIDE
 
index 04580f31a3736514ac5151717216e75b22bc02e0..03f9f0b53ab9e3ebbdedae5684fc53ada67a6f5c 100644 (file)
@@ -170,11 +170,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.
 
-        sei
         jsr     CHIDE
         lda     XPos
         sta     XPosWrk
@@ -186,7 +183,6 @@ INSTALL:
         ldx     YPos+1
         stx     YPosWrk+1
         jsr     CMOVEY
-        cli
 
 ; Install timer irq routine to poll mouse.
 
@@ -470,22 +466,7 @@ IRQ:
         ldx     #MOUSE_BTN_LEFT
 @L0:    stx     Buttons
 
-; Update coordinates if needed
-
-        lda     XPosWrk
-        cmp     XPos
-        bne     @Update
-        lda     XPosWrk+1
-        cmp     XPos+1
-        bne     @Update
-        lda     YPosWrk
-        cmp     YPos
-        bne     @Update
-        lda     YPosWrk+1
-        cmp     YPos+1
-        beq     @Done
-
-@Update:ldx     visible
+        ldx     visible
         beq     @L1
         jsr     CHIDE