more refactoring towards RAM disk support

This commit is contained in:
FeralChild64 committed 2021-07-07 20:33:49 +02:00
1 parent 924d87d271
commit 7624e14104
19 files changed
+51 -51

No files matched your search

@@ -4,7 +4,7 @@
;
unit_fd_cmd_CLOSE:
disk_fd_cmd_CLOSE:
; XXX provide implementation
@@ -6,7 +6,7 @@
; XXX add support for both floppies
unit_disk_cmd_OPEN:
disk_xx_cmd_OPEN:
lda #$01 ; mode: receive command or file name
ldx PAR_FSINSTANCE
@@ -14,7 +14,7 @@ unit_disk_cmd_OPEN:
jmp dos_EXIT_CLC
unit_disk_cmd_OPEN_EOI:
disk_fd_cmd_OPEN_EOI:
; XXX this dispatcher is temporary
@@ -41,11 +41,11 @@ unit_disk_cmd_OPEN_EOI:
lda RD_CMDFN_BUF
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
unit_fd_cmd_OPEN_file:
disk_fd_cmd_OPEN_file:
; XXX add support for second floppy and RAM disk
@@ -66,7 +66,7 @@ unit_fd_cmd_OPEN_file:
jmp fs_cbm_read_file_open
unit_fd_cmd_OPEN_dir:
disk_fd_cmd_OPEN_dir:
lda #$02 ; mode: read directory
sta F0_MODE
@@ -4,15 +4,15 @@
;
unit_f0_cmd_READ:
disk_f0_cmd_READ:
; XXX provide implementation
unit_f1_cmd_READ:
disk_f1_cmd_READ:
; XXX provide implementation
unit_fd_cmd_READ:
disk_f__cmd_READ:
lda F0_MODE
cmp #$03
@@ -4,7 +4,7 @@
;
unit_fd_init:
disk_fd_init:
; Copy status string
+11
View File
@@ -0,0 +1,11 @@
;
; Close currently opened file
;
disk_rd_cmd_CLOSE:
; XXX provide implementation
jmp dos_EXIT_SEC
@@ -4,7 +4,7 @@
;
unit_rd_init:
disk_rd_init:
; Copy status string
@@ -26,7 +26,7 @@ unit_rd_init:
; 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
@@ -7,12 +7,12 @@
!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)
lda UNIT_RAMDISK
+beq unit_rd_preload_err_common_noclose
+beq disk_rd_preload_err_common_noclose
; Select SD card buffer
@@ -51,13 +51,13 @@ unit_rd_preload:
lda RAM_ATTIC
beq @added_attic
jsr unit_rd_preload_addram
jsr disk_rd_preload_addram
@added_attic:
lda RAM_CELLAR
beq @added_cellar
jsr unit_rd_preload_addram
jsr disk_rd_preload_addram
@added_cellar:
@@ -168,22 +168,22 @@ unit_rd_preload:
@error_wrong_size:
lda #$01
jmp unit_rd_preload_err_common
jmp disk_rd_preload_err_common
@error_too_large:
lda #$02
jmp unit_rd_preload_err_common
jmp disk_rd_preload_err_common
@error_not_found:
lda #$03
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
@@ -191,7 +191,7 @@ unit_rd_preload_err_common:
; FALLTROUGH
unit_rd_preload_err_common_noclose:
disk_rd_preload_err_common_noclose:
lda #$00 ; temporary storage needs to be restored to 0
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