вроде опять исправлен баг с 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 ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬. áâப¨ ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬. áâப¨
RST ToDSS RST ToDSS
; ;
rra ;rra
rl b ; ¯à¨§­ ª ª®­æ  ¯ à ¬¥â஢ rl b ; ¯à¨§­ ª ª®­æ  ¯ à ¬¥â஢
; ;
ld de,buffer ld de,buffer

View File

@ -62,25 +62,13 @@ RMDIR: ;!TEST Current Dir ;[x] 15/10/23
PUSH BC PUSH BC
PUSH HL PUSH HL
PUSH IX 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 CALL READ_SECTOR
; !FIXIT ­¥â ¯à®¢¥àª¨ ­  ®è¨¡ªã ; !FIXIT ­¥â ¯à®¢¥àª¨ ­  ®è¨¡ªã
; ;
;!HARDCODE 16 * 32 = 512; 32 - à §¬¥à § ¯¨á¨, 512 - à §¬¥à áç¨â ­­®£® ᥪâ®à  ;!HARDCODE sector size. 16 * 32 = 512; 32 - à §¬¥à § ¯¨á¨, 512 - à §¬¥à áç¨â ­­®£® ᥪâ®à 
LD B,16 LD B,16
LD HL,CORE_BUFFERS.SECTOR_BUFFER LD HL,CORE_BUFFERS.SECTOR_BUFFER
.check_dir_loop: .check_dir_loop:;
LD A,(HL) LD A,(HL)
OR A OR A
JP Z,.dir_empty JP Z,.dir_empty
@ -106,10 +94,7 @@ RMDIR: ;!TEST Current Dir ;[x] 15/10/23
OR XL OR XL
JR NZ,.no_inc_hl JR NZ,.no_inc_hl
INC HL INC HL
.no_inc_hl: ; POP AF .no_inc_hl: POP BC
; DEC A
; JR NZ,.read_dir_loop
POP BC
DJNZ .read_dir_loop DJNZ .read_dir_loop
; fat32 ; fat32
EXX EXX

View File

@ -1 +1 @@
46 47

View File

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

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