Возврат размера сектора для FDD и RAM-DISK

This commit is contained in:
Tolik 2026-04-25 03:42:34 +10:00
parent 21a4660eff
commit 507064e64f
6 changed files with 34 additions and 36 deletions

View File

@ -1 +1 @@
63 64

View File

@ -189,6 +189,16 @@ GET_LOGDRV_ENTRY:
;------------------------------------------------- ;-------------------------------------------------
;-------------------------------------------------
CONVERT_SECTOR_SIZE:
LD A,XH
LD E,XL
RL E
RLA
RET
;-------------------------------------------------
;------------------------------------------------- ;-------------------------------------------------
; RST 18h. ‚¥ªâ®à ¤¨áª®¢ëå ãáâனá⢠; RST 18h. ‚¥ªâ®à ¤¨áª®¢ëå ãáâனáâ¢
; ¢å®¤: a=­®¬¥à ãáâனá⢠ (0-25) ; ¢å®¤: a=­®¬¥à ãáâனá⢠ (0-25)

View File

@ -500,12 +500,13 @@ GetParams: ;EX DE,HL
LD A,B LD A,B
LD B,D LD B,D
EXX EXX
;[ ] 04/01/2025 ¢®§¢à é¥­¨¥ à §¬¥à  ᥪâ®à  ;[x] 04/01/2025 ¢®§¢à é¥­¨¥ à §¬¥à  ᥪâ®à 
EX AF,AF' EX AF,AF'
LD A,XH CALL CONVERT_SECTOR_SIZE
LD E,XL ; LD A,XH
RL E ; LD E,XL
RLA ; RL E
; RLA
; ;
; SECTORS ON LOGICAL DISK ; SECTORS ON LOGICAL DISK
LD E,(IY+LOGDRV.SIZE_IN_SECTORS+0) LD E,(IY+LOGDRV.SIZE_IN_SECTORS+0)

View File

@ -343,16 +343,7 @@ GenIOCTL: BIT 7,B
; D5 - "1" RESERVED ; D5 - "1" RESERVED
; D4 - DEVICE MASTER/SLAVE ; D4 - DEVICE MASTER/SLAVE
; D1..D3 - "0" RESERVED (MAY BE OTHER) ; D1..D3 - "0" RESERVED (MAY BE OTHER)
.GetParams: ;EX DE,HL .GetParams: AND #0F
;LD BC,Dss.DRV.GenIOCTL.Enter
AND #0F
;SBC HL,BC
;JR Z,.next
;
;LD A,BIOS.Error.Failure
;SCF
;RET
;
.next: PUSH AF .next: PUSH AF
PUSH IY PUSH IY
LD C,BIOS.DRV_GET_PAR LD C,BIOS.DRV_GET_PAR
@ -364,6 +355,7 @@ GenIOCTL: BIT 7,B
PUSH DE PUSH DE
LD A,H LD A,H
LD C,L LD C,L
;
LD HL,0 LD HL,0
LD B,H LD B,H
.mull_loop1: ADD HL,BC .mull_loop1: ADD HL,BC
@ -395,6 +387,10 @@ GenIOCTL: BIT 7,B
EX DE,HL EX DE,HL
; H=0 ; H=0
LD C,H ;[x] 17.12.2023 § £à㧪  á  ªâ¨¢­®£® à §¤¥« ,   ­¥ á ¯¥à¢®£® LD C,H ;[x] 17.12.2023 § £à㧪  á  ªâ¨¢­®£® à §¤¥« ,   ­¥ á ¯¥à¢®£®
EXX
CALL CONVERT_SECTOR_SIZE
EXX
LD B,A ;[ ] 25/04/2026 ¢®§¢à é¥­¨¥ à §¬¥à  ᥪâ®à 
EXX EXX
POP DE POP DE
POP HL POP HL

View File

@ -462,40 +462,31 @@ GenIOCTL: BIT 7,B
; D5 - "1" RESERVED ; D5 - "1" RESERVED
; D6 - ADDRESSING MODE LBA/CHS ; D6 - ADDRESSING MODE LBA/CHS
; D7 - "1" RESERVED ; D7 - "1" RESERVED
.RGETPRM: ;EX DE,HL .RGETPRM: LD L,A
;LD BC,Dss.DRV.GenIOCTL.Enter
;AND A
;SBC HL,BC
LD L,A
;LD A,BIOS.Error.Failure
;SCF
;RET NZ
;
EX AF,AF' EX AF,AF'
LD A,L LD A,L
CALL GET_RAMDRV_NUM CALL GET_RAMDRV_NUM
PUSH AF PUSH AF
PUSH AF PUSH AF
EX AF,AF' EX AF,AF'
POP AF POP AF
LD C,BIOS.DRV_GET_PAR LD C,BIOS.DRV_GET_PAR
RST ToBIOS RST ToBIOS
PUSH HL ;ç¨á«® £®«®¢®ª, ç¨á«® ᥪâ®à®¢ (­  楫¨­¤à) PUSH HL ;ç¨á«® £®«®¢®ª, ç¨á«® ᥪâ®à®¢ (­  楫¨­¤à)
PUSH DE ;ª®«¨ç¥á⢮ 樫¨­¤à®¢ PUSH DE ;ª®«¨ç¥á⢮ 樫¨­¤à®¢
EXX EXX
CALL CONVERT_SECTOR_SIZE
POP HL ;ª®«¨ç¥á⢮ 樫¨­¤à®¢ POP HL ;ª®«¨ç¥á⢮ 樫¨­¤à®¢
POP BC ;ç¨á«® ᥪâ®à®¢ (­  楫¨­¤à) POP BC ;ç¨á«® ᥪâ®à®¢ (­  楫¨­¤à)
LD D,0 LD D,0
LD E,B ;ç¨á«® £®«®¢®ª LD E,B ;ç¨á«® £®«®¢®ª
LD B,D LD B,D
EXX EXX
LD B,A
LD A,L LD A,L
RRA RRA
JR C,.end JR C,.end
;
.loopShift: SLA E .loopShift: SLA E
RL D RL D
RRA RRA

@ -1 +1 @@
Subproject commit 440cb45e755dbb4c4c00ac1d193a6701c5684704 Subproject commit e1dc7ec10dc9c7e9153a05884e42973a57378a63