Make the code somewhat smaller
git-svn-id: svn://svn.cc65.org/cc65/trunk@950 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -99,24 +99,26 @@ AlreadyInitialized:
|
|||||||
; void mouse_done (void);
|
; void mouse_done (void);
|
||||||
;
|
;
|
||||||
|
|
||||||
.proc _mouse_done
|
_mouse_done:
|
||||||
|
|
||||||
lda Initialized ; Initialized?
|
lda Initialized ; Initialized?
|
||||||
beq @L1 ; Jump if no
|
beq mddone ; Jump if no
|
||||||
lda #0
|
lda #0
|
||||||
sta Initialized ; Reset the initialized flag
|
sta Initialized ; Reset the initialized flag
|
||||||
lda OldInitStatus ; Load the old BASIC int bit
|
lda OldInitStatus ; Load the old BASIC int bit
|
||||||
and #$01 ; Mask it
|
and #$01 ; Mask it
|
||||||
sei ; Disable interrupts
|
|
||||||
ora INIT_STATUS ; Restore the old state
|
ora INIT_STATUS ; Restore the old state
|
||||||
sta INIT_STATUS
|
sta INIT_STATUS
|
||||||
|
|
||||||
|
; Disable the mouse sprite
|
||||||
|
|
||||||
|
DisableSprite:
|
||||||
lda #$FE ; Clear bit for sprite #0
|
lda #$FE ; Clear bit for sprite #0
|
||||||
|
sei ; Disable interrupts
|
||||||
and VIC_SPR_ENA
|
and VIC_SPR_ENA
|
||||||
sta VIC_SPR_ENA ; Disable sprite
|
sta VIC_SPR_ENA ; Disable sprite
|
||||||
cli ; Enable interrupts
|
cli ; Enable interrupts
|
||||||
@L1: rts
|
mddone: rts
|
||||||
|
|
||||||
.endproc
|
|
||||||
|
|
||||||
; --------------------------------------------------------------------------
|
; --------------------------------------------------------------------------
|
||||||
;
|
;
|
||||||
@@ -127,13 +129,7 @@ AlreadyInitialized:
|
|||||||
|
|
||||||
lda Invisible ; Get the flag
|
lda Invisible ; Get the flag
|
||||||
bne @L1 ; Jump if already invisible
|
bne @L1 ; Jump if already invisible
|
||||||
|
jsr DisableSprite ; Disable the mouse sprite
|
||||||
lda #$FE ; Clear bit for sprite #0
|
|
||||||
sei ; Disable interrupts
|
|
||||||
and VIC_SPR_ENA
|
|
||||||
sta VIC_SPR_ENA ; Disable sprite
|
|
||||||
cli ; Enable interrupts
|
|
||||||
|
|
||||||
@L1: inc Invisible ; Set the flag to invisible
|
@L1: inc Invisible ; Set the flag to invisible
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user