aboutsummaryrefslogtreecommitdiff
path: root/checkmem.s
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-02-28 05:05:56 -0500
committerB. Watson <yalhcru@gmail.com>2016-02-28 05:05:56 -0500
commitbe6706ab0b2df53bc1cc9e8492a84698e1fd0f1c (patch)
tree01ec401f66800f855d9d761d8f087b6e16a8854e /checkmem.s
parentc0b018f57b582c0c6b0ff725831cc203b3819d49 (diff)
downloadtaipan-be6706ab0b2df53bc1cc9e8492a84698e1fd0f1c.tar.gz
try to fix race condition with SpartaDOS TDLINE
Diffstat (limited to 'checkmem.s')
-rw-r--r--checkmem.s13
1 files changed, 12 insertions, 1 deletions
diff --git a/checkmem.s b/checkmem.s
index ad67f50..fedbc25 100644
--- a/checkmem.s
+++ b/checkmem.s
@@ -122,7 +122,18 @@ gr_0:
sta ICBAL,x
lda #>S
sta ICBAH,x
- jmp CIOV
+ jsr CIOV
+
+ ; save display list pointer where taipan.c's main() can find it.
+ ; this is done ASAP after the CIO call, to avoid saving the DL
+ ; after SpartaDOS's TDLINE has had a chance to modify it.
+ ; we use FR1 because the menu code in newtitle.s trashes FR0.
+ lda SDLSTL
+ sta FR1
+ lda SDLSTH
+ sta FR1+1
+
+ rts
end:
.word INITAD