]> git.sur5r.net Git - cc65/blobdiff - libsrc/atari/mcbdefault.s
Added SER_ prefix. Whitespace cleanup
[cc65] / libsrc / atari / mcbdefault.s
index e1b78f033089a16e4f5228677e17216f09c0e012..75a7c74bc1896b30081ef8f5333039be331b5130 100644 (file)
@@ -1,112 +1,8 @@
 ;
-; Default mouse callbacks for the Ataris
+; This file defines the default mouse callback
 ;
-; Christian Groessler, 03.01.2014
-;
-; derived from Apple2 version by
-; Oliver Schmidt, 22.09.2005
-;
-; All functions in this module should be interrupt safe, because they may
-; be called from an interrupt handler
-;
-
-        .export         _mouse_def_callbacks
-        .importzp       tmp4
-        .import         mul40,loc_tmp
-
-        .include        "atari.inc"
-
-; ------------------------------------------------------------------------
-
-        .bss
-
-backup: .res    1
-
-; ------------------------------------------------------------------------
-
-        .segment        "EXTZP" : zeropage
-scrptr: .res    2
-
-; ------------------------------------------------------------------------
-
-
-        .rodata
-
-        ; Callback structure
-_mouse_def_callbacks:
-        .addr   hide
-        .addr   show
-        .addr   movex
-        .addr   movey
-
-; ------------------------------------------------------------------------
-
-        .data
-
-cursor = 11                     ; '+' screen code'
-
-; setcursor
-
-getcursor:
-column: ldy     #$00            ; Patched at runtime
-        lda     (scrptr),y      ; Patched at runtime
-        cmp     #cursor
-        rts
-
-setcursor:
-        lda     #cursor
-setscr: sta     (scrptr),y      ; Patched at runtime
-        rts
-
-; ------------------------------------------------------------------------
-
-        .code
-
-done:
-        rts
-
-; Hide the mouse cursor.
-hide:
-        jsr     getcursor       ; Cursor visible at current position?
-        bne     done            ; No, we're done
-        lda     backup          ; Get character at cursor position
-        jmp     setscr          ; Draw character
-
-; Show the mouse cursor.
-show:
-        jsr     getcursor       ; Cursor visible at current position?
-        beq     done            ; Yes, we're done
-        sta     backup          ; Save character at cursor position
-        jmp     setcursor       ; Draw cursor
-
 
-; Move the mouse cursor x position to the value in A/X.
-movex:
-        cpx     #1
-        ror     a
-        lsr     a               ; convert to character position
-        lsr     a
-        sta     column+1
-        rts
+.import _mouse_pm_callbacks
+.export _mouse_def_callbacks
 
-; Move the mouse cursor y position to the value in A/X.
-movey:
-        tax
-        ldy     tmp4            ; mul40 uses tmp4
-        lda     loc_tmp         ; and this local variable
-        pha
-        txa                     ; get parameter back
-        lsr     a               ; convert y position to character line
-        lsr     a
-        lsr     a
-        jsr     mul40
-        clc
-        adc     SAVMSC
-        sta     scrptr
-        txa
-        adc     SAVMSC+1
-        sta     scrptr+1
-        pla
-        sta     loc_tmp
-        sty     tmp4
-        rts
+_mouse_def_callbacks := _mouse_pm_callbacks