1
0
mirror of https://github.com/cc65/cc65.git synced 2025-04-09 10:39:40 +00:00

reserve memory for mouse PM if RESERVE_MOUSE_MEMORY is defined (normally

yes)


git-svn-id: svn://svn.cc65.org/cc65/trunk@449 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cpg 2000-11-19 22:58:22 +00:00
parent 53a885df58
commit 6e6d36b89d

View File

@ -9,6 +9,11 @@
; This must be the *first* file on the linker command line
;
RESERVE_MOUSE_MEMORY = 1 ; for P/M
.ifdef RESERVE_MOUSE_MEMORY
.export mouse_pm0
.endif
.export _exit
.import getargs, argc, argv
.import __hinit, initconio, zerobss, pushax, doatexit
@ -208,11 +213,27 @@ L2: lda zpsave,x
sbc grmemusage+1,y
tax
pla
.ifdef RESERVE_MOUSE_MEMORY
adj_mouse:
txa ; get upper byte of address
and #%11111000 ; make 2k aligned
sec
sbc #%00001000 ; reserve 2k
tax
adc #3 ; add 4 (C = 1)
sta mouse_pm0
lda #0
.endif
rts
ignore: lda MEMTOP
ldx MEMTOP+1
.ifdef RESERVE_MOUSE_MEMORY
bne adj_mouse
.else
rts
.endif
.endproc
@ -278,6 +299,9 @@ spsave: .res 1
appmsav: .res 1
old_shflok: .res 1
old_lmargin: .res 1
.ifdef RESERVE_MOUSE_MEMORY
mouse_pm0: .res 1
.endif
.segment "AUTOSTRT"
.word $02E0