mirror of
https://github.com/Tolik-Trek/Sprinter-BIOS.git
synced 2026-06-15 17:31:46 +03:00
переделать весь FDD_DRIVER на IY
This commit is contained in:
parent
53ee837c81
commit
67c829e788
@ -191,7 +191,6 @@ FDD_5x_LONG_READ:
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD IY,(SYS_PAGE.FDD_TABLE.BytesPerSector) ; ãáâ ¢«¨¢ âì ®â¤¥«ì® ¯¥à¥¬¥ãî current BytesPerSector?
|
||||
LD XH,C ; Memory Page Number
|
||||
LD A,(SYS_PAGE.FDD_TABLE.SECTORS)
|
||||
LD C,A
|
||||
@ -211,9 +210,14 @@ FDD_5x_LONG_READ:
|
||||
CALL FDD_RW_SECTOR
|
||||
JR C,.ERRDOS
|
||||
; à §¬¥à ᥪâ®à
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
;
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD E,(IY + FDD_TABLE_s.BytesPerSector)
|
||||
LD D,(IY + FDD_TABLE_s.BytesPerSector + 1)
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
POP HL
|
||||
POP BC
|
||||
ADD HL,DE
|
||||
@ -229,7 +233,8 @@ FDD_5x_LONG_READ:
|
||||
INC D
|
||||
.NINC_T: DJNZ .DSK_LP
|
||||
;
|
||||
.RETDOS: CALL SET_DOS_OFF
|
||||
;.RETDOS:
|
||||
CALL SET_DOS_OFF
|
||||
LD A,XH ; Memory Page Number
|
||||
EX AF,AF'
|
||||
EX DE,HL
|
||||
@ -331,10 +336,11 @@ FDD_RW_SECTOR: LD D,5 ;RETRY COUNT
|
||||
LD A,E
|
||||
INC A
|
||||
OUT (FDC_93.Sector),A
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,XH
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
;IN A,(SLOT3)
|
||||
;EX AF,AF'
|
||||
;LD A,XH
|
||||
;OUT (SLOT3),A
|
||||
;
|
||||
LD B,4
|
||||
LD C,FDC_93.Data
|
||||
@ -346,23 +352,31 @@ FDD_RW_SECTOR: LD D,5 ;RETRY COUNT
|
||||
.wait_loop: IN A,(FDC_93.DrvCTRL) ;WAIT INTRQ or DRQ
|
||||
AND %1100'0000 ;b6: DRQ (§ ¯à®á ¤ ëå = 1). b7: INTRQ (¢ë¯®«ï¥âáï ª®¬ ¤ = 0).
|
||||
JR NZ,.RW_PROC
|
||||
;
|
||||
INC DE
|
||||
LD A,E
|
||||
OR D
|
||||
JR NZ,.wait_loop
|
||||
;
|
||||
DJNZ .wait_loop
|
||||
SCF
|
||||
JR .after_rw ; error
|
||||
;JR .after_rw ; error
|
||||
JR .after_rw_end ; error
|
||||
;
|
||||
.RW_PROC: EXX
|
||||
.RW_PROC: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
; [ ] 15/04/25 à §¬¥à ᥪâ®à ¡®«ìè¥, 祬 ãáâ ®¢«¥® ¢ SYS_PAGE.FDD_TABLE.BytesPerSector ¢ë§®¢¥â ®è¨¡ªã
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD E,(IY + FDD_TABLE_s.BytesPerSector)
|
||||
LD D,(IY + FDD_TABLE_s.BytesPerSector + 1)
|
||||
LD A,XH
|
||||
OUT (SLOT3),A
|
||||
INC DE
|
||||
EXX
|
||||
BIT 5,B
|
||||
EXX
|
||||
; [ ] 15/04/25 à §¬¥à ᥪâ®à ¡®«ìè¥, 祬 ãáâ ®¢«¥® ¢ SYS_PAGE.FDD_TABLE.BytesPerSector ¢ë§®¢¥â ®è¨¡ªã
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
INC DE
|
||||
;
|
||||
JR NZ,.write_loop
|
||||
JR NZ,.write_loop ; १ã«ìâ â BIT 5,B
|
||||
;READ BYTE
|
||||
.read_loop: DEC DE
|
||||
LD A,D
|
||||
@ -379,7 +393,7 @@ FDD_RW_SECTOR: LD D,5 ;RETRY COUNT
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
;
|
||||
POP DE
|
||||
.after_rw_end: POP DE
|
||||
POP HL
|
||||
;EI
|
||||
LD A,BIOS.Error.NotReady
|
||||
@ -549,43 +563,6 @@ SET_FDD: PUSH BC
|
||||
; FDD.SET720: LD A,FDD_Density.SET_720
|
||||
; OUT (FDD_Density),A
|
||||
; RET
|
||||
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
;----------------------------------------------------------------------;
|
||||
; CHANGE_SPEED: IN A,(SLOT3)
|
||||
; EX AF,AF'
|
||||
; LD A,SYS_PAGE
|
||||
; OUT (SLOT3),A
|
||||
; LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
; XOR #80
|
||||
; LD (SYS_PAGE.FDD_TABLE.DISK),A
|
||||
; RLA
|
||||
; EX AF,AF'
|
||||
; OUT (SLOT3),A
|
||||
; EX AF,AF'
|
||||
; JR NC,FDD.SET720
|
||||
; FDD.SET1440: LD A,FDD_Density.SET_1440
|
||||
; OUT (FDD_Density),A
|
||||
; RET
|
||||
; ;
|
||||
; ;
|
||||
; SET_SPEED: IN A,(SLOT3)
|
||||
; EX AF,AF'
|
||||
; LD A,SYS_PAGE
|
||||
; OUT (SLOT3),A
|
||||
; LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
; ;AND #80
|
||||
; RLA
|
||||
; EX AF,AF'
|
||||
; OUT (SLOT3),A
|
||||
; EX AF,AF'
|
||||
; JR C,FDD.SET1440
|
||||
; FDD.SET720: LD A,FDD_Density.SET_720
|
||||
; OUT (FDD_Density),A
|
||||
; RET
|
||||
|
||||
=======
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
CHANGE_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -594,13 +571,7 @@ CHANGE_SPEED: IN A,(SLOT3)
|
||||
XOR #80
|
||||
LD (SYS_PAGE.FDD_TABLE.DISK),A
|
||||
JR SET_SPEED.set
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
|
||||
;
|
||||
;
|
||||
=======
|
||||
;
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
SET_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -660,24 +631,6 @@ DISK_ID: EXX
|
||||
OUT (FDC_93.Data),A
|
||||
LD A,#18 ;!TODO ¢ë¯¨á âì ª®¬¬ ¤ë ‚ƒ ;SEARCH ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
CALL EXECOM
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
LD C,4 ; áçñâ稪
|
||||
.loop_reg_C: LD A,#C0 ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
OUT (FDC_93.Command),A
|
||||
LD HL,#F000 ; áçñâ稪
|
||||
.loop_reg_HL: IN A,(FDC_93.DrvCTRL)
|
||||
AND %1100'0000
|
||||
JR NZ,.Read_Index
|
||||
;
|
||||
.ID_LP4: DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.loop_reg_HL
|
||||
;
|
||||
CALL CHANGE_SPEED
|
||||
DEC C
|
||||
JR NZ,.loop_reg_C
|
||||
=======
|
||||
; ªã᮪ ¤«ï ¡ëáâàëå ä«®¯¯ ३
|
||||
LD BC,#0104 ; áçñâ稪¨
|
||||
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
||||
@ -686,7 +639,6 @@ DISK_ID: EXX
|
||||
LD BC,#0804 ; áçñâ稪¨
|
||||
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
||||
JR NC,.Read_Index
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
EXX
|
||||
;SCF
|
||||
RET
|
||||
@ -697,13 +649,8 @@ DISK_ID: EXX
|
||||
; ®¬¥à £®«®¢ª¨ BYTE
|
||||
; ®¬¥à ᥪâ®à BYTE
|
||||
; ¤«¨ ᥪâ®à BYTE
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
; ª®â஫ì ï á㬬 WORD
|
||||
LD H,4 ; !HARDCODE áçñâ稪 ¤® ¡ ©â à §¬¥à ᥪâ®à
|
||||
=======
|
||||
; ª®â஫ì ï á㬬 WORD
|
||||
LD H,4 ; !HARDCODE áçñâ稪 ¤® ¡ ©â à §¬¥à ᥪâ®à
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
.ID_LP2: IN A,(FDC_93.Data)
|
||||
DEC H
|
||||
JR NZ,.ID_LP3
|
||||
@ -769,12 +716,16 @@ SEEK: LD XL,A
|
||||
; DJNZ PMS2
|
||||
; RET
|
||||
P50ms: PUSH BC
|
||||
LD A,12
|
||||
;LD A,12
|
||||
LD B,12
|
||||
.P1ms: LD C,255
|
||||
.PMS: DEC C
|
||||
JR NZ,.PMS
|
||||
DEC A
|
||||
JR NZ,.P1ms
|
||||
;
|
||||
;DEC A
|
||||
;JR NZ,.P1ms
|
||||
DJNZ .P1ms
|
||||
;
|
||||
POP BC
|
||||
RET
|
||||
;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user