1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-09 22:29:35 +00:00

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).
This commit is contained in:
Christian Groessler 2014-01-14 13:57:47 +01:00
parent e85a3f9762
commit 3baf01f531
2 changed files with 4 additions and 30 deletions

View 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

View 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