|
|
@ -2471,6 +2471,17 @@ MD_INIT4: |
|
|
CALL $FFFD ; DO IT (RST 08 NOT SAFE HERE) |
|
|
CALL $FFFD ; DO IT (RST 08 NOT SAFE HERE) |
|
|
; |
|
|
; |
|
|
#IF (CLRRAMDISK == CLR_AUTO) |
|
|
#IF (CLRRAMDISK == CLR_AUTO) |
|
|
|
|
|
; CHECK THE FIRST SECTOR (512 BYTES) FOR ALL ZEROES. IF SO, |
|
|
|
|
|
; IT IMPLIES THE RAM IS UNINITIALIZED. |
|
|
|
|
|
LD HL,0 ; START AT BEGINING OF RAM DISK |
|
|
|
|
|
LD BC,512 ; COMPARE 512 BYTES |
|
|
|
|
|
XOR A ; COMPARE TO ZERO |
|
|
|
|
|
CLRRAM000: |
|
|
|
|
|
CPI ; A - (HL), HL++, BC-- |
|
|
|
|
|
JR NZ,CLRRAM00 ; IF NOT ZERO, GO TO NEXT TEST |
|
|
|
|
|
JP PE,CLRRAM000 ; LOOP THRU ALL BYTES |
|
|
|
|
|
JR CLRRAM2 ; ALL ZEROES, JUMP TO INIT |
|
|
|
|
|
CLRRAM00: |
|
|
; CHECK FIRST 32 DIRECTORY ENTRIES. IF ANY START WITH AN INVALID |
|
|
; CHECK FIRST 32 DIRECTORY ENTRIES. IF ANY START WITH AN INVALID |
|
|
; VALUE, INIT THE RAM DISK. VALID ENTRIES ARE E5 (EMPTY ENTRY) OR |
|
|
; VALUE, INIT THE RAM DISK. VALID ENTRIES ARE E5 (EMPTY ENTRY) OR |
|
|
; 0-15 (USER NUMBER). |
|
|
; 0-15 (USER NUMBER). |
|
|
@ -2528,6 +2539,17 @@ CLRRAM3: |
|
|
CALL HB_BNKSEL ; SELECT BANK |
|
|
CALL HB_BNKSEL ; SELECT BANK |
|
|
|
|
|
|
|
|
#IF (CLRRAMDISK == CLR_AUTO) |
|
|
#IF (CLRRAMDISK == CLR_AUTO) |
|
|
|
|
|
; CHECK THE FIRST SECTOR (512 BYTES) FOR ALL ZEROES. IF SO, |
|
|
|
|
|
; IT IMPLIES THE RAM IS UNINITIALIZED. |
|
|
|
|
|
LD HL,0 ; START AT BEGINING OF RAM DISK |
|
|
|
|
|
LD BC,512 ; COMPARE 512 BYTES |
|
|
|
|
|
XOR A ; COMPARE TO ZERO |
|
|
|
|
|
CLRRAM000: |
|
|
|
|
|
CPI ; A - (HL), HL++, BC-- |
|
|
|
|
|
JR NZ,CLRRAM00 ; IF NOT ZERO, GO TO NEXT TEST |
|
|
|
|
|
JP PE,CLRRAM000 ; LOOP THRU ALL BYTES |
|
|
|
|
|
JR CLRRAM2 ; ALL ZEROES, JUMP TO INIT |
|
|
|
|
|
CLRRAM00: |
|
|
; CHECK FIRST 32 DIRECTORY ENTRIES. IF ANY START WITH AN INVALID |
|
|
; CHECK FIRST 32 DIRECTORY ENTRIES. IF ANY START WITH AN INVALID |
|
|
; VALUE, INIT THE RAM DISK. VALID ENTRIES ARE E5 (EMPTY ENTRY) OR |
|
|
; VALUE, INIT THE RAM DISK. VALID ENTRIES ARE E5 (EMPTY ENTRY) OR |
|
|
; 0-15 (USER NUMBER). |
|
|
; 0-15 (USER NUMBER). |
|
|
|