mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
ZPM3 Drive Map Fix
- Workaround to make ZPM3 consider all drives (A-P) valid so that subsequent drive ASSIGNments work properly.
This commit is contained in:
@@ -1171,6 +1171,11 @@ DSK_GETINF:
|
||||
RLCA ; ... TO USE AS OFFSET INTO DRVMAP
|
||||
CALL ADDHLA ; ADD OFFSET
|
||||
LD D,(HL) ; D := UNIT
|
||||
|
||||
LD A,D ; PUT UNIT IN ACCUM
|
||||
INC A ; $FF -> $00
|
||||
JR Z,DSK_GETINF1 ; HANDLE UNASSIGNED DRIVE LETTER
|
||||
|
||||
INC HL ; BUMP TO SLICE
|
||||
LD E,(HL) ; E := SLICE
|
||||
INC HL ; POINT TO DPH LSB
|
||||
@@ -1178,9 +1183,11 @@ DSK_GETINF:
|
||||
INC HL ; POINT TO DPH MSB
|
||||
LD H,(HL) ; H := DPH MSB
|
||||
LD L,A ; L := DPH LSB
|
||||
LD A,H ; TEST FOR INVALID DPH
|
||||
OR L ; ... BY CHECKING FOR ZERO VALUE
|
||||
JR Z,DSK_GETINF1 ; HANDLE ZERO DPH, DRIVE IS INVALID
|
||||
|
||||
;LD A,H ; TEST FOR INVALID DPH
|
||||
;OR L ; ... BY CHECKING FOR ZERO VALUE
|
||||
;JR Z,DSK_GETINF1 ; HANDLE ZERO DPH, DRIVE IS INVALID
|
||||
|
||||
XOR A ; SET SUCCESS
|
||||
RET
|
||||
;
|
||||
@@ -1198,7 +1205,7 @@ DSK_GETINF1: ; ERROR RETURN
|
||||
DSK_SELECT:
|
||||
LD B,E ; SAVE E IN B FOR NOW
|
||||
CALL DSK_GETINF ; GET D=UNIT, E=SLICE, HL=DPH ADDRESS
|
||||
CALL NZ,PANIC ; *DEBUG*
|
||||
;CALL NZ,PANIC ; *DEBUG*
|
||||
RET NZ ; RETURN IF INVALID DRIVE (A=1, NZ SET, HL=0)
|
||||
PUSH BC ; WE NEED B LATER, SAVE ON STACK
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user