вроде опять исправлен баг с media changed

This commit is contained in:
Tolik 2025-05-22 22:52:08 +10:00
parent 1fcfce3619
commit 14638c333d
5 changed files with 36 additions and 35 deletions

View File

@ -581,7 +581,7 @@ get_drive_letter:
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬. áâப¨
RST ToDSS
;
rra
;rra
rl b ; ¯à¨§­ ª ª®­æ  ¯ à ¬¥â஢
;
ld de,buffer

View File

@ -62,25 +62,13 @@ RMDIR: ;!TEST Current Dir ;[x] 15/10/23
PUSH BC
PUSH HL
PUSH IX
;
; IN A,(SLOT3)
; PUSH AF
; IN A,(SLOT0)
; OUT (SLOT3),A
; ;
; LD DE,CORE_BUFFERS.SECTOR_BUFFER+#C000
; LD BC,1*256 + Dss.DRV.Read
; LD A,(CORE_BUFFERS.FS_Buffer.DRIVE)
; RST ToDSS.DRV
; POP AF
; OUT (SLOT3),A
CALL READ_SECTOR
; !FIXIT ­¥â ¯à®¢¥àª¨ ­  ®è¨¡ªã
;
;!HARDCODE 16 * 32 = 512; 32 - à §¬¥à § ¯¨á¨, 512 - à §¬¥à áç¨â ­­®£® ᥪâ®à 
;!HARDCODE sector size. 16 * 32 = 512; 32 - à §¬¥à § ¯¨á¨, 512 - à §¬¥à áç¨â ­­®£® ᥪâ®à 
LD B,16
LD HL,CORE_BUFFERS.SECTOR_BUFFER
.check_dir_loop:
.check_dir_loop:;
LD A,(HL)
OR A
JP Z,.dir_empty
@ -106,10 +94,7 @@ RMDIR: ;!TEST Current Dir ;[x] 15/10/23
OR XL
JR NZ,.no_inc_hl
INC HL
.no_inc_hl: ; POP AF
; DEC A
; JR NZ,.read_dir_loop
POP BC
.no_inc_hl: POP BC
DJNZ .read_dir_loop
; fat32
EXX

View File

@ -1 +1 @@
46
47

View File

@ -431,32 +431,48 @@ GetParams: EX DE,HL
LD C,BIOS.DRV_GET_PAR
RST ToBIOS
POP IY
JR NC,.next
JR C,.error
;
CP BIOS.Error.BadNumber
SCF
JR Z,.error
LD A,BIOS.Error.NotReady
JR .error
; CP BIOS.Error.BadNumber
; SCF
; JR Z,.error
; LD A,BIOS.Error.NotReady
; JR .error
;
; [ ] media change - ã¡à âì ;!FIXIT
.next: EX AF,AF'
JR NC,.NoMediaChange
CP BIOS.Error.ATAPI.UnitAttention
SCF
JR NZ,.NoMediaChange
;
.ReDEFINE: PUSH IX
PUSH IY
JR Z,.ReDEFINE
;SCF
;JR NZ,.NoMediaChange
;
PUSH HL
PUSH DE
AND A
LD DE,#FFFF
LD L,(IY+LOGDRV.SIZE_IN_SECTORS+0)
LD H,(IY+LOGDRV.SIZE_IN_SECTORS+1)
SBC HL,DE
JR NZ,.ReDEFINE_SP
;
LD L,(IY+LOGDRV.SIZE_IN_SECTORS+2)
LD H,(IY+LOGDRV.SIZE_IN_SECTORS+3)
SBC HL,DE
JR Z,.ReDEFINE_Skip
;
;
.ReDEFINE: PUSH HL
PUSH DE
.ReDEFINE_SP: PUSH IX
PUSH IY
PUSH BC
CALL ReDEFINE_PARTITIONS
POP BC
POP DE
POP HL
POP IY
POP IX
.ReDEFINE_Skip: POP DE
POP HL
;
.NoMediaChange: ; ¯¥à¥â á®¢ª  ॣ¨áâ஢ á १ã«ìâ â®¬ ®â BIOS
EX DE,HL
@ -498,7 +514,7 @@ GetParams: EX DE,HL
LD A,(IY+LOGDRV.PHISICAL_DRV_NUMBER) ;MASTER/SLAVE PHISICAL DRIVE NUMBER #80/#81/...
EX AF,AF'
;
;AND A
AND A
.error: POP IY
POP IX
RET

@ -1 +1 @@
Subproject commit 89efc04ac63ae8b6a3b79c4a0e521fc967636a64
Subproject commit 1b6a539aea8d46b09a617a90a04a2e45dcb37b3f