fix "open drive error"

This commit is contained in:
Anatoliy Belyanskiy 2024-02-29 02:32:02 +10:00
parent 62ea6e23dd
commit 34bb44539e
5 changed files with 30 additions and 7 deletions

View File

@ -195,7 +195,6 @@ TMPNAME: DZ ' ' ; 12
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
; IN: A - drive number ; IN: A - drive number
;
OPENDSK:;!TEST DRV.Open ®¡å®¤ R10 OPENDSK:;!TEST DRV.Open ®¡å®¤ R10
LD C,A LD C,A
LD A,(FatBuffer.DRIVE) LD A,(FatBuffer.DRIVE)
@ -216,10 +215,26 @@ OPENDSK:;!TEST DRV.Open
RST ToDSS.DRV RST ToDSS.DRV
POP BC POP BC
JP C,.error JP C,.error
;[ ] 29/02/2024 fix "open drive error"
IF TEST_FEATURE
LD A,(FatBuffer.DRIVE)
LD D,A
PUSH DE
ENDIF
;
LD A,B LD A,B
LD (FatBuffer.DRIVE),A LD (FatBuffer.DRIVE),A
;
CALL RD_BPB CALL RD_BPB
RET C ;[ ] 29/02/2024 fix "open drive error"
IF TEST_FEATURE
POP DE
LD A,D
JR C,.error_disk
ELSE
RET C
ENDIF
;
.exit: LD A,(LDRIVE) .exit: LD A,(LDRIVE)
AND A AND A
RET RET
@ -228,6 +243,14 @@ OPENDSK:;!TEST DRV.Open
RET Z RET Z
LD A,DSS_Error.sys.NOT_READY LD A,DSS_Error.sys.NOT_READY
RET RET
;[ ] 29/02/2024 fix "open drive error"
IF TEST_FEATURE
.error_disk:
CALL OPENDSK.force
LD A,DSS_Error.sys.NOT_READY
SCF
RET
ENDIF
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;

View File

@ -498,18 +498,18 @@ TESTDSK: ;?????
OR A OR A
RET Z RET Z
ENDIF ENDIF
; ॣ. D - ­®¬¥à ¤¨áª 
RD_BPB: LD C,SLOT3 RD_BPB: LD C,SLOT3
IN B,(C) IN B,(C)
PUSH BC PUSH BC
IN A,(SLOT0) IN A,(SLOT0)
OUT (SLOT3),A OUT (SLOT3),A
LD A,(FatBuffer.DRIVE) ;¢ë§®¢ RD_BPB ¬®¦¥â ¢ ¤ «ì­¥©è¥¬ ¯®­ ¤®¡¨âìáï, ¯ã᪠© ®­  á ¬  ¤®áâ ñâ ¯¥à¥¬¥­­ãî DRIVE
;R08 ;R08
;LD DE,BOOT+#C000 ;LD DE,BOOT+#C000
LD DE,CORE_BUFFERS.SECBUF+#C000 LD DE,CORE_BUFFERS.SECBUF+#C000
;R08 ;R08
LD A,(FatBuffer.DRIVE) ;¢ë§®¢ RD_BPB ¬®¦¥â ¢ ¤ «ì­¥©è¥¬ ¯®­ ¤®¡¨âìáï, ¯ã᪠© ®­  á ¬  ¤®áâ ñâ ¯¥à¥¬¥­­ãî DRIVE
LD C,Dss.DRV.GetBPB LD C,Dss.DRV.GetBPB
RST ToDSS.DRV RST ToDSS.DRV
POP BC POP BC

View File

@ -1 +1 @@
933 939

View File

@ -1,5 +1,5 @@
; ;
DEFINE TEST_FEATURE 0 DEFINE TEST_FEATURE 1
; ;
; ;

@ -1 +1 @@
Subproject commit 5a5dcf0bd035d2adaaa27d28bb8ed1bd86260d59 Subproject commit cbc1fd596a5a56298407c13a529a574e968235c7