From 5069c95a4b4d531ee82128b5b9ad1258a9b6663c Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Thu, 28 Apr 2022 18:01:37 -0700 Subject: [PATCH] fix multi-file access --- res/dsk/Columns.po | Bin 143360 -> 143360 bytes src/constants.a | 5 +++-- src/prodos.impl.lc2.a | 14 ++++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/res/dsk/Columns.po b/res/dsk/Columns.po index 3385de850d633cc24a1b8b73de802a326705d37b..56d6f08f316559f616e156a0e119c7ebd871c655 100644 GIT binary patch delta 20 bcmZp8z|ru4V}o)4qf@g=z;=}Y#yj@`RK*At delta 20 bcmZp8z|ru4V}o)4qhYg3z;=}Y#yj@`R2v8c diff --git a/src/constants.a b/src/constants.a index 0ab53ae34..f38ac3f48 100644 --- a/src/constants.a +++ b/src/constants.a @@ -106,6 +106,7 @@ ROM_TEXT2COPY =$F962 ; turn on alternate display mode on IIgs ROM_REBOOT = $FAA6 ROM_TEXT = $FB2F ROM_MACHINEID =$FBB3 +ROM_MACHINE2C =$FBC0 ROM_HOME = $FC58 ROM_COUT = $FDED ROM_NORMAL = $FE84 ; NORMAL text (instead of INVERSE or FLASH) @@ -205,7 +206,7 @@ iCurBlockHi = $D603 ; constant launchpatch = $D853 ; glue.launch.a iAddToPath = $FEBF ; Roger Rabbit (via prelaunch), avoid, use Infiltrator 2 style instead ; also Columns (via file in disk image) -itraverse = $DB31 ; Roger Rabbit, avoid, use Infiltrator 2 style instead +itraverse = $DB42 ; Roger Rabbit, avoid, use Infiltrator 2 style instead ; also Columns (via file in disk image) ldrlo = $55 ; constant ldrhi = $56 ; constant @@ -214,7 +215,7 @@ namhi = $58 ; constant ldrlo2 = $64 ; constant ldrhi2 = $65 ; constant -; Columns also calls (de)accelerator functions directly +; Columns and Dangerous Dave also call (de)accelerator functions directly _CONSTANTS_=* } diff --git a/src/prodos.impl.lc2.a b/src/prodos.impl.lc2.a index 039d664b0..8bf937271 100644 --- a/src/prodos.impl.lc2.a +++ b/src/prodos.impl.lc2.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019-2021 by 4am & qkumba +;(c) 2019-2022 by 4am & qkumba ; ; Pseudo-ProDOS environment ; @@ -218,6 +218,7 @@ ProDOS_enter resetval=$f0 @imp_seek jsr @set_rdwrbuff + jsr @reset lda sizelo lsr tay @@ -239,6 +240,7 @@ resetval=$f0 jsr hddreaddirsel @sametree + jsr @close_reset lda ldrlo sta sizelo lda ldrhi @@ -252,6 +254,8 @@ resetval=$f0 jmp @restore_zp @seekreset + lda #cmdseek + sta reqcmd jsr hddrdwrpart @reset lda #resetval @@ -298,7 +302,7 @@ resetval=$f0 lda @handles+1 beq @close_ret dec @handles+1 - bne @close_ret + bne @close_reset lda #>hddencbuf @patch_buffer @@ -327,6 +331,12 @@ resetval=$f0 @close_ret rts +@close_reset + lda #0 + sta blkofflo + sta blkoffhi + rts + @fetchbyte inc @fetchaddr+1 bne @fetchaddr