From eec5a0680bc0100432ee8cef93267bb91778f4d9 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sun, 14 Feb 2021 15:23:12 +0100 Subject: [PATCH] small CBDOS tweaks --- src/aliases/,aliases_ram_lowmem.s | 2 +- src/dos_m65/dev_sdcard/dev_sd_cmd_open.s | 15 +++++++++------ src/dos_m65/dev_sdcard/dev_sd_cmd_read.s | 7 +++++++ src/kernal/iec_fast/m65dos_check.s | 2 +- src/kernal/iec_fast/m65dos_detect.s | 2 +- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/aliases/,aliases_ram_lowmem.s b/src/aliases/,aliases_ram_lowmem.s index cdce7464..ed03d9c9 100644 --- a/src/aliases/,aliases_ram_lowmem.s +++ b/src/aliases/,aliases_ram_lowmem.s @@ -291,7 +291,7 @@ !set IEC_BURST = 3 } !ifdef CONFIG_MB_M65 { - !set IEC_ROMDOS = 4 + !set IEC_CBDOS = 4 } diff --git a/src/dos_m65/dev_sdcard/dev_sd_cmd_open.s b/src/dos_m65/dev_sdcard/dev_sd_cmd_open.s index 5a043e60..6ea7212b 100644 --- a/src/dos_m65/dev_sdcard/dev_sd_cmd_open.s +++ b/src/dos_m65/dev_sdcard/dev_sd_cmd_open.s @@ -28,14 +28,12 @@ dev_sd_cmd_OPEN_EOI: dev_sd_cmd_OPEN_dir: - ; XXX add support for filtering + ; Reset status to OK - ; Initialize 1st directory phase - header + lda #$00 + jsr dos_status_00 - lda #$01 - sta SD_DIR_PHASE - - ; Provide pointer and length of the header + ; Provide pointer to the header lda #$20 sta SD_ACPTR_LEN+0 @@ -47,6 +45,11 @@ dev_sd_cmd_OPEN_dir: lda #>dir_hdr_sd sta SD_ACPTR_PTR+1 + ; Set directory phase to 'file name' + + lda #$01 + sta SD_DIR_PHASE + ; End jmp dos_EXIT diff --git a/src/dos_m65/dev_sdcard/dev_sd_cmd_read.s b/src/dos_m65/dev_sdcard/dev_sd_cmd_read.s index 941614f4..ea24bbb9 100644 --- a/src/dos_m65/dev_sdcard/dev_sd_cmd_read.s +++ b/src/dos_m65/dev_sdcard/dev_sd_cmd_read.s @@ -18,6 +18,8 @@ dev_sd_cmd_READ: dev_sd_cmd_READ_dir_blocksfree: + ; Set pointer to '0 BLOCKS FREE.' line + lda #$13 sta SD_ACPTR_LEN+0 lda #$00 @@ -28,5 +30,10 @@ dev_sd_cmd_READ_dir_blocksfree: lda #>dir_end sta SD_ACPTR_PTR+1 + ; Mark end of directory + + lda #$FF + sta SD_DIR_PHASE + clc rts diff --git a/src/kernal/iec_fast/m65dos_check.s b/src/kernal/iec_fast/m65dos_check.s index 0b287ea9..15c4729c 100644 --- a/src/kernal/iec_fast/m65dos_check.s +++ b/src/kernal/iec_fast/m65dos_check.s @@ -10,7 +10,7 @@ m65dos_check: pha lda IECPROTO - cmp #IEC_ROMDOS + cmp #IEC_CBDOS beq @1 pla diff --git a/src/kernal/iec_fast/m65dos_detect.s b/src/kernal/iec_fast/m65dos_detect.s index 2cb5fed4..d9b6d017 100644 --- a/src/kernal/iec_fast/m65dos_detect.s +++ b/src/kernal/iec_fast/m65dos_detect.s @@ -15,7 +15,7 @@ m65dos_detect: jsr m65dos_unitchk bcs @1 - lda #IEC_ROMDOS + lda #IEC_CBDOS sta IECPROTO @1: pla