improved support for different RAM configurations

This commit is contained in:
FeralChild64 committed 2021-03-30 20:34:01 +02:00
1 parent 7510d4a83f
commit d68583d1b3
7 files changed
+89 -37

No files matched your search

+27 -16
View File
@@ -39,41 +39,48 @@ unit_rd_init_test_ram: ; non-destructive ATTIC/CELLAR RAM test
; For the start, mark extended RAM as not present
stx RD_STARTSEG ; by default $FF, to mark no RAM disk
inx
stx RD_MAXTRACK ; maximum allowed track number, for now set 0
stx RAM_ATTIC ; set ATTIC/CELLAR RAM as not present
stx RAM_CELLAR
; Prepare address - ATTIC RAM, $0800:$0000
; Prepare address - CELLAR RAM, $0880:$0000
stx PNTR+0
stx PNTR+1
stx PNTR+2
lda #$80
sta PNTR+2
lda #$08
sta PNTR+3
ldz #$00
; Test for CELLAR RAM
jsr @perform_ram_test
bne @done_cellar
dec RAM_ATTIC ; test passed
lda #$08
sta RD_STARTSEG ; RAM DISK start segment - CELLAR RAM
@done_cellar:
; Prepare address - ATTIC RAM, $0800:$0000
lda #$00
sta PNTR+2
; Test for ATTIC RAM
jsr @perform_ram_test
bne @done_attic
dec RAM_ATTIC ; test passed
dec RAM_CELLAR ; test passed
lda #$00
sta RD_STARTSEG ; RAM DISK start segment - ATTIC RAM
@done_attic:
; Prepare address - CELLAR RAM, $0880:$0000
lda #$80
sta PNTR+2
; Test for cellar RAM
jsr @perform_ram_test
bne @done_cellar
dec RAM_CELLAR ; test passed
@done_cellar:
; Restore temporary address area content
ldx #$00
@@ -84,6 +91,10 @@ unit_rd_init_test_ram: ; non-destructive ATTIC/CELLAR RAM test
cpx #$04
bne @3
; Clear RAM disk device number if no Hyper RAM available
jsr util_check_rd_ram
; End of initialization
rts
+17 -1
View File
@@ -6,6 +6,11 @@
unit_rd_preload:
; Check if RAM disk is enabled
lda UNIT_RAMDISK
beq @error_no_ramdisk
; XXX make sure attic RAM is present
rts ; XXX remove when code is fully implemented
@@ -28,6 +33,11 @@ unit_rd_preload:
; XXX load the file
; XXX while loading set RD_MAXTRACK
@load_track:
; XXX while loading set RD_MAXTRACK
@@ -42,6 +52,12 @@ unit_rd_preload:
@error_not_found:
; XXX set information about file not found
; XXX set error information
rts
@error_no_ramdisk:
; XXX set error information
rts