Вариант 2

This commit is contained in:
Tolik 2026-05-06 16:17:24 +10:00
parent 5d3a690046
commit 1c0d877a9f

View File

@ -371,20 +371,9 @@ FDD_RW_SECTOR: LD D,FDD_COUNTERS.RW_Retries
LD A,XH
OUT (SLOT3),A
LD A,C ; COMMAND read or write
LD BC,FDD_COUNTERS.INTRQorDRQ*256 + FDC_93.Data
;ÛÛÛÛÛÛÛÛÛÛ Š<>ˆˆ<CB86>‰ Š ŠŽ<C5A0>Žˆ Š“‘ŽŠ <20>Ž… “<E28099>ŽŠˆ ŠŽŒ€<C592> „Ž <>ŸˆŸ <20>…‡“œ€ ÛÛÛÛÛÛÛÛÛÛ
OUT (FDC_93.Command),A
.wait_loop_next:; íâ®â loop ¨¬¥­­® âãâ ¤«ï § ¤¥à¦ª¨ ¬¥¦¤ã OUT (FDC_93.Command),A ¨ IN A,(FDC_93.DrvCTRL)
INC DE
LD A,E
OR D
JR NZ,.wait_loop ; 26
;
DJNZ .wait_loop
SCF
JR .after_rw ; error
;
; ¢ ¯¥à¢ë© à § ¬ë âãâ ¯®á«¥ 26 ⠪⮢
LD BC,FDD_COUNTERS.INTRQorDRQ*256 + FDC_93.Data ; ¨¬¥­­® âãâ ¤«ï § ¤¥à¦ª¨ ¬¥¦¤ã ¯à¥¤ë¤ã饩 ¨ á«¥¤ãî饩 ª®¬ ­¤ë
.wait_loop: IN A,(FDC_93.DrvCTRL) ; 11 ; 11 ;WAIT INTRQ or DRQ
AND %0100'0000 ; 7 ; 7 ;b7: INTRQ (¢ë¯®«­ï¥âáï ª®¬ ­¤  = 0), b6: DRQ (§ ¯à®á ¤ ­­ëå = 1).
JR Z,.wait_loop_next ; 7 ; 12 + 34 (.wait_loop_next)
@ -407,7 +396,7 @@ FDD_RW_SECTOR: LD D,FDD_COUNTERS.RW_Retries
INI
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
.wait_data_r: IN A,(FDC_93.DrvCTRL)
AND %1100'0000 ;b6: DRQ (§ ¯à®á ¤ ­­ëå = 1). b7: INTRQ (¢ë¯®«­ï¥âáï ª®¬ ­¤  = 0).
AND %1100'0000 ;b7: INTRQ (¢ë¯®«­ï¥âáï ª®¬ ­¤  = 0). b6: DRQ (§ ¯à®á ¤ ­­ëå = 1).
JR Z,.wait_data_r
JP P,.read_loop ; JUMP if "¢ë¯®«­ï¥âáï ª®¬ ­¤  = 0"
;
@ -449,6 +438,16 @@ FDD_RW_SECTOR: LD D,FDD_COUNTERS.RW_Retries
POP DE
JR .RETRY
;
.wait_loop_next:
INC DE
LD A,E
OR D
JR NZ,.wait_loop ; 26
;
DJNZ .wait_loop
SCF
JR .after_rw ; error
;
;
.data_lost: DEC D ; ¯®â¥àï ¤ ­­ëå
JR NZ,.RETRY