more work on multiple filesystem instances

This commit is contained in:
FeralChild64 committed 2021-06-07 22:00:01 +02:00
1 parent 6a797e6a8a
commit 3a05ee4807
6 files changed
+23 -9

No files matched your search

+8 -6
View File
@@ -66,15 +66,17 @@
!addr PAR_FNAME = $8021 ; 16 bytes - filename, filled with $A0
!addr PAR_FPATTERN = $8031 ; 16 bytes - pattern to match, filled with $A0
!addr PAR_FSINSTANCE = $8041 ; 0 = SD card, 1/2 = floppy, 3 = ram disk
; Various temporary data
!addr XX_DIR_PHASE = $8041 ; directory output phase, values deponds on device driver, but 0 = not reading
!addr SD_DIR_PHASE = $8041 ; - SD card
!addr F0_DIR_PHASE = $8042 ; - floppy 0
!addr F1_DIR_PHASE = $8043 ; - floppy 0
!addr RD_DIR_PHASE = $8044 ; - ram disk
!addr XX_DIR_PHASE = $8042 ; directory output phase, values deponds on device driver, but 0 = not reading
!addr SD_DIR_PHASE = $8042 ; - SD card
!addr F0_DIR_PHASE = $8043 ; - floppy 0
!addr F1_DIR_PHASE = $8044 ; - floppy 0
!addr RD_DIR_PHASE = $8045 ; - ram disk
; Free space: $8045-$8063
; Free space: $8046-$8063
!addr SD_ACPTR_helper = $8052 ; subroutine in RAM to read a byte
!addr code_LDA_01 = $8052 ; - LDA instruction
@@ -2,6 +2,9 @@
; Read a sector pair from a block device
; XXX utilize PAR_FSINSTANCE
lowlevel_readsector:
; Set drive, ensure disk is present
+4
View File
@@ -13,6 +13,10 @@ msg_ACPTR:
ldx IDX1_TALKER
+bmi msg_ACPTR_fail_no_talker
; Set file system instance
stx PAR_FSINSTANCE
; Check if active channel is status one
lda XX_CHANNEL, X
+7 -1
View File
@@ -13,8 +13,14 @@ msg_CIOUT:
ldx IDX1_LISTENER
bmi msg_CIOUT_fail
lda XX_MODE, x
; Set file system instance
stx PAR_FSINSTANCE
; Check current operation mode
lda XX_MODE, x
cmp #$01
bne @1
+1
View File
@@ -16,6 +16,7 @@ msg_SECOND:
ldx IDX1_LISTENER
bmi msg_SECOND_done ; do nothing if no listener
stx PAR_FSINSTANCE ; set file system instance
sta XX_CHANNEL, x ; store channel
; Determine command type
@@ -24,8 +24,6 @@ unit_sd_cmd_OPEN_EOI:
dey
bpl @lp1
; XXX add support for second card
lda SD_CMDFN_BUF
cmp #'$'
beq unit_sd_cmd_OPEN_dir