From 25ce7890b5307940a2788bf2d150da43e9fb1325 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Thu, 16 Jun 2022 22:07:06 -0700 Subject: [PATCH] retry failed reads, ignore failed writes --- res/dsk/Columns.po | Bin 143360 -> 143360 bytes src/constants.a | 12 ++++++------ src/prorwts2.a | 27 ++++++++++++++++++++++++--- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/res/dsk/Columns.po b/res/dsk/Columns.po index d85fbc637aca69d7ee4657ed71d57fa1eedc8f68..1c49ae65540a59a2ecfd5f80132448f9d0778dad 100644 GIT binary patch delta 20 bcmZp8z|ru4V}o)4qj$4Pz;=}Y#yj@`RUZf* delta 20 bcmZp8z|ru4V}o)4qf4_&z;=}Y#yj@`RM`j@ diff --git a/src/constants.a b/src/constants.a index 1ccd478ab..1c7a8675c 100644 --- a/src/constants.a +++ b/src/constants.a @@ -19,10 +19,10 @@ ; ; LC RAM BANK 2 ; D000..D5FF - ProRWTS data -; D600..D8B6 - ProRWTS code -; D8B7..DC6F - ProRWTS glue code -; DC70..DC75 - backup of stack (during gameplay and self-running demos) -; DC76..DC7B - okvs cache (attract state saved across self-running demo) +; D600..D8BD - ProRWTS code +; D8BE..DC76 - ProRWTS glue code +; DC77..DC7C - backup of stack (during gameplay and self-running demos) +; DC7D..DC82 - okvs cache (attract state saved across self-running demo) ; ...unused... ; DFB4..DFFF - (de)acceleration function ; @@ -214,8 +214,8 @@ PRELAUNCH_STANDARD_SIZE = 61 ; LoadStandardPrelaunch, eventually to be d ; shared symbols for prelaunch and effects to call ProRWTS2 functions iCurBlockLo = $D601 ; constant iCurBlockHi = $D603 ; constant -launchpatch = $D855 ; glue.launch.a -itraverse = $DB44 ; Roger Rabbit, avoid, use Infiltrator 2 style instead +launchpatch = $D85C ; glue.launch.a +itraverse = $DB4B ; Roger Rabbit, avoid, use Infiltrator 2 style instead ; also Columns (via file in disk image) ldrlo = $55 ; constant ldrhi = $56 ; constant diff --git a/src/prorwts2.a b/src/prorwts2.a index 97c801e27..10405a0e9 100644 --- a/src/prorwts2.a +++ b/src/prorwts2.a @@ -521,7 +521,8 @@ slot ldx $cfff sta unrcommand2 + 2 } ;rwts_mode = 0 and aligned_read = 0 and enable_write = 1 sta unrcommand3 + 2 - iny ;STA + sta unrgetreq + 2 + iny ;STA sty unrblokhi1 sty unrunit1 + 2 iny ;STX @@ -562,13 +563,20 @@ slot ldx $cfff sta unrblokhi2 ldy #$ad ;LDA sty unrblokhi3 - iny ;LDX + sty unrgetreq + iny ;LDX sty unrbloklo2 } ;rwts_mode = 1 and write_sparse = 1 lda #adrlo sta unrunit1 + 1 lda #