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
;
OPENDSK:;!TEST DRV.Open ®¡å®¤ R10
LD C,A
LD A,(FatBuffer.DRIVE)
@ -216,10 +215,26 @@ OPENDSK:;!TEST DRV.Open
RST ToDSS.DRV
POP BC
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 (FatBuffer.DRIVE),A
;
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)
AND A
RET
@ -228,6 +243,14 @@ OPENDSK:;!TEST DRV.Open
RET Z
LD A,DSS_Error.sys.NOT_READY
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
RET Z
ENDIF
; ॣ. D - ­®¬¥à ¤¨áª 
RD_BPB: LD C,SLOT3
IN B,(C)
PUSH BC
IN A,(SLOT0)
OUT (SLOT3),A
LD A,(FatBuffer.DRIVE) ;¢ë§®¢ RD_BPB ¬®¦¥â ¢ ¤ «ì­¥©è¥¬ ¯®­ ¤®¡¨âìáï, ¯ã᪠© ®­  á ¬  ¤®áâ ñâ ¯¥à¥¬¥­­ãî DRIVE
;R08
;LD DE,BOOT+#C000
LD DE,CORE_BUFFERS.SECBUF+#C000
;R08
LD A,(FatBuffer.DRIVE) ;¢ë§®¢ RD_BPB ¬®¦¥â ¢ ¤ «ì­¥©è¥¬ ¯®­ ¤®¡¨âìáï, ¯ã᪠© ®­  á ¬  ¤®áâ ñâ ¯¥à¥¬¥­­ãî DRIVE
LD C,Dss.DRV.GetBPB
RST ToDSS.DRV
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