mirror of
https://github.com/Tolik-Trek/Sprinter-BIOS.git
synced 2026-06-15 09:21:46 +03:00
Вариант 1 с задержками для FDD
This commit is contained in:
parent
0beb007b9d
commit
5d3a690046
@ -374,13 +374,23 @@ FDD_RW_SECTOR: LD D,FDD_COUNTERS.RW_Retries
|
|||||||
LD BC,FDD_COUNTERS.INTRQorDRQ*256 + FDC_93.Data
|
LD BC,FDD_COUNTERS.INTRQorDRQ*256 + FDC_93.Data
|
||||||
;ÛÛÛÛÛÛÛÛÛÛ Š<>ˆ’ˆ—<CB86>›‰ Š ‘ŠŽ<C5A0>Ž‘’ˆ Š“‘ŽŠ <20>Ž‘‹… “‘’€<E28099>Ž‚Šˆ ŠŽŒ€<C592>„› „Ž ‘<>Ÿ’ˆŸ <20>…‡“‹œ’€’€ ÛÛÛÛÛÛÛÛÛÛ
|
;ÛÛÛÛÛÛÛÛÛÛ Š<>ˆ’ˆ—<CB86>›‰ Š ‘ŠŽ<C5A0>Ž‘’ˆ Š“‘ŽŠ <20>Ž‘‹… “‘’€<E28099>Ž‚Šˆ ŠŽŒ€<C592>„› „Ž ‘<>Ÿ’ˆŸ <20>…‡“‹œ’€’€ ÛÛÛÛÛÛÛÛÛÛ
|
||||||
OUT (FDC_93.Command),A
|
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
|
||||||
;
|
;
|
||||||
.wait_loop: IN A,(FDC_93.DrvCTRL) ; 11 ;WAIT INTRQ or DRQ
|
DJNZ .wait_loop
|
||||||
AND %1100'0000 ; 7 ;b7: INTRQ (¢ë¯®«ï¥âáï ª®¬ ¤ = 0), b6: DRQ (§ ¯à®á ¤ ëå = 1).
|
SCF
|
||||||
JR Z,.wait_loop_next ; 12 + 34 (.wait_loop_next)
|
JR .after_rw ; error
|
||||||
|
;
|
||||||
|
; ¢ ¯¥à¢ë© à § ¬ë âãâ ¯®á«¥ 26 ⠪⮢
|
||||||
|
.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)
|
||||||
; âãâ ¬ ªá¨¬ã¬ 64 â ªâ
|
; âãâ ¬ ªá¨¬ã¬ 64 â ªâ
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
JR NZ,.write_loop ; १ã«ìâ â BIT 5,B'
|
JR NZ,.write_loop ; 11 ; १ã«ìâ â BIT 5,B'
|
||||||
;
|
;
|
||||||
;EX AF,AF'
|
;EX AF,AF'
|
||||||
;READ BYTE. ¬¥¦¤ã .wait_loop ¨ .read_loop (INI) 64+11=75 ⠪⮢
|
;READ BYTE. ¬¥¦¤ã .wait_loop ¨ .read_loop (INI) 64+11=75 ⠪⮢
|
||||||
@ -390,9 +400,9 @@ FDD_RW_SECTOR: LD D,FDD_COUNTERS.RW_Retries
|
|||||||
OR E
|
OR E
|
||||||
EXX
|
EXX
|
||||||
JR Z,.SectorSizeError
|
JR Z,.SectorSizeError
|
||||||
; ®â .wait_loop ¤®áî¤ 75+29=104 ⠪⮢
|
; ®â .wait_loop ¤®áî¤ ¬¨¨¬ã¬ 26+11+7+7+11+29=91, ¡ë«® 75+29=104 ⠪⮢
|
||||||
; ¯à¨¬¥à® 10,4 ¬ªá ¯à¨ ãá«®¢ëå á।¨å 10 Œ£æ
|
; ¯à¨¬¥à® 9,1 ¬ªá ¯à¨ ãá«®¢ëå á।¨å 10 Œ£æ
|
||||||
; ¯à¨¬¥à® 30 ¬ªá ¯à¨ 3,5 Œ£æ
|
; ¯à¨¬¥à® 26 ¬ªá ¯à¨ 3,5 Œ£æ
|
||||||
; „®«¦® ¡ëâì ¥ ¡®«ìè¥ 16 ¬ªá ¤«ï 1.44 ¨«¨ 32 ¬ªá ¤«ï 720
|
; „®«¦® ¡ëâì ¥ ¡®«ìè¥ 16 ¬ªá ¤«ï 1.44 ¨«¨ 32 ¬ªá ¤«ï 720
|
||||||
INI
|
INI
|
||||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||||
@ -439,15 +449,6 @@ FDD_RW_SECTOR: LD D,FDD_COUNTERS.RW_Retries
|
|||||||
POP DE
|
POP DE
|
||||||
JR .RETRY
|
JR .RETRY
|
||||||
;
|
;
|
||||||
.wait_loop_next:
|
|
||||||
INC DE
|
|
||||||
LD A,E
|
|
||||||
OR D
|
|
||||||
JR NZ,.wait_loop
|
|
||||||
;
|
|
||||||
DJNZ .wait_loop
|
|
||||||
SCF
|
|
||||||
JR .after_rw ; error
|
|
||||||
;
|
;
|
||||||
.data_lost: DEC D ; ¯®â¥àï ¤ ëå
|
.data_lost: DEC D ; ¯®â¥àï ¤ ëå
|
||||||
JR NZ,.RETRY
|
JR NZ,.RETRY
|
||||||
|
|||||||
@ -89,7 +89,7 @@ DRV_LIST:
|
|||||||
INCLUDE 'EXTENDED/RAM_DISK_DRIVER.asm'
|
INCLUDE 'EXTENDED/RAM_DISK_DRIVER.asm'
|
||||||
INCLUDE 'EXTENDED/IDE/ATA_DRV.asm'
|
INCLUDE 'EXTENDED/IDE/ATA_DRV.asm'
|
||||||
INCLUDE 'EXTENDED/IDE/ATAPI_DRV.asm'
|
INCLUDE 'EXTENDED/IDE/ATAPI_DRV.asm'
|
||||||
INCLUDE 'EXTENDED/IDE/SHARED.asm'
|
INCLUDE 'EXTENDED/SHARED.asm'
|
||||||
|
|
||||||
|
|
||||||
;DISPLAY " EXTENDED end addr: ", /A, $
|
;DISPLAY " EXTENDED end addr: ", /A, $
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user