From 1c1541a1a7e9cebb61ddd51af8c14cc91f447bd9 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Tue, 22 Nov 2016 21:20:20 -0800 Subject: [PATCH] work around critical DiversiDOS bug bug: read after write without intervening close results in *write* instead of read! also document expected active registers for functions which accept them --- src/4live.a | 49 +++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/src/4live.a b/src/4live.a index 2cb1f98..d74209b 100644 --- a/src/4live.a +++ b/src/4live.a @@ -139,7 +139,7 @@ JmpInstall OpenDataFile ldy #(NAMELEN - 1) -OpenMainFile +OpenMainFile ;called with Y=0 for main file (copies one character) lda FileName sta OPDST1L lda FileName + 1 @@ -282,7 +282,7 @@ ClearVirtualBuffer ;called with carry set sta OPSRC1L lda #SecondLine != >LoadSaveStart { -!error "text buffer must not cross a page" + !error "first two lines of text buffer must not cross a page" } !fill WIDTH * 7, $A0 !text " 4LIVE by 4am && qkumba " @@ -1358,9 +1361,3 @@ LastLine } } BankedCopyEnd -;!error (LoadSaveEnd + WIDTH) -;!error <(LoadSaveEnd + WIDTH) -;!error >(LoadSaveEnd - <(LoadSaveEnd + WIDTH)) -;!error (FirstLine + WIDTH) -;!error <(FirstLine + WIDTH) -;!error >(FirstLine - <(FirstLine + WIDTH))