mirror of
https://github.com/Tolik-Trek/Sprinter-BIOS.git
synced 2026-06-15 01:11:47 +03:00
FDD driver 5x работает с разными буферами для каждого из FDD
This commit is contained in:
parent
67c829e788
commit
2a4e06db96
@ -1 +1 @@
|
|||||||
Subproject commit 2fec6202f716cfa3ed48fb9bfd79d1081cc2721b
|
Subproject commit 5a2e8b02b384c515510798a2b94537211dfaa310
|
||||||
@ -30,16 +30,22 @@
|
|||||||
;[]===========================================================[]
|
;[]===========================================================[]
|
||||||
;!FIXIT ¢á¥£¤ ¨¤¥â à ¡®â á ¤ 묨 ¤«ï ¤¨áª €
|
;!FIXIT ¢á¥£¤ ¨¤¥â à ¡®â á ¤ 묨 ¤«ï ¤¨áª €
|
||||||
;!FIXIT ç¨â âì ¤ ë¥ á ã«¥¢®© ¤®à®¦ª¨? <20>ਤ㬠âì çâ® ¤¥« âì á £¥®¬¥âਥ© ä«®¯ ३
|
;!FIXIT ç¨â âì ¤ ë¥ á ã«¥¢®© ¤®à®¦ª¨? <20>ਤ㬠âì çâ® ¤¥« âì á £¥®¬¥âਥ© ä«®¯ ३
|
||||||
FDD_5x_GET_PAR: IN A,(SLOT3)
|
FDD_5x_GET_PAR: CALL SELECT_FDD
|
||||||
|
RET C
|
||||||
|
;
|
||||||
|
IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;
|
LD L,(IY + FDD_TABLE_s.SECTORS)
|
||||||
LD HL,(SYS_PAGE.FDD_TABLE.SECTORS) ; L - Sectors, H - Heads
|
LD H,(IY + FDD_TABLE_s.HEADS)
|
||||||
LD DE,(SYS_PAGE.FDD_TABLE.CYLINDL)
|
LD E,(IY + FDD_TABLE_s.BytesPerSector)
|
||||||
LD IX,(SYS_PAGE.FDD_TABLE.BytesPerSector)
|
LD D,(IY + FDD_TABLE_s.BytesPerSector + 1)
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
PUSH DE
|
||||||
LD B,A
|
POP IX
|
||||||
|
LD E,(IY + FDD_TABLE_s.CYLINDL)
|
||||||
|
LD D,(IY + FDD_TABLE_s.CYLINDH)
|
||||||
|
LD B,(IY + FDD_TABLE_s.DISK)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
XOR A
|
XOR A
|
||||||
@ -57,21 +63,24 @@ FDD_5x_GET_PAR: IN A,(SLOT3)
|
|||||||
; D7 - "1" - High Density, "0" - Double Density
|
; D7 - "1" - High Density, "0" - Double Density
|
||||||
;Return: None
|
;Return: None
|
||||||
;[]===========================================================[]
|
;[]===========================================================[]
|
||||||
FDD_5x_SET_PAR: ;!TEST FDD 720/1440
|
FDD_5x_SET_PAR: CALL SELECT_FDD
|
||||||
|
RET C
|
||||||
|
;
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
|
||||||
;
|
|
||||||
LD A,B
|
|
||||||
LD (SYS_PAGE.FDD_TABLE.SECTORS),HL
|
|
||||||
LD (SYS_PAGE.FDD_TABLE.CYLINDL),DE
|
|
||||||
LD (SYS_PAGE.FDD_TABLE.BytesPerSector),IX
|
|
||||||
LD (SYS_PAGE.FDD_TABLE.DISK),A
|
|
||||||
;
|
|
||||||
EX AF,AF'
|
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
LD (IY + FDD_TABLE_s.SECTORS),L
|
||||||
|
LD (IY + FDD_TABLE_s.HEADS),H
|
||||||
|
LD (IY + FDD_TABLE_s.CYLINDL),E
|
||||||
|
LD (IY + FDD_TABLE_s.CYLINDH),D
|
||||||
|
PUSH IX
|
||||||
|
POP DE
|
||||||
|
LD (IY + FDD_TABLE_s.BytesPerSector),E
|
||||||
|
LD (IY + FDD_TABLE_s.BytesPerSector + 1),D
|
||||||
|
LD (IY + FDD_TABLE_s.DISK),B
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
OUT (SLOT3),A
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -84,7 +93,8 @@ FDD_5x_SET_PAR: ;!TEST FDD 720/1440
|
|||||||
;[]===========================================================[]
|
;[]===========================================================[]
|
||||||
FDD_5x_DETECT: CALL SAVE_INTERRUPTS.switch_off
|
FDD_5x_DETECT: CALL SAVE_INTERRUPTS.switch_off
|
||||||
CALL SET_DOS_ON
|
CALL SET_DOS_ON
|
||||||
CALL DISK_ID
|
CALL SELECT_FDD
|
||||||
|
CALL NC,DISK_ID
|
||||||
PUSH AF
|
PUSH AF
|
||||||
CALL SET_DOS_OFF
|
CALL SET_DOS_OFF
|
||||||
POP AF
|
POP AF
|
||||||
@ -99,17 +109,21 @@ FDD_5x_DETECT: CALL SAVE_INTERRUPTS.switch_off
|
|||||||
;[]===========================================================[]
|
;[]===========================================================[]
|
||||||
FDD_5x_RESET: CALL SAVE_INTERRUPTS.switch_off
|
FDD_5x_RESET: CALL SAVE_INTERRUPTS.switch_off
|
||||||
CALL SET_DOS_ON
|
CALL SET_DOS_ON
|
||||||
CALL SET_FDD
|
CALL SELECT_FDD
|
||||||
CALL DISK_ID
|
CALL NC,DISK_ID
|
||||||
JR C,.int
|
JR C,.int
|
||||||
; [ ] à §¬¥à ᥪâ®à
|
; [ ] à §¬¥à ᥪâ®à
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD H,B
|
XOR A
|
||||||
LD L,0
|
CP B
|
||||||
LD (SYS_PAGE.FDD_TABLE.BytesPerSector),HL
|
JR NZ,.SetSectorSize
|
||||||
|
;
|
||||||
|
LD A,#80
|
||||||
|
.SetSectorSize: LD (IY + FDD_TABLE_s.BytesPerSector),A
|
||||||
|
LD (IY + FDD_TABLE_s.BytesPerSector + 1),B
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;
|
;
|
||||||
@ -133,12 +147,12 @@ FDD_5x_RESET: CALL SAVE_INTERRUPTS.switch_off
|
|||||||
OUT (FDC_93.DrvCTRL),A
|
OUT (FDC_93.DrvCTRL),A
|
||||||
LD A,#3C
|
LD A,#3C
|
||||||
OUT (FDC_93.DrvCTRL),A
|
OUT (FDC_93.DrvCTRL),A
|
||||||
CALL SET_DOS_OFF
|
JP SET_DOS_OFF
|
||||||
; CF=1
|
; CF=1
|
||||||
LD A,BIOS.Error.NotReady
|
;LD A,BIOS.Error.NotReady
|
||||||
;POP AF
|
;POP AF
|
||||||
;JP SAVE_INTERRUPTS.restore
|
;JP SAVE_INTERRUPTS.restore
|
||||||
RET
|
;RET
|
||||||
;[]===========================================================[]
|
;[]===========================================================[]
|
||||||
;Function: Read Sectors
|
;Function: Read Sectors
|
||||||
; A - Disk
|
; A - Disk
|
||||||
@ -172,18 +186,20 @@ FDD_5x_LONG_READ:
|
|||||||
CALL .Start
|
CALL .Start
|
||||||
JP SAVE_INTERRUPTS.restore
|
JP SAVE_INTERRUPTS.restore
|
||||||
;
|
;
|
||||||
.Start: PUSH IY
|
.Start: ;PUSH IY
|
||||||
PUSH BC
|
|
||||||
PUSH HL
|
|
||||||
PUSH IX
|
|
||||||
;
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD C,A ; Memory Page Number
|
LD C,A ; Memory Page Number
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
PUSH BC
|
|
||||||
CALL SET_DOS_ON
|
CALL SET_DOS_ON
|
||||||
CALL SET_FDD
|
CALL SELECT_FDD
|
||||||
|
CALL C,SET_DOS_OFF
|
||||||
|
RET C
|
||||||
|
;
|
||||||
|
PUSH BC
|
||||||
|
PUSH HL
|
||||||
|
PUSH IX
|
||||||
CALL SET_SPEED
|
CALL SET_SPEED
|
||||||
|
PUSH BC
|
||||||
CALL NTRACK
|
CALL NTRACK
|
||||||
POP BC
|
POP BC
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
@ -192,8 +208,7 @@ FDD_5x_LONG_READ:
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD XH,C ; Memory Page Number
|
LD XH,C ; Memory Page Number
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.SECTORS)
|
LD C,(IY + FDD_TABLE_s.SECTORS)
|
||||||
LD C,A
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;
|
;
|
||||||
@ -241,7 +256,7 @@ FDD_5x_LONG_READ:
|
|||||||
POP IX
|
POP IX
|
||||||
POP HL
|
POP HL
|
||||||
POP BC
|
POP BC
|
||||||
POP IY
|
;POP IY
|
||||||
LD A,B
|
LD A,B
|
||||||
LD C,B
|
LD C,B
|
||||||
INC B
|
INC B
|
||||||
@ -277,7 +292,7 @@ FDD_5x_LONG_READ:
|
|||||||
POP IX
|
POP IX
|
||||||
POP HL
|
POP HL
|
||||||
POP BC
|
POP BC
|
||||||
POP IY
|
;POP IY
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD C,A
|
LD C,A
|
||||||
LD A,B
|
LD A,B
|
||||||
@ -510,24 +525,29 @@ SET_DOS_OFF: EX AF,AF'
|
|||||||
; RET
|
; RET
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
SET_FDD: PUSH BC
|
SELECT_FDD: PUSH BC
|
||||||
AND 1
|
OR A
|
||||||
LD B,A
|
LD IY,SYS_PAGE.FDD_TABLE.A
|
||||||
|
JR Z,.IY_Selected
|
||||||
|
;
|
||||||
|
LD IY,SYS_PAGE.FDD_TABLE.B
|
||||||
|
.IY_Selected: ;LD B,A
|
||||||
OR #3C
|
OR #3C
|
||||||
OUT (FDC_93.DrvCTRL),A
|
OUT (FDC_93.DrvCTRL),A
|
||||||
|
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
LD B,(IY + FDD_TABLE_s.ID)
|
||||||
AND #FE
|
|
||||||
OR B
|
|
||||||
LD (SYS_PAGE.FDD_TABLE.DISK),A
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
INC B
|
||||||
POP BC
|
POP BC
|
||||||
RET
|
RET NZ
|
||||||
|
; no drive
|
||||||
|
LD A,BIOS.Error.BadNumber
|
||||||
|
SCF
|
||||||
|
RET
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
@ -563,20 +583,22 @@ SET_FDD: PUSH BC
|
|||||||
; FDD.SET720: LD A,FDD_Density.SET_720
|
; FDD.SET720: LD A,FDD_Density.SET_720
|
||||||
; OUT (FDD_Density),A
|
; OUT (FDD_Density),A
|
||||||
; RET
|
; RET
|
||||||
|
;
|
||||||
|
; ‚室: IY - “ª § ⥫ì â ¡«¨æã ¢ë¡à ®£® FDD
|
||||||
CHANGE_SPEED: IN A,(SLOT3)
|
CHANGE_SPEED: IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
LD A,(IY + FDD_TABLE_s.DISK)
|
||||||
XOR #80
|
XOR #80
|
||||||
LD (SYS_PAGE.FDD_TABLE.DISK),A
|
LD (IY + FDD_TABLE_s.DISK),A
|
||||||
JR SET_SPEED.set
|
JR SET_SPEED.set
|
||||||
;
|
;
|
||||||
SET_SPEED: IN A,(SLOT3)
|
SET_SPEED: IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
LD A,(IY + FDD_TABLE_s.DISK)
|
||||||
.set: AND #80
|
.set: AND #80
|
||||||
RRA
|
RRA
|
||||||
RRA
|
RRA
|
||||||
@ -591,6 +613,7 @@ SET_SPEED: IN A,(SLOT3)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
; ‚室: BC - ¢ãâ२© ¨ ¢¥è¨© áçñâ稪¨
|
; ‚室: BC - ¢ãâ२© ¨ ¢¥è¨© áçñâ稪¨
|
||||||
|
; IY - “ª § ⥫ì â ¡«¨æã ¢ë¡à ®£® FDD
|
||||||
WAIT_FDD_FOR_SEARCH_TRACK:
|
WAIT_FDD_FOR_SEARCH_TRACK:
|
||||||
LD A,#C0 ;!HARDCODE CMD Š<>1818‚ƒ93
|
LD A,#C0 ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||||
OUT (FDC_93.Command),A
|
OUT (FDC_93.Command),A
|
||||||
@ -624,7 +647,8 @@ WAIT_FDD_FOR_SEARCH_TRACK:
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
; ¯à¥àë¢ ¨ï ¤®«¦ë ¡ëâì ®âª«îç¥ë
|
; ¯à¥àë¢ ¨ï ¤®«¦ë ¡ëâì ®âª«îç¥ë
|
||||||
; ¢ë室: A - FDD_INIT_TABLE.DISK, B - sector size high byte
|
; ‚室: IY - “ª § ⥫ì â ¡«¨æã ¢ë¡à ®£® FDD
|
||||||
|
; ‚ë室: A - bit7 - 720/1440, B - sector size high byte
|
||||||
DISK_ID: EXX
|
DISK_ID: EXX
|
||||||
CALL SET_SPEED
|
CALL SET_SPEED
|
||||||
IN A,(FDC_93.Track)
|
IN A,(FDC_93.Track)
|
||||||
@ -640,7 +664,8 @@ DISK_ID: EXX
|
|||||||
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
||||||
JR NC,.Read_Index
|
JR NC,.Read_Index
|
||||||
EXX
|
EXX
|
||||||
;SCF
|
;SCF
|
||||||
|
LD A,BIOS.Error.NotReady
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
.Read_Index: ;
|
.Read_Index: ;
|
||||||
@ -666,7 +691,7 @@ DISK_ID: EXX
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
LD A,(IY + FDD_TABLE_s.DISK)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -681,7 +706,7 @@ SEEK: LD XL,A
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
LD A,(IY + FDD_TABLE_s.DISK)
|
||||||
AND 1
|
AND 1
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -709,27 +734,22 @@ SEEK: LD XL,A
|
|||||||
RET Z
|
RET Z
|
||||||
.STOL: CALL P50ms
|
.STOL: CALL P50ms
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
|
P50ms: PUSH BC
|
||||||
|
LD B,12
|
||||||
|
.P1ms: LD C,255
|
||||||
|
.PMS: DEC C
|
||||||
|
JR NZ,.PMS
|
||||||
|
DJNZ .P1ms
|
||||||
|
POP BC
|
||||||
|
RET
|
||||||
|
;
|
||||||
;
|
;
|
||||||
;P750ms LD B,3
|
;P750ms LD B,3
|
||||||
;PMS2 LD A,255
|
;PMS2 LD A,255
|
||||||
; CALL P1ms
|
; CALL P1ms
|
||||||
; DJNZ PMS2
|
; DJNZ PMS2
|
||||||
; RET
|
; RET
|
||||||
P50ms: PUSH BC
|
|
||||||
;LD A,12
|
|
||||||
LD B,12
|
|
||||||
.P1ms: LD C,255
|
|
||||||
.PMS: DEC C
|
|
||||||
JR NZ,.PMS
|
|
||||||
;
|
|
||||||
;DEC A
|
|
||||||
;JR NZ,.P1ms
|
|
||||||
DJNZ .P1ms
|
|
||||||
;
|
|
||||||
POP BC
|
|
||||||
RET
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
;RESWG: LD A,8
|
;RESWG: LD A,8
|
||||||
@ -753,12 +773,10 @@ EXECOM: OUT (FDC_93.Command),A
|
|||||||
LD HL,#0000 ; áçñâ稪
|
LD HL,#0000 ; áçñâ稪
|
||||||
PUSH BC
|
PUSH BC
|
||||||
LD B,3 ; áçñâ稪
|
LD B,3 ; áçñâ稪
|
||||||
;
|
|
||||||
.WREST: DEC HL
|
.WREST: DEC HL
|
||||||
LD A,H
|
LD A,H
|
||||||
OR L
|
OR L
|
||||||
JR NZ,.get_state
|
JR NZ,.get_state
|
||||||
;
|
|
||||||
DJNZ .WREST
|
DJNZ .WREST
|
||||||
;
|
;
|
||||||
POP BC
|
POP BC
|
||||||
@ -784,8 +802,7 @@ NTRACK: PUSH HL
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,(SYS_PAGE.FDD_TABLE.SECTORS)
|
LD C,(IY + FDD_TABLE_s.SECTORS)
|
||||||
LD C,A
|
|
||||||
LD B,0
|
LD B,0
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -793,13 +810,16 @@ NTRACK: PUSH HL
|
|||||||
.NTRK: INC A
|
.NTRK: INC A
|
||||||
SBC HL,BC
|
SBC HL,BC
|
||||||
JR NC,.NTRK
|
JR NC,.NTRK
|
||||||
|
;
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,XL
|
LD A,XL
|
||||||
OR XH
|
OR XH
|
||||||
JR Z,.NTRK3
|
JR Z,.NTRK3
|
||||||
|
;
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
DEC IX
|
DEC IX
|
||||||
JR .NTRK
|
JR .NTRK
|
||||||
|
;
|
||||||
.NTRK3: EX AF,AF'
|
.NTRK3: EX AF,AF'
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
DEC A
|
DEC A
|
||||||
|
|||||||
@ -1210,25 +1210,25 @@ FDD_INIT_TABLE_35: FDD_TABLE_s {
|
|||||||
#50, ;.CYLINDL
|
#50, ;.CYLINDL
|
||||||
#00, ;.CYLINDH
|
#00, ;.CYLINDH
|
||||||
#0200, ;.BytesPerSector
|
#0200, ;.BytesPerSector
|
||||||
#03 ;.ID
|
#01 ;.ID 3.5"
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
FDD_INIT_TABLE_525: FDD_TABLE_s {
|
FDD_INIT_TABLE_525: FDD_TABLE_s {
|
||||||
#00 ;.DISK
|
#01 ;.DISK
|
||||||
#09 ;.SECTORS
|
#09 ;.SECTORS
|
||||||
#02 ;.HEADS
|
#02 ;.HEADS
|
||||||
#50 ;.CYLINDL
|
#50 ;.CYLINDL
|
||||||
#00 ;.CYLINDH
|
#00 ;.CYLINDH
|
||||||
#0200 ;.BytesPerSector
|
#0200 ;.BytesPerSector
|
||||||
#03 ;.ID
|
#02 ;.ID 5.25"
|
||||||
}
|
}
|
||||||
|
|
||||||
FDD_INSTAL: IN A,(SLOT3)
|
FDD_INSTAL: IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD HL,SYS_PAGE.FDD_TABLE
|
LD HL,SYS_PAGE.FDD_TABLE.A
|
||||||
LD BC,2*(SYS_PAGE.FDD_TABLE.Size*256) + #FF ; table_size*256 + fill_byte
|
LD BC,+(2*FDD_TABLE_s)*256 + #FF ; table_size*256 + fill_byte
|
||||||
.FILLFDD: LD (HL),C
|
.FILLFDD: LD (HL),C
|
||||||
INC HL
|
INC HL
|
||||||
DJNZ .FILLFDD
|
DJNZ .FILLFDD
|
||||||
@ -1238,15 +1238,15 @@ FDD_INSTAL: IN A,(SLOT3)
|
|||||||
CALL .Choose_FDD_Type
|
CALL .Choose_FDD_Type
|
||||||
JR NZ,.next_FDD
|
JR NZ,.next_FDD
|
||||||
;
|
;
|
||||||
LD DE,SYS_PAGE.FDD_TABLE
|
LD DE,SYS_PAGE.FDD_TABLE.A
|
||||||
LD BC,SYS_PAGE.FDD_TABLE.Size
|
LD BC,SYS_PAGE.FDD_TABLE.A.Size
|
||||||
LDIR
|
LDIR
|
||||||
.next_FDD: LD BC,CMOS_CELL.DrivesSetup_1.Mask.SecondFDD ;#0C11
|
.next_FDD: LD BC,CMOS_CELL.DrivesSetup_1.Mask.SecondFDD ;#0C11
|
||||||
CALL .Choose_FDD_Type
|
CALL .Choose_FDD_Type
|
||||||
JR NZ,.NOFDD1
|
JR NZ,.NOFDD1
|
||||||
;
|
;
|
||||||
LD DE,SYS_PAGE.FDD_1_TABLE
|
LD DE,SYS_PAGE.FDD_TABLE.B
|
||||||
LD BC,SYS_PAGE.FDD_1_TABLE.Size
|
LD BC,SYS_PAGE.FDD_TABLE.B.Size
|
||||||
LDIR
|
LDIR
|
||||||
.NOFDD1: EX AF,AF'
|
.NOFDD1: EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user