more refactoring towards RAM disk support
This commit is contained in:
1 parent
924d87d271
commit
7624e14104
19 files changed
+51
-51
No files matched your search
@@ -68,9 +68,9 @@ SRCDIR_DOS_M65 = $(SRCDIR_COMMON) \
|
|||||||
src/dos_m65/filesystem_vfs \
|
src/dos_m65/filesystem_vfs \
|
||||||
src/dos_m65/lowlevel \
|
src/dos_m65/lowlevel \
|
||||||
src/dos_m65/pseudoiec \
|
src/dos_m65/pseudoiec \
|
||||||
|
src/dos_m65/unit_card \
|
||||||
src/dos_m65/unit_disk \
|
src/dos_m65/unit_disk \
|
||||||
src/dos_m65/unit_ramdisk \
|
src/dos_m65/unit_ramdisk \
|
||||||
src/dos_m65/unit_sdcard \
|
|
||||||
src/dos_m65/utils
|
src/dos_m65/utils
|
||||||
|
|
||||||
SRCDIR_MON_M65 = $(SRCDIR_COMMON) \
|
SRCDIR_MON_M65 = $(SRCDIR_COMMON) \
|
||||||
|
|||||||
@@ -84,9 +84,9 @@ dos_INIT:
|
|||||||
|
|
||||||
; Initialize device handlers
|
; Initialize device handlers
|
||||||
|
|
||||||
jsr unit_sd_init
|
jsr card_sd_init
|
||||||
jsr unit_fd_init
|
jsr disk_fd_init
|
||||||
jsr unit_rd_init
|
jsr disk_rd_init
|
||||||
|
|
||||||
; Safer version of 'dos_EXIT' - does not affect speed related registers
|
; Safer version of 'dos_EXIT' - does not affect speed related registers
|
||||||
|
|
||||||
|
|||||||
@@ -13,5 +13,5 @@ dos_PRELOAD:
|
|||||||
rts
|
rts
|
||||||
@ok:
|
@ok:
|
||||||
jsr dos_ENTER
|
jsr dos_ENTER
|
||||||
jsr unit_rd_preload
|
jsr disk_rd_preload
|
||||||
jmp dos_EXIT_CLC
|
jmp dos_EXIT_CLC
|
||||||
@@ -6,13 +6,15 @@
|
|||||||
|
|
||||||
dos_cmd_OPEN_vectab:
|
dos_cmd_OPEN_vectab:
|
||||||
|
|
||||||
!word unit_sd_cmd_OPEN
|
!word card_sd_cmd_OPEN
|
||||||
!word unit_disk_cmd_OPEN
|
!word disk_xx_cmd_OPEN
|
||||||
!word unit_disk_cmd_OPEN
|
!word disk_xx_cmd_OPEN
|
||||||
|
!word disk_xx_cmd_OPEN
|
||||||
|
|
||||||
|
|
||||||
dos_cmd_CLOSE_vectab:
|
dos_cmd_CLOSE_vectab:
|
||||||
|
|
||||||
!word unit_sd_cmd_CLOSE
|
!word card_sd_cmd_CLOSE
|
||||||
!word unit_fd_cmd_CLOSE
|
!word disk_fd_cmd_CLOSE
|
||||||
!word unit_rd_cmd_CLOSE
|
!word disk_fd_cmd_CLOSE
|
||||||
|
!word disk_rd_cmd_CLOSE
|
||||||
@@ -60,7 +60,7 @@ msg_ACPTR_read_SD:
|
|||||||
|
|
||||||
ora SD_ACPTR_LEN+1
|
ora SD_ACPTR_LEN+1
|
||||||
bne @3
|
bne @3
|
||||||
jsr unit_sd_cmd_READ
|
jsr card_sd_cmd_READ
|
||||||
bcc @3
|
bcc @3
|
||||||
jsr kernalstatus_EOI
|
jsr kernalstatus_EOI
|
||||||
@3:
|
@3:
|
||||||
@@ -90,7 +90,7 @@ msg_ACPTR_read_F0:
|
|||||||
|
|
||||||
ora F0_ACPTR_LEN+1
|
ora F0_ACPTR_LEN+1
|
||||||
bne @3
|
bne @3
|
||||||
jsr unit_f0_cmd_READ
|
jsr disk_f0_cmd_READ
|
||||||
bcc @3
|
bcc @3
|
||||||
jsr kernalstatus_EOI
|
jsr kernalstatus_EOI
|
||||||
@3:
|
@3:
|
||||||
@@ -120,7 +120,7 @@ msg_ACPTR_read_F1:
|
|||||||
|
|
||||||
ora F1_ACPTR_LEN+1
|
ora F1_ACPTR_LEN+1
|
||||||
bne @3
|
bne @3
|
||||||
jsr unit_f1_cmd_READ
|
jsr disk_f1_cmd_READ
|
||||||
bcc @3
|
bcc @3
|
||||||
jsr kernalstatus_EOI
|
jsr kernalstatus_EOI
|
||||||
@3:
|
@3:
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ msg_CIOUT_cmdfn_SD: ; get next byte of status - SD card
|
|||||||
lda #$A0
|
lda #$A0
|
||||||
sta SD_CMDFN_BUF,x
|
sta SD_CMDFN_BUF,x
|
||||||
plp
|
plp
|
||||||
+bcs unit_sd_cmd_OPEN_EOI ; if EOI - execute command
|
+bcs card_sd_cmd_OPEN_EOI ; if EOI - execute command
|
||||||
jmp dos_EXIT_CLC
|
jmp dos_EXIT_CLC
|
||||||
|
|
||||||
msg_CIOUT_cmdfn_F0: ; get next byte of status - floppy
|
msg_CIOUT_cmdfn_F0: ; get next byte of status - floppy
|
||||||
@@ -104,7 +104,7 @@ msg_CIOUT_cmdfn_RD: ; get next byte of status - ram disk
|
|||||||
msg_CIOUT_cmdfn_FX: ; common pard for floppy and RAM disk
|
msg_CIOUT_cmdfn_FX: ; common pard for floppy and RAM disk
|
||||||
|
|
||||||
plp
|
plp
|
||||||
+bcs unit_disk_cmd_OPEN_EOI ; if EOI - execute command
|
+bcs disk_fd_cmd_OPEN_EOI ; if EOI - execute command
|
||||||
jmp dos_EXIT_CLC
|
jmp dos_EXIT_CLC
|
||||||
|
|
||||||
msg_CIOUT_cmdfn_vectab:
|
msg_CIOUT_cmdfn_vectab:
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_sd_cmd_CLOSE:
|
card_sd_cmd_CLOSE:
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
+5
-5
@@ -4,14 +4,14 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_sd_cmd_OPEN:
|
card_sd_cmd_OPEN:
|
||||||
|
|
||||||
lda #$01 ; mode: receive command or file name
|
lda #$01 ; mode: receive command or file name
|
||||||
sta SD_MODE
|
sta SD_MODE
|
||||||
|
|
||||||
jmp dos_EXIT_CLC
|
jmp dos_EXIT_CLC
|
||||||
|
|
||||||
unit_sd_cmd_OPEN_EOI:
|
card_sd_cmd_OPEN_EOI:
|
||||||
|
|
||||||
; XXX this dispatcher is temporary
|
; XXX this dispatcher is temporary
|
||||||
|
|
||||||
@@ -26,11 +26,11 @@ unit_sd_cmd_OPEN_EOI:
|
|||||||
|
|
||||||
lda SD_CMDFN_BUF
|
lda SD_CMDFN_BUF
|
||||||
cmp #'$'
|
cmp #'$'
|
||||||
beq unit_sd_cmd_OPEN_dir
|
beq card_sd_cmd_OPEN_dir
|
||||||
|
|
||||||
; FALLTROUGH
|
; FALLTROUGH
|
||||||
|
|
||||||
unit_sd_cmd_OPEN_file:
|
card_sd_cmd_OPEN_file:
|
||||||
|
|
||||||
; Copy the filter from command XXX this should be moved to common part and deduplicated with directory opening
|
; Copy the filter from command XXX this should be moved to common part and deduplicated with directory opening
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ unit_sd_cmd_OPEN_file:
|
|||||||
jmp fs_vfs_read_file_open
|
jmp fs_vfs_read_file_open
|
||||||
|
|
||||||
|
|
||||||
unit_sd_cmd_OPEN_dir:
|
card_sd_cmd_OPEN_dir:
|
||||||
|
|
||||||
lda #$02 ; mode: read directory
|
lda #$02 ; mode: read directory
|
||||||
sta SD_MODE
|
sta SD_MODE
|
||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_sd_cmd_READ:
|
card_sd_cmd_READ:
|
||||||
|
|
||||||
lda SD_MODE
|
lda SD_MODE
|
||||||
cmp #$03
|
cmp #$03
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_sd_init:
|
card_sd_init:
|
||||||
|
|
||||||
; Copy initial status string
|
; Copy initial status string
|
||||||
|
|
||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_fd_cmd_CLOSE:
|
disk_fd_cmd_CLOSE:
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
; XXX add support for both floppies
|
; XXX add support for both floppies
|
||||||
|
|
||||||
|
|
||||||
unit_disk_cmd_OPEN:
|
disk_xx_cmd_OPEN:
|
||||||
|
|
||||||
lda #$01 ; mode: receive command or file name
|
lda #$01 ; mode: receive command or file name
|
||||||
ldx PAR_FSINSTANCE
|
ldx PAR_FSINSTANCE
|
||||||
@@ -14,7 +14,7 @@ unit_disk_cmd_OPEN:
|
|||||||
|
|
||||||
jmp dos_EXIT_CLC
|
jmp dos_EXIT_CLC
|
||||||
|
|
||||||
unit_disk_cmd_OPEN_EOI:
|
disk_fd_cmd_OPEN_EOI:
|
||||||
|
|
||||||
; XXX this dispatcher is temporary
|
; XXX this dispatcher is temporary
|
||||||
|
|
||||||
@@ -41,11 +41,11 @@ unit_disk_cmd_OPEN_EOI:
|
|||||||
lda RD_CMDFN_BUF
|
lda RD_CMDFN_BUF
|
||||||
|
|
||||||
cmp #'$'
|
cmp #'$'
|
||||||
beq unit_fd_cmd_OPEN_dir ; XXX add support for second floppy and RAM disk
|
beq disk_fd_cmd_OPEN_dir ; XXX add support for second floppy and RAM disk
|
||||||
|
|
||||||
; FALLTROUGH
|
; FALLTROUGH
|
||||||
|
|
||||||
unit_fd_cmd_OPEN_file:
|
disk_fd_cmd_OPEN_file:
|
||||||
|
|
||||||
; XXX add support for second floppy and RAM disk
|
; XXX add support for second floppy and RAM disk
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ unit_fd_cmd_OPEN_file:
|
|||||||
jmp fs_cbm_read_file_open
|
jmp fs_cbm_read_file_open
|
||||||
|
|
||||||
|
|
||||||
unit_fd_cmd_OPEN_dir:
|
disk_fd_cmd_OPEN_dir:
|
||||||
|
|
||||||
lda #$02 ; mode: read directory
|
lda #$02 ; mode: read directory
|
||||||
sta F0_MODE
|
sta F0_MODE
|
||||||
@@ -4,15 +4,15 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_f0_cmd_READ:
|
disk_f0_cmd_READ:
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
unit_f1_cmd_READ:
|
disk_f1_cmd_READ:
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
unit_fd_cmd_READ:
|
disk_f__cmd_READ:
|
||||||
|
|
||||||
lda F0_MODE
|
lda F0_MODE
|
||||||
cmp #$03
|
cmp #$03
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_fd_init:
|
disk_fd_init:
|
||||||
|
|
||||||
; Copy status string
|
; Copy status string
|
||||||
|
|
||||||
+1
-3
@@ -3,10 +3,8 @@
|
|||||||
; Close currently opened file
|
; Close currently opened file
|
||||||
;
|
;
|
||||||
|
|
||||||
; XXX to be unified with floppy code
|
|
||||||
|
|
||||||
|
disk_rd_cmd_CLOSE:
|
||||||
unit_rd_cmd_CLOSE:
|
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
unit_rd_init:
|
disk_rd_init:
|
||||||
|
|
||||||
|
|
||||||
; Copy status string
|
; Copy status string
|
||||||
@@ -26,7 +26,7 @@ unit_rd_init:
|
|||||||
|
|
||||||
; FALLTROUGH
|
; FALLTROUGH
|
||||||
|
|
||||||
unit_rd_init_test_ram: ; non-destructive ATTIC/CELLAR RAM test
|
disk_rd_init_test_ram: ; non-destructive ATTIC/CELLAR RAM test
|
||||||
|
|
||||||
; Preserve temporary address area on stack
|
; Preserve temporary address area on stack
|
||||||
|
|
||||||
@@ -7,12 +7,12 @@
|
|||||||
!addr __stoptrack = RD_DIR_PHASE ; helper value for detecting too large image
|
!addr __stoptrack = RD_DIR_PHASE ; helper value for detecting too large image
|
||||||
|
|
||||||
|
|
||||||
unit_rd_preload:
|
disk_rd_preload:
|
||||||
|
|
||||||
; Check if RAM disk is enabled (should be disabled if no Hyper RAM is present)
|
; Check if RAM disk is enabled (should be disabled if no Hyper RAM is present)
|
||||||
|
|
||||||
lda UNIT_RAMDISK
|
lda UNIT_RAMDISK
|
||||||
+beq unit_rd_preload_err_common_noclose
|
+beq disk_rd_preload_err_common_noclose
|
||||||
|
|
||||||
; Select SD card buffer
|
; Select SD card buffer
|
||||||
|
|
||||||
@@ -51,13 +51,13 @@ unit_rd_preload:
|
|||||||
|
|
||||||
lda RAM_ATTIC
|
lda RAM_ATTIC
|
||||||
beq @added_attic
|
beq @added_attic
|
||||||
jsr unit_rd_preload_addram
|
jsr disk_rd_preload_addram
|
||||||
|
|
||||||
@added_attic:
|
@added_attic:
|
||||||
|
|
||||||
lda RAM_CELLAR
|
lda RAM_CELLAR
|
||||||
beq @added_cellar
|
beq @added_cellar
|
||||||
jsr unit_rd_preload_addram
|
jsr disk_rd_preload_addram
|
||||||
|
|
||||||
@added_cellar:
|
@added_cellar:
|
||||||
|
|
||||||
@@ -168,22 +168,22 @@ unit_rd_preload:
|
|||||||
@error_wrong_size:
|
@error_wrong_size:
|
||||||
|
|
||||||
lda #$01
|
lda #$01
|
||||||
jmp unit_rd_preload_err_common
|
jmp disk_rd_preload_err_common
|
||||||
|
|
||||||
@error_too_large:
|
@error_too_large:
|
||||||
|
|
||||||
lda #$02
|
lda #$02
|
||||||
jmp unit_rd_preload_err_common
|
jmp disk_rd_preload_err_common
|
||||||
|
|
||||||
@error_not_found:
|
@error_not_found:
|
||||||
|
|
||||||
lda #$03
|
lda #$03
|
||||||
sta RD_MSG
|
sta RD_MSG
|
||||||
|
|
||||||
jmp unit_rd_preload_err_common_noclose
|
jmp disk_rd_preload_err_common_noclose
|
||||||
|
|
||||||
|
|
||||||
unit_rd_preload_err_common:
|
disk_rd_preload_err_common:
|
||||||
|
|
||||||
sta RD_MSG ; set code for startup screen
|
sta RD_MSG ; set code for startup screen
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ unit_rd_preload_err_common:
|
|||||||
|
|
||||||
; FALLTROUGH
|
; FALLTROUGH
|
||||||
|
|
||||||
unit_rd_preload_err_common_noclose:
|
disk_rd_preload_err_common_noclose:
|
||||||
|
|
||||||
lda #$00 ; temporary storage needs to be restored to 0
|
lda #$00 ; temporary storage needs to be restored to 0
|
||||||
sta __stoptrack
|
sta __stoptrack
|
||||||
@@ -201,7 +201,7 @@ unit_rd_preload_err_common_noclose:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
unit_rd_preload_addram:
|
disk_rd_preload_addram:
|
||||||
|
|
||||||
; Add allowed number of tracks due to attic/cellar block presence
|
; Add allowed number of tracks due to attic/cellar block presence
|
||||||
|
|
||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
; XXX to be unified with floppy code
|
; XXX to be unified with floppy code
|
||||||
|
|
||||||
|
|
||||||
unit_rd_cmd_OPEN_EOI:
|
disk_rd_cmd_OPEN_EOI:
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
; XXX to be unified with floppy code
|
; XXX to be unified with floppy code
|
||||||
|
|
||||||
|
|
||||||
unit_rd_cmd_READ:
|
disk_rd_cmd_READ:
|
||||||
|
|
||||||
; XXX provide implementation
|
; XXX provide implementation
|
||||||
|
|
||||||
Reference in new issue
Block a user