diff --git a/asminc/mouse-kernel.inc b/asminc/mouse-kernel.inc index 24a9f7632..9db47fcb8 100644 --- a/asminc/mouse-kernel.inc +++ b/asminc/mouse-kernel.inc @@ -56,6 +56,7 @@ .struct MOUSE_HDR ID .byte 3 ; Contains 0x6D, 0x6F, 0x75 ("mou") VERSION .byte 1 ; Interface version + LIBREF .addr ; Library reference JUMPTAB .struct INSTALL .addr UNINSTALL .addr @@ -96,7 +97,7 @@ ;------------------------------------------------------------------------------ ; The mouse API version, stored in MOUSE_HDR::VERSION -MOUSE_API_VERSION = $02 +MOUSE_API_VERSION = $03 ;------------------------------------------------------------------------------ ; Bitmapped mouse driver flags, stored in MOUSE_HDR::FLAGS. diff --git a/libsrc/apple2/libref.s b/libsrc/apple2/libref.s index 933eb5911..09bdb057c 100644 --- a/libsrc/apple2/libref.s +++ b/libsrc/apple2/libref.s @@ -2,8 +2,9 @@ ; Oliver Schmidt, 2013-05-31 ; - .export em_libref, joy_libref + .export em_libref, joy_libref, mouse_libref .import _exit em_libref := _exit joy_libref := _exit +mouse_libref := _exit diff --git a/libsrc/apple2/mou/a2.stdmou.s b/libsrc/apple2/mou/a2.stdmou.s index 30ef85c54..8414cde36 100644 --- a/libsrc/apple2/mou/a2.stdmou.s +++ b/libsrc/apple2/mou/a2.stdmou.s @@ -34,7 +34,10 @@ status := $0778 .byte $6D, $6F, $75 ; "mou" .byte MOUSE_API_VERSION ; Mouse driver API version number - ; Jump table. + ; Library reference + .addr $0000 + + ; Jump table .addr INSTALL .addr UNINSTALL .addr HIDE diff --git a/libsrc/c128/libref.s b/libsrc/c128/libref.s index 933eb5911..09bdb057c 100644 --- a/libsrc/c128/libref.s +++ b/libsrc/c128/libref.s @@ -2,8 +2,9 @@ ; Oliver Schmidt, 2013-05-31 ; - .export em_libref, joy_libref + .export em_libref, joy_libref, mouse_libref .import _exit em_libref := _exit joy_libref := _exit +mouse_libref := _exit diff --git a/libsrc/c128/mou/c128-1351.s b/libsrc/c128/mou/c128-1351.s index f7c74d3cb..f2a71647c 100644 --- a/libsrc/c128/mou/c128-1351.s +++ b/libsrc/c128/mou/c128-1351.s @@ -23,7 +23,11 @@ HEADER: .byte $6d, $6f, $75 ; "mou" .byte MOUSE_API_VERSION ; Mouse driver API version number -; Jump table. +; Library reference + + .addr $0000 + +; Jump table .addr INSTALL .addr UNINSTALL diff --git a/libsrc/c128/mou/c128-joy.s b/libsrc/c128/mou/c128-joy.s index 3ac7b5ee3..8c3bd779d 100644 --- a/libsrc/c128/mou/c128-joy.s +++ b/libsrc/c128/mou/c128-joy.s @@ -22,7 +22,11 @@ HEADER: .byte $6d, $6f, $75 ; "mou" .byte MOUSE_API_VERSION ; Mouse driver API version number -; Jump table. +; Library reference + + .addr $0000 + +; Jump table .addr INSTALL .addr UNINSTALL diff --git a/libsrc/c128/mou/c128-pot.s b/libsrc/c128/mou/c128-pot.s index 2713e3f4f..ab6922896 100644 --- a/libsrc/c128/mou/c128-pot.s +++ b/libsrc/c128/mou/c128-pot.s @@ -23,7 +23,11 @@ HEADER: .byte $6d, $6f, $75 ; "mou" .byte MOUSE_API_VERSION ; Mouse driver API version number -; Jump table. +; Library reference + + .addr $0000 + +; Jump table .addr INSTALL .addr UNINSTALL diff --git a/libsrc/c64/libref.s b/libsrc/c64/libref.s index 933eb5911..09bdb057c 100644 --- a/libsrc/c64/libref.s +++ b/libsrc/c64/libref.s @@ -2,8 +2,9 @@ ; Oliver Schmidt, 2013-05-31 ; - .export em_libref, joy_libref + .export em_libref, joy_libref, mouse_libref .import _exit em_libref := _exit joy_libref := _exit +mouse_libref := _exit diff --git a/libsrc/c64/mou/c64-1351.s b/libsrc/c64/mou/c64-1351.s index 7ffc0510e..ec053b0b2 100644 --- a/libsrc/c64/mou/c64-1351.s +++ b/libsrc/c64/mou/c64-1351.s @@ -42,7 +42,11 @@ HEADER: .byte $6d, $6f, $75 ; "mou" .byte MOUSE_API_VERSION ; Mouse driver API version number -; Jump table. +; Library reference + + .addr $0000 + +; Jump table .addr INSTALL .addr UNINSTALL diff --git a/libsrc/c64/mou/c64-joy.s b/libsrc/c64/mou/c64-joy.s index 8390aa37d..05f0ce50e 100644 --- a/libsrc/c64/mou/c64-joy.s +++ b/libsrc/c64/mou/c64-joy.s @@ -41,7 +41,11 @@ HEADER: .byte $6d, $6f, $75 ; "mou" .byte MOUSE_API_VERSION ; Mouse driver API version number -; Jump table. +; Library reference + + .addr $0000 + +; Jump table .addr INSTALL .addr UNINSTALL diff --git a/libsrc/c64/mou/c64-pot.s b/libsrc/c64/mou/c64-pot.s index 8ee0266e7..3eb977477 100644 --- a/libsrc/c64/mou/c64-pot.s +++ b/libsrc/c64/mou/c64-pot.s @@ -23,7 +23,11 @@ HEADER: .byte $6d, $6f, $75 ; "mou" .byte MOUSE_API_VERSION ; Mouse driver API version number -; Jump table. +; Library reference + + .addr $0000 + +; Jump table .addr INSTALL .addr UNINSTALL diff --git a/libsrc/mouse/mouse-kernel.s b/libsrc/mouse/mouse-kernel.s index 598b61ea2..2fa5b5e2d 100644 --- a/libsrc/mouse/mouse-kernel.s +++ b/libsrc/mouse/mouse-kernel.s @@ -4,7 +4,7 @@ ; Common functions of the mouse driver API. ; - .import return0, popsreg, incsp2 + .import return0, popsreg, incsp2, mouse_libref .importzp sreg, ptr1, tmp1, tmp2 .interruptor mouse_irq ; Export as IRQ handler @@ -64,6 +64,15 @@ _mouse_install: dey bpl @L0 +; Set the library reference + + ldy #MOUSE_HDR::LIBREF + lda #mouse_libref + sta (ptr1),y + ; Reset flags lda #1