From 04dfd8e40567a0e75b0bbbd39f6e39f45fbb9034 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Fri, 5 Mar 2021 21:58:20 +0100 Subject: [PATCH] floppy directory display only misses proper blocks free now --- src/dos_m65/assets/dos_parts_dir.s | 9 +++++---- src/dos_m65/dev_floppy/fs_1581_read_dir.s | 2 +- src/dos_m65/dev_sdcard/fs_hvsr_util_nextdirentry.s | 3 +-- src/dos_m65/utils/util_dir_basic.s | 1 - 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/dos_m65/assets/dos_parts_dir.s b/src/dos_m65/assets/dos_parts_dir.s index 0fc6f88c..deca85a0 100644 --- a/src/dos_m65/assets/dos_parts_dir.s +++ b/src/dos_m65/assets/dos_parts_dir.s @@ -37,10 +37,11 @@ dir_end: ; 19 bytes dir_types: - !pet "seq", $00 ; SEQ - !pet "prg", $00 ; PRG - !pet "usr", $00 ; USR - !pet "rel", $00 ; REL + !pet "del", $00 ; deleted file + !pet "seq", $00 ; sequential file + !pet "prg", $00 ; program (executable) + !pet "usr", $00 ; user type + !pet "rel", $00 ; random access file !pet "cbm", $00 ; CBM-style partition !pet "dir", $00 ; directory diff --git a/src/dos_m65/dev_floppy/fs_1581_read_dir.s b/src/dos_m65/dev_floppy/fs_1581_read_dir.s index 474bd196..05bad9f0 100644 --- a/src/dos_m65/dev_floppy/fs_1581_read_dir.s +++ b/src/dos_m65/dev_floppy/fs_1581_read_dir.s @@ -147,10 +147,10 @@ fs_1581_read_dir: ldy #$02 ; start from determining file type jsr code_LDA_nnnn_Y + beq fs_1581_read_dir ; ignore deleted files (but allow DEL files in some cases) tax and #%00111111 ; for checking, filter out special bits - beq fs_1581_read_dir ; ignore deleted files cmp #$06 bcs fs_1581_read_dir ; ignore unknown file types 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 4aeef26c..f644b02d 100644 --- a/src/dos_m65/dev_sdcard/fs_hvsr_util_nextdirentry.s +++ b/src/dos_m65/dev_sdcard/fs_hvsr_util_nextdirentry.s @@ -169,7 +169,7 @@ fs_hvsr_util_nextdirentry: @lpext_found: - cpy #$14 + cpy #$18 +beq fs_hvsr_util_nextdirentry ; file extension 'DIR' does not mean this is a directory tya @@ -177,7 +177,6 @@ fs_hvsr_util_nextdirentry: ror clc ror - inc cmp #$07 ; mark some file types (not SEQ/PRG/USR/REL/CBM/DIR) as read-only bcc @detect_attributes diff --git a/src/dos_m65/utils/util_dir_basic.s b/src/dos_m65/utils/util_dir_basic.s index c01a9d7e..45dc5465 100644 --- a/src/dos_m65/utils/util_dir_basic.s +++ b/src/dos_m65/utils/util_dir_basic.s @@ -85,7 +85,6 @@ util_dir_basic: lda PAR_FTYPE ; put file type and #$3F - dec asl asl tay