diff --git a/libsrc/atari/Makefile.inc b/libsrc/atari/Makefile.inc index af5a17e59..4488ddf22 100644 --- a/libsrc/atari/Makefile.inc +++ b/libsrc/atari/Makefile.inc @@ -31,3 +31,7 @@ CA65FLAGS += -D NUMDRVS=4 -D LINEBUF=80 -D UCASE_FILENAME=1 -D DEFAULT_DEVICE=1 # Disabled by default, you should enable it if the linker script relocates the # character generator (like atarixl-largehimem.cfg). #CA65FLAGS += -D CHARGEN_RELOC -D USEWSYNC + +# Disable if you don't want to use page 6 for mouse P/M data. +# If disabled, top of the RAM is used for P/M data. +CA65FLAGS += -D USE_PAGE6 diff --git a/libsrc/atari/mcbpm.s b/libsrc/atari/mcbpm.s index 52a396d9e..b546faced 100644 --- a/libsrc/atari/mcbpm.s +++ b/libsrc/atari/mcbpm.s @@ -7,8 +7,6 @@ ; be called from an interrupt handler ; -USE_PAGE6 = 1 - .include "atari.inc" .importzp sp .export _mouse_pm_callbacks @@ -26,7 +24,7 @@ USE_PAGE6 = 1 ; number of the P/M used for the mouse. All others depend on this value. ; Valid P/M numbers are 0 to 4. When 4 is used, the missiles are used ; as a player. -.if USE_PAGE6 +.ifdef USE_PAGE6 MOUSE_PM_NUM = 2 ; P/M used for the mouse ; This cannot be changed since only player #2 uses the memory at $600. .else @@ -102,7 +100,7 @@ show: lda #1 .endif sta GRACTL - ;rts ; optimized out + jmp update_colors prep: draw: @@ -187,7 +185,7 @@ update_colors: pm_init: lda #0 -.if USE_PAGE6 +.ifdef USE_PAGE6 sta MOUSE_PM_BASE ldx #6 ; page 6 @@ -224,7 +222,7 @@ pm_init: iny bne @iniloo -.if ! USE_PAGE6 +.ifndef USE_PAGE6 lda MOUSE_PM_BASE+1 and #$F8 .endif