diff --git a/src/dos_m65/,aliases_dos.s b/src/dos_m65/,aliases_dos.s index b4717c43..7c15c96a 100644 --- a/src/dos_m65/,aliases_dos.s +++ b/src/dos_m65/,aliases_dos.s @@ -56,18 +56,18 @@ !addr PAR_FSIZE_BYTES = $801A ; 4 bytes - file size in bytes !addr PAR_FSIZE_BLOCKS = $801E ; 2 bytes - file size in blocks - !addr PAR_FTYPE = $801F ; bits 0-5 - type, bits 6-7 - protected, closed - !addr PAR_FNAME = $8020 ; 16 bytes - filename, filled with $A0 - !addr PAR_FPATTERN = $8030 ; 16 bytes - pattern to match, filled with $A0 + !addr PAR_FTYPE = $8020 ; bits 0-5 - type, bits 6-7 - protected, closed + !addr PAR_FNAME = $8021 ; 16 bytes - filename, filled with $A0 + !addr PAR_FPATTERN = $8031 ; 16 bytes - pattern to match, filled with $A0 ; Various temporary data - !addr XX_DIR_PHASE = $8040 ; directory output phase, values deponds on device driver, but 0 = not reading - !addr SD_DIR_PHASE = $8040 ; - SD card - !addr FD_DIR_PHASE = $8041 ; - floppy - !addr RD_DIR_PHASE = $8042 ; - ram disk + !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 FD_DIR_PHASE = $8042 ; - floppy + !addr RD_DIR_PHASE = $8043 ; - ram disk - ; Free space: $8043-$8063 + ; Free space: $8044-$8063 !addr SD_ACPTR_helper = $8052 ; subroutine in RAM to read a byte !addr code_LDA_01 = $8052 ; - LDA instruction diff --git a/src/dos_m65/dev_sdcard/fs_hvsr_read_dir.s b/src/dos_m65/dev_sdcard/fs_hvsr_read_dir.s index a28fe70c..b087371d 100644 --- a/src/dos_m65/dev_sdcard/fs_hvsr_read_dir.s +++ b/src/dos_m65/dev_sdcard/fs_hvsr_read_dir.s @@ -133,13 +133,13 @@ fs_hvsr_read_dir: @lp3_done: lda PAR_FTYPE ; put 'damaged' mark if needed - bmi @damaged - lda #' ' + bmi @closed + lda #'*' +skip_2_bytes_trash_nvz -@damaged: +@closed: - lda #'*' + lda #' ' sta XX_DIR_ENTRY, x inx diff --git a/src/dos_m65/dev_sdcard/fs_hvsr_util_nextdirentry.s b/src/dos_m65/dev_sdcard/fs_hvsr_util_nextdirentry.s index c4e32f96..5db911a3 100644 --- a/src/dos_m65/dev_sdcard/fs_hvsr_util_nextdirentry.s +++ b/src/dos_m65/dev_sdcard/fs_hvsr_util_nextdirentry.s @@ -173,8 +173,10 @@ fs_hvsr_util_nextdirentry: +beq fs_hvsr_util_nextdirentry ; file extension 'DIR' does not mean this is a directory tya - asr ; convert the result to CBM-compatible value - asr + clc + ror + clc + ror inc cmp #$06 ; mark some file types (not SEQ/PRG/USR/REL/DIR) as read-only