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