mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
removed #55aa for GenIOCTL
new subfunction GetMoreParams for GenIOCTL
This commit is contained in:
parent
165efe603c
commit
1e52904d97
@ -499,7 +499,7 @@ write_to_BPB: PUSH BC
|
||||
|
||||
;
|
||||
write_no_BPB: ld a,(disk) ; ®¬¥à § ¤ ®£® ¤¨áª
|
||||
ld de,Dss.DRV.GenIOCTL.Enter
|
||||
;ld de,Dss.DRV.GenIOCTL.Enter
|
||||
ld bc,Dss.DRV.GenIOCTL.GetParams
|
||||
rst ToDSS.DRV
|
||||
ex af,af'
|
||||
|
||||
@ -31,7 +31,7 @@ BOOTDSK:
|
||||
;
|
||||
.loop: PUSH BC
|
||||
LD A,C
|
||||
LD DE,Dss.DRV.GenIOCTL.Enter
|
||||
;LD DE,Dss.DRV.GenIOCTL.Enter
|
||||
LD BC,Dss.DRV.GenIOCTL.GetParams
|
||||
RST ToDSS.DRV
|
||||
;[x] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
||||
|
||||
@ -94,7 +94,7 @@ DISKINF: LD C,B
|
||||
POP AF
|
||||
PUSH DE
|
||||
;LD A,XH
|
||||
LD DE,Dss.DRV.GenIOCTL.Enter
|
||||
;LD DE,Dss.DRV.GenIOCTL.Enter
|
||||
LD BC,Dss.DRV.GenIOCTL.GetParams
|
||||
RST ToDSS.DRV
|
||||
POP DE
|
||||
|
||||
@ -102,16 +102,19 @@
|
||||
; ‚•Ž„: L - «®£¨ç¥áª¨© ®¬¥à ¢ â ¡«¨æ¥
|
||||
; ‚›•Ž„: IY - ç «® § ¯¨á¨
|
||||
; <20>Ž<EFBFBD>’ˆ’: HL, DE, IY.
|
||||
MACRO LOGDRV_ENTRY_FIND tbl_addr
|
||||
MACRO LOGDRV_ENTRY
|
||||
LD H,0
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
LD IY,tbl_addr
|
||||
ADD IY,DE
|
||||
ENDM
|
||||
MACRO LOGDRV_ENTRY_FIND tbl_addr
|
||||
LD IY,tbl_addr
|
||||
LOGDRV_ENTRY
|
||||
ENDM
|
||||
;
|
||||
|
||||
;
|
||||
|
||||
@ -1 +1 @@
|
||||
62
|
||||
63
|
||||
@ -328,7 +328,11 @@ RAM_DRV:
|
||||
;-----[]
|
||||
HARD_DRV:
|
||||
LD L,B
|
||||
LOGDRV_ENTRY_FIND OLD_TABLES.LOGDRV
|
||||
;
|
||||
;LOGDRV_ENTRY_FIND OLD_TABLES.LOGDRV
|
||||
LD IY,OLD_TABLES.LOGDRV
|
||||
CALL GET_LOGDRV_ENTRY
|
||||
;
|
||||
LD IX,LOGDRV
|
||||
LD DE,LOGDRV.TBL_Entry
|
||||
LD B,DSS_MAX_DRIVES_AMOUNT
|
||||
|
||||
@ -182,6 +182,13 @@ MAKEDVC: LD C,A
|
||||
RET
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
GET_LOGDRV_ENTRY:
|
||||
LOGDRV_ENTRY
|
||||
RET
|
||||
;-------------------------------------------------
|
||||
|
||||
|
||||
;-------------------------------------------------
|
||||
; RST 18h. ‚¥ªâ®à ¤¨áª®¢ëå ãáâனáâ¢
|
||||
; ¢å®¤: a=®¬¥à ãáâனá⢠(0-25)
|
||||
|
||||
@ -342,10 +342,24 @@ SelectDrive: PUSH DE
|
||||
RET
|
||||
|
||||
|
||||
GetMoreParams: PUSH IX
|
||||
PUSH IY
|
||||
LD L,A
|
||||
LD IY,LOGDRV
|
||||
CALL @GET_LOGDRV_ENTRY
|
||||
LD H,(IY + LOGDRV.SECTOR_OFFSET + 3)
|
||||
LD L,(IY + LOGDRV.SECTOR_OFFSET + 2)
|
||||
LD D,(IY + LOGDRV.SECTOR_OFFSET + 1)
|
||||
LD E,(IY + LOGDRV.SECTOR_OFFSET + 0)
|
||||
POP IY
|
||||
POP IX
|
||||
RET
|
||||
|
||||
|
||||
; 00 - GET DEVICE PARAMETERS
|
||||
; 01 - READ TRACK
|
||||
; 02 - TEST TRACK
|
||||
; 03 - GET MORE DEVICE PARAMETERS
|
||||
; 80 - SET DEVICE PARAMETERS
|
||||
; 81 - WRITE TRACK
|
||||
; 82 - FORMAT TRACK
|
||||
@ -358,6 +372,8 @@ GenIOCTL: BIT 7,B
|
||||
JR Z,.error ;ReadTrack
|
||||
DEC B
|
||||
JR Z,TestTRK
|
||||
DEC B
|
||||
JR Z,GetMoreParams
|
||||
LD A,BIOS.Error.InvalidSubFunction
|
||||
SCF
|
||||
RET
|
||||
@ -412,19 +428,21 @@ TestTRK: LD C,BIOS.DRV_VERIFY
|
||||
; 32 - 4096 bytes
|
||||
; 64 - 8192 bytes
|
||||
; 128 - 16384 bytes
|
||||
GetParams: EX DE,HL
|
||||
LD BC,#55AA
|
||||
AND A
|
||||
SBC HL,BC
|
||||
GetParams: ;EX DE,HL
|
||||
;LD BC,Dss.DRV.GenIOCTL.Enter
|
||||
;AND A
|
||||
;SBC HL,BC
|
||||
LD L,A
|
||||
LD A,BIOS.Error.Failure
|
||||
SCF
|
||||
RET NZ
|
||||
;LD A,BIOS.Error.Failure
|
||||
;SCF
|
||||
;RET NZ
|
||||
;
|
||||
PUSH IX
|
||||
PUSH IY
|
||||
;
|
||||
LOGDRV_ENTRY_FIND LOGDRV
|
||||
;LOGDRV_ENTRY_FIND LOGDRV
|
||||
LD IY,LOGDRV
|
||||
CALL GET_LOGDRV_ENTRY
|
||||
;
|
||||
LD A,(IY + LOGDRV.PHISICAL_DRV_NUMBER) ;MASTER/SLAVE PHISICAL DRIVE NUMBER #80/#81/...
|
||||
PUSH IY
|
||||
|
||||
@ -343,15 +343,15 @@ GenIOCTL: BIT 7,B
|
||||
; D5 - "1" RESERVED
|
||||
; D4 - DEVICE MASTER/SLAVE
|
||||
; D1..D3 - "0" RESERVED (MAY BE OTHER)
|
||||
.GetParams: EX DE,HL
|
||||
LD BC,#55AA
|
||||
.GetParams: ;EX DE,HL
|
||||
;LD BC,Dss.DRV.GenIOCTL.Enter
|
||||
AND #0F
|
||||
SBC HL,BC
|
||||
JR Z,.next
|
||||
;SBC HL,BC
|
||||
;JR Z,.next
|
||||
;
|
||||
LD A,BIOS.Error.Failure
|
||||
SCF
|
||||
RET
|
||||
;LD A,BIOS.Error.Failure
|
||||
;SCF
|
||||
;RET
|
||||
;
|
||||
.next: PUSH AF
|
||||
PUSH IY
|
||||
|
||||
@ -462,14 +462,14 @@ GenIOCTL: BIT 7,B
|
||||
; D5 - "1" RESERVED
|
||||
; D6 - ADDRESSING MODE LBA/CHS
|
||||
; D7 - "1" RESERVED
|
||||
.RGETPRM: EX DE,HL
|
||||
LD BC,#55AA
|
||||
AND A
|
||||
SBC HL,BC
|
||||
.RGETPRM: ;EX DE,HL
|
||||
;LD BC,Dss.DRV.GenIOCTL.Enter
|
||||
;AND A
|
||||
;SBC HL,BC
|
||||
LD L,A
|
||||
LD A,BIOS.Error.Failure
|
||||
SCF
|
||||
RET NZ
|
||||
;LD A,BIOS.Error.Failure
|
||||
;SCF
|
||||
;RET NZ
|
||||
;
|
||||
EX AF,AF'
|
||||
LD A,L
|
||||
|
||||
@ -97,7 +97,7 @@ cmd_info: CALL Get_Path
|
||||
CP "C" - "A"
|
||||
JR C,.ItIsFDD
|
||||
;
|
||||
LD DE,Dss.DRV.GenIOCTL.Enter
|
||||
;LD DE,Dss.DRV.GenIOCTL.Enter
|
||||
LD BC,Dss.DRV.GenIOCTL.GetParams
|
||||
RST ToDSS.DRV
|
||||
JR C,.noMedia
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 467265101452bce67322e4b77cc0878044859eaa
|
||||
Subproject commit c020ce3b569f171558e159af931aca3a0fdb78bf
|
||||
Loading…
Reference in New Issue
Block a user