added ram disk status message on startup screen
This commit is contained in:
1 parent
770441e302
commit
f7ff71f6cd
11 files changed
+110
-37
No files matched your search
@@ -32,7 +32,7 @@
|
||||
!addr RAM_ATTIC = $8009 ; $8000000-$87FFFFF RAM status; 0 = not present, $FF = present
|
||||
!addr RAM_CELLAR = $800A ; $8800000-$8FFFFFF RAM status; 0 = not present, $FF = present
|
||||
|
||||
; Reserved: $800B
|
||||
!addr RD_MSG = $800B ; code of the RAM disk message to be displayed on banner screen, $FF for none
|
||||
|
||||
; General DOS configuration
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
!word dos_INIT
|
||||
!word dos_PRELOAD
|
||||
!word dos_RDCHK
|
||||
!word dos_UNITCHK
|
||||
!word dos_UNITSET
|
||||
!word dos_UNITNUM
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
;
|
||||
; Preload RAM disk image
|
||||
;
|
||||
|
||||
|
||||
dos_RDCHK:
|
||||
|
||||
; Before the start make sure memory content is not damaged
|
||||
|
||||
jsr dos_MEMCHK
|
||||
bcc @ok
|
||||
lda #$FF
|
||||
jmp dos_EXIT_SEC_A
|
||||
|
||||
@ok:
|
||||
jsr dos_ENTER
|
||||
|
||||
lda RD_MSG
|
||||
|
||||
ldx #$FF ; reset the message after it gets displayed
|
||||
stx RD_MSG
|
||||
|
||||
jmp dos_EXIT_CLC_A
|
||||
@@ -37,6 +37,8 @@ unit_rd_init_test_ram: ; non-destructive ATTIC/CELLAR RAM test
|
||||
dex
|
||||
bpl @2
|
||||
|
||||
stx RD_MSG ; $FF - mark no message to be displayed
|
||||
|
||||
; For the start, mark extended RAM as not present
|
||||
|
||||
stx RD_STARTSEG ; by default $FF, to mark no RAM disk
|
||||
|
||||
@@ -12,7 +12,7 @@ unit_rd_preload:
|
||||
; Check if RAM disk is enabled (should be disabled if no Hyper RAM is present)
|
||||
|
||||
lda UNIT_RAMDISK
|
||||
+beq @error_no_ramdisk
|
||||
+beq unit_rd_preload_err_common_noclose
|
||||
|
||||
; Select SD card buffer
|
||||
|
||||
@@ -139,6 +139,9 @@ unit_rd_preload:
|
||||
lda #$00 ; temporary storage needs to be restored to 0
|
||||
sta __stoptrack
|
||||
|
||||
lda #$00 ; set message to OK
|
||||
sta RD_MSG
|
||||
|
||||
rts
|
||||
|
||||
|
||||
@@ -149,40 +152,26 @@ unit_rd_preload:
|
||||
|
||||
@error_wrong_size:
|
||||
|
||||
jsr unit_rd_preload_err_common
|
||||
|
||||
; XXX set error information
|
||||
|
||||
rts
|
||||
lda #$01
|
||||
jmp unit_rd_preload_err_common
|
||||
|
||||
@error_too_large:
|
||||
|
||||
jsr unit_rd_preload_err_common
|
||||
|
||||
; XXX set error information
|
||||
|
||||
rts
|
||||
lda #$02
|
||||
jmp unit_rd_preload_err_common
|
||||
|
||||
@error_not_found:
|
||||
|
||||
jsr unit_rd_preload_err_common_noclose
|
||||
|
||||
; XXX set error information, put 0 to __stoptrack
|
||||
|
||||
rts
|
||||
|
||||
@error_no_ramdisk:
|
||||
|
||||
jsr unit_rd_preload_err_common_noclose
|
||||
|
||||
; XXX set error information, put 0 to __stoptrack
|
||||
|
||||
rts
|
||||
lda #$03
|
||||
sta RD_MSG
|
||||
|
||||
jmp unit_rd_preload_err_common_noclose
|
||||
|
||||
|
||||
unit_rd_preload_err_common:
|
||||
|
||||
sta RD_MSG ; set code for startup screen
|
||||
|
||||
lda #$20 ; dos_closefile
|
||||
sta HTRAP00
|
||||
+nop
|
||||
|
||||
Reference in new issue
Block a user