mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
-bug fdd-drv.asm: не будет читать сектор больше DSS_MAX_SECTOR_SIZE.
-bug OPENDSK: обработка ошибки после Dss.DRV.MediaCheck
This commit is contained in:
parent
cc65c4ba24
commit
a51e56090b
@ -192,6 +192,7 @@ OPENDSK: ;!TEST DRV.Open
|
|||||||
RST ToDSS.DRV
|
RST ToDSS.DRV
|
||||||
POP BC
|
POP BC
|
||||||
JR Z,.exit
|
JR Z,.exit
|
||||||
|
JR C,.error
|
||||||
JR .skip_open ;!FIXIT ª®£¤ DRV.MediaCheck ¨ DRV.Open ¡ã¤ã⠮⫨ç âìáï
|
JR .skip_open ;!FIXIT ª®£¤ DRV.MediaCheck ¨ DRV.Open ¡ã¤ã⠮⫨ç âìáï
|
||||||
;
|
;
|
||||||
.open: LD A,B
|
.open: LD A,B
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
29
|
30
|
||||||
@ -182,7 +182,6 @@ MAKEDVC: LD C,A
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
;!FIXIT ¯®¯¥à¥¤¥«ë¢ âì âã⠢맮¢ë ç¥à¥§ â®çª¨ ¢å®¤ ⨯ RST ¨«¨ ¢ë§®¢ë ⨯ LD C,0 : CALL HDDRIVE ¯àï¬ë¥
|
|
||||||
;-------------------------------------------------
|
;-------------------------------------------------
|
||||||
; RST 18h. ‚¥ªâ®à ¤¨áª®¢ëå ãáâனáâ¢
|
; RST 18h. ‚¥ªâ®à ¤¨áª®¢ëå ãáâனáâ¢
|
||||||
; ¢å®¤: a=®¬¥à ãáâனá⢠(0-25)
|
; ¢å®¤: a=®¬¥à ãáâனá⢠(0-25)
|
||||||
|
|||||||
@ -620,6 +620,7 @@ MediaCheck: PUSH IY
|
|||||||
;
|
;
|
||||||
CP DSS_Error.sys.UNKNOWN_FORMAT
|
CP DSS_Error.sys.UNKNOWN_FORMAT
|
||||||
JR NZ,.exit
|
JR NZ,.exit
|
||||||
|
; A != 0
|
||||||
AND A ; á¡à®á ZF
|
AND A ; á¡à®á ZF
|
||||||
SCF
|
SCF
|
||||||
; [ ] media changed
|
; [ ] media changed
|
||||||
@ -669,9 +670,6 @@ MediaCheck: PUSH IY
|
|||||||
CHECK_IDE_SECTOR_SIZE: ;RET
|
CHECK_IDE_SECTOR_SIZE: ;RET
|
||||||
LD E,(IY+LOGDRV.SECTOR_SIZE)
|
LD E,(IY+LOGDRV.SECTOR_SIZE)
|
||||||
LD D,(IY+LOGDRV.SECTOR_SIZE+1)
|
LD D,(IY+LOGDRV.SECTOR_SIZE+1)
|
||||||
; LD HL,DSS_MAX_SECTOR_SIZE
|
|
||||||
; AND A
|
|
||||||
; SBC HL,DE
|
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,-DSS_MAX_SECTOR_SIZE - 1
|
LD HL,-DSS_MAX_SECTOR_SIZE - 1
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
|
|||||||
@ -178,8 +178,21 @@ Init: LD A,2 ;
|
|||||||
; ; ;
|
; ; ;
|
||||||
|
|
||||||
;
|
;
|
||||||
Open: LD C,BIOS.DRV_RESET
|
Open: PUSH AF
|
||||||
|
LD C,BIOS.DRV_RESET
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
|
POP BC
|
||||||
|
RET C
|
||||||
|
;
|
||||||
|
LD A,B
|
||||||
|
LD C,BIOS.DRV_GET_PAR
|
||||||
|
RST ToBIOS
|
||||||
|
LD DE,-DSS_MAX_SECTOR_SIZE - 1 ; [ ] 15/04/25 ¥ ¡ã¤¥â ç¨â âì ᥪâ®à ¡®«ìè¥ DSS_MAX_SECTOR_SIZE
|
||||||
|
; ZF = 0
|
||||||
|
LD A,DSS_Error.sys.UNKNOWN_FORMAT
|
||||||
|
OR A
|
||||||
|
;
|
||||||
|
ADD IX,DE ; ¥á«¨ à §¬¥à ᥪâ®à ¡®«ìè¥, â® ®¡«®¬
|
||||||
RET
|
RET
|
||||||
; ; ;
|
; ; ;
|
||||||
|
|
||||||
@ -190,7 +203,9 @@ Close: XOR A
|
|||||||
|
|
||||||
|
|
||||||
;!FIXIT ¯à®¢¥àïâì ‚ƒ93 ª®£¤ íâ® á⠥⠢®§¬®¦ë¬
|
;!FIXIT ¯à®¢¥àïâì ‚ƒ93 ª®£¤ íâ® á⠥⠢®§¬®¦ë¬
|
||||||
MediaCheck: IF NON_REMOVABLE_FDD
|
MediaCheck: CALL Open
|
||||||
|
RET C
|
||||||
|
IF NON_REMOVABLE_FDD
|
||||||
XOR A
|
XOR A
|
||||||
ELSE
|
ELSE
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
@ -234,13 +249,13 @@ GetBPB: LD IX,0
|
|||||||
; RET
|
; RET
|
||||||
; ; ;
|
; ; ;
|
||||||
|
|
||||||
;
|
; !FIXIT ¬®¦¥â 㬥à¥âì à §¬¥à¥ ᥪâ®à ¡®«ìè¥ 512 ¡ ©â®¢
|
||||||
Read: LD C,BIOS.DRV_READ
|
Read: LD C,BIOS.DRV_READ
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
RET
|
RET
|
||||||
; ; ;
|
; ; ;
|
||||||
|
|
||||||
;
|
; !FIXIT ¬®¦¥â 㬥à¥âì à §¬¥à¥ ᥪâ®à ¡®«ìè¥ 512 ¡ ©â®¢
|
||||||
Write: LD C,BIOS.DRV_WRITE
|
Write: LD C,BIOS.DRV_WRITE
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
RET
|
RET
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit a9f5915a3275f5ffbafa0994bb97c5846aab826c
|
Subproject commit bd4546a854905998edab6144547b79aa673404f6
|
||||||
Loading…
Reference in New Issue
Block a user