|
|
|
@ -64,7 +64,7 @@ MD_INIT: |
|
|
|
#IF (MDFFENABLE) |
|
|
|
CALL MD_FINIT ; PROBE FLASH CAPABILITY |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
; |
|
|
|
CALL NEWLINE ; FORMATTING |
|
|
|
PRTS("MD: UNITS=$") |
|
|
|
LD A,MD_DEVCNT |
|
|
|
@ -72,14 +72,32 @@ MD_INIT: |
|
|
|
; |
|
|
|
#IF (MDROM) |
|
|
|
PRTS(" ROMDISK=$") |
|
|
|
LD HL,ROMSIZE - 128 |
|
|
|
; LD HL,ROMSIZE - 128 |
|
|
|
LD A,(HCB + HCB_ROMBANKS) ; GET NUMBER OF BANKS |
|
|
|
SUB (TOT_ROM_RB) |
|
|
|
LD L,A |
|
|
|
LD H,0 ; CALCULATE RAM SIZE |
|
|
|
ADD HL,HL ; X2 |
|
|
|
ADD HL,HL ; X4 |
|
|
|
ADD HL,HL ; X8 |
|
|
|
ADD HL,HL ; X16 |
|
|
|
ADD HL,HL ; X32 |
|
|
|
CALL PRTDEC |
|
|
|
PRTS("KB$") |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF (MDRAM) |
|
|
|
PRTS(" RAMDISK=$") |
|
|
|
LD HL,RAMSIZE - 256 |
|
|
|
; LD HL,RAMSIZE - 256 |
|
|
|
LD A,(HCB + HCB_RAMBANKS) ; GET NUMBER OF BANKS |
|
|
|
SUB (TOT_RAM_RB) ; LESS RESERVED BANKS |
|
|
|
LD L,A |
|
|
|
LD H,0 ; CALCULATE RAM SIZE |
|
|
|
ADD HL,HL ; X2 |
|
|
|
ADD HL,HL ; X4 |
|
|
|
ADD HL,HL ; X8 |
|
|
|
ADD HL,HL ; X16 |
|
|
|
ADD HL,HL ; X32 |
|
|
|
CALL PRTDEC |
|
|
|
PRTS("KB$") |
|
|
|
#ENDIF |
|
|
|
@ -170,11 +188,11 @@ MD_CAP: ; ASSUMES THAT UNIT 0 IS RAM, UNIT 1 IS ROM |
|
|
|
RET |
|
|
|
MD_CAP0: |
|
|
|
LD A,(HCB + HCB_RAMBANKS) ; POINT TO RAM BANK COUNT |
|
|
|
LD B,4 ; SET # RESERVED RAM BANKS |
|
|
|
LD B,TOT_RAM_RB ; SET # RESERVED RAM BANKS |
|
|
|
JR MD_CAP2 |
|
|
|
MD_CAP1: |
|
|
|
LD A,(HCB + HCB_ROMBANKS) ; POINT TO ROM BANK COUNT |
|
|
|
LD B,8 ; SET # RESERVED ROM BANKS |
|
|
|
LD B,TOT_ROM_RB ; SET # RESERVED ROM BANKS |
|
|
|
MD_CAP2: |
|
|
|
SUB B ; SUBTRACT OUT RESERVED BANKS |
|
|
|
LD H,A ; H := # BANKS |
|
|
|
@ -756,7 +774,8 @@ MD_TGTDEV .EQU 0B7BFH ; TARGET CHIP FOR R/W FILESYSTEM 39SF040 |
|
|
|
;====================================================================== |
|
|
|
; |
|
|
|
MD_FINIT: |
|
|
|
LD A,+(ROMSIZE/512) ; DISLAY NUMBER |
|
|
|
CALL MD_CALCU ; DISPLAY |
|
|
|
; |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
CALL NEWLINE ; OF UNITS |
|
|
|
PRTS("MD: FLASH=$") |
|
|
|
@ -773,7 +792,8 @@ MD_PROBE: |
|
|
|
PUSH BC |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
CALL PC_SPACE |
|
|
|
LD A,+(ROMSIZE/512)+1 |
|
|
|
CALL MD_CALCU |
|
|
|
INC A |
|
|
|
SUB B ; PRINT |
|
|
|
CALL PRTDECB ; DEVICE |
|
|
|
LD A,'=' ; NUMBER |
|
|
|
@ -818,6 +838,17 @@ MD_PR1: CALL WRITESTR |
|
|
|
XOR A ; INIT SUCCEEDED |
|
|
|
RET |
|
|
|
; |
|
|
|
; CALCULATE NUMBER OF 512KB ROMS FROM NUMBER OF ROM BANKS |
|
|
|
; |
|
|
|
MD_CALCU: |
|
|
|
; LD A,+(ROMSIZE/512) ; DISPLAY NUMBER |
|
|
|
LD A,(HCB + HCB_ROMBANKS) ; GET NUMBER OF BANKS |
|
|
|
SRL A ; X2 CALCULATE |
|
|
|
SRL A ; X4 NUMBER OF 512KB |
|
|
|
SRL A ; X8 CHIPS THAT IS |
|
|
|
SRL A |
|
|
|
RET |
|
|
|
; |
|
|
|
;====================================================================== |
|
|
|
; LOOKUP AND DISPLAY CHIP |
|
|
|
; |
|
|
|
@ -847,7 +878,7 @@ MD_NXT1:LD A,(HL) |
|
|
|
; |
|
|
|
INC HL |
|
|
|
INC HL |
|
|
|
JR FF_NXT2 ; MATCH SO EXIT |
|
|
|
JR MD_NXT2 ; MATCH SO EXIT |
|
|
|
; |
|
|
|
MD_NXT0:PUSH BC ; WE DIDN'T MATCH SO POINT |
|
|
|
LD BC,MD_T_SZ ; TO THE NEXT TABLE ENTRY |
|
|
|
@ -861,7 +892,7 @@ MD_NXT0:PUSH BC ; WE DIDN'T MATCH SO POINT |
|
|
|
; |
|
|
|
LD HL,MD_FFMSGUNK ; WE REACHED THE END WITHOUT A MATCH |
|
|
|
; |
|
|
|
FF_NXT2: |
|
|
|
MD_NXT2: |
|
|
|
#IF (MD_FVBS==1) |
|
|
|
CALL PRTSTR ; AFTER SEARCH DISPLAY THE RESULT |
|
|
|
#ENDIF |
|
|
|
|