diff --git a/src/dos_m65/assets/dos_parts_dir.s b/src/dos_m65/assets/dos_parts_dir.s index c9929dfb..a1af128b 100644 --- a/src/dos_m65/assets/dos_parts_dir.s +++ b/src/dos_m65/assets/dos_parts_dir.s @@ -20,7 +20,7 @@ dir_hdr_sd: ; 32 bytes - header !byte $01, $01 ; link to the next line - dummy, will be regenerated by BASIC !byte $00, $00 ; line number 0 !byte $12, $22 ; reverse mode, quote - !pet "SD CARD " ; space for disk/directory name + !pet "sd card " ; space for disk/directory name !byte $22, $20 ; quote, space !pet "fat32" ; filesystem !byte $00 ; end of the line 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 302f7142..941614f4 100644 --- a/src/dos_m65/dev_sdcard/dev_sd_cmd_read.s +++ b/src/dos_m65/dev_sdcard/dev_sd_cmd_read.s @@ -6,7 +6,27 @@ dev_sd_cmd_READ: - ; XXX provide implementation + ; XXX provide implementation for regular files + + lda SD_DIR_PHASE + cmp #$01 + beq dev_sd_cmd_READ_dir_blocksfree sec ; mark EOI rts + + +dev_sd_cmd_READ_dir_blocksfree: + + lda #$13 + sta SD_ACPTR_LEN+0 + lda #$00 + sta SD_ACPTR_LEN+1 + + lda #dir_end + sta SD_ACPTR_PTR+1 + + clc + rts diff --git a/src/dos_m65/msg_acptr.s b/src/dos_m65/msg_acptr.s index 1d521567..032700c5 100644 --- a/src/dos_m65/msg_acptr.s +++ b/src/dos_m65/msg_acptr.s @@ -38,6 +38,7 @@ msg_ACPTR_read_SD: jsr SD_ACPTR_helper sta TBTCNT + sta REG_A ; Increment pointer, decrement length @@ -77,6 +78,7 @@ msg_ACPTR_fail_no_data: ; XXX What should be the reaction when trying to read and no data is present? sta TBTCNT + sta REG_A bra msg_ACPTR_EOI msg_ACPTR_status: