atapi media changed всё ближе
This commit is contained in:
parent
624ba73ef4
commit
1cb8ee9e78
@ -557,7 +557,7 @@ TAB_5xFNS:
|
|||||||
DB low ATAPI_5x_WRITE ; [ ] new
|
DB low ATAPI_5x_WRITE ; [ ] new
|
||||||
DB low ATAPI_5x_DETECT
|
DB low ATAPI_5x_DETECT
|
||||||
DB low ATAPI_5x_GET_PAR ; [ ] new
|
DB low ATAPI_5x_GET_PAR ; [ ] new
|
||||||
DB low FN_ABSENT_5x ; SETMED
|
DB low ATAPI_5x_SET_PAR ; SETMED
|
||||||
|
|
||||||
DB low DRV_VERSION
|
DB low DRV_VERSION
|
||||||
DB low FN_RESERVED_5x
|
DB low FN_RESERVED_5x
|
||||||
@ -660,7 +660,7 @@ TAB_5xFNS:
|
|||||||
DB high ATAPI_5x_WRITE ; WRITE ; [ ] new
|
DB high ATAPI_5x_WRITE ; WRITE ; [ ] new
|
||||||
DB high ATAPI_5x_DETECT
|
DB high ATAPI_5x_DETECT
|
||||||
DB high ATAPI_5x_GET_PAR
|
DB high ATAPI_5x_GET_PAR
|
||||||
DB high FN_ABSENT_5x ; SETMED
|
DB high ATAPI_5x_SET_PAR ; SETMED
|
||||||
|
|
||||||
DB high DRV_VERSION
|
DB high DRV_VERSION
|
||||||
DB high FN_RESERVED_5x
|
DB high FN_RESERVED_5x
|
||||||
|
|||||||
@ -114,6 +114,28 @@ ATAPI_5x_GET_PAR:
|
|||||||
RET
|
RET
|
||||||
;[]================================================================[#58]
|
;[]================================================================[#58]
|
||||||
|
|
||||||
|
|
||||||
|
;[]================================================================[#59]
|
||||||
|
; [ ] media changed
|
||||||
|
ATAPI_5x_SET_PAR:
|
||||||
|
LD L,B
|
||||||
|
LD C,IDE.Device.ATAPI
|
||||||
|
CALL SELECT_DRIVE
|
||||||
|
RET C
|
||||||
|
;
|
||||||
|
IN A,(SLOT3)
|
||||||
|
EX AF,AF'
|
||||||
|
LD A,SYS_PAGE
|
||||||
|
OUT (SLOT3),A
|
||||||
|
;
|
||||||
|
LD (IY+IDE.HDD_INIT_TABLE.MediaParameters),B
|
||||||
|
EX AF,AF
|
||||||
|
OUT (SLOT3),A
|
||||||
|
RET
|
||||||
|
;[]================================================================[#59]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;!TODO
|
;!TODO
|
||||||
; atapi.pdf áâà. 24 § ¯¨áì/ç⥨¥ ¬®£ãâ ¡ëâì ¬ ªá¨¬ «ì묨 ¡«®ª ¬¨ ¢ ¥áª®«ìª® § 室®¢
|
; atapi.pdf áâà. 24 § ¯¨áì/ç⥨¥ ¬®£ãâ ¡ëâì ¬ ªá¨¬ «ì묨 ¡«®ª ¬¨ ¢ ¥áª®«ìª® § 室®¢
|
||||||
;[]================================================================[#55]
|
;[]================================================================[#55]
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
;=======================================================================
|
;=======================================================================
|
||||||
; ‚室: A - ®¬¥à ãáâனá⢠, C - DriveType
|
; ‚室: A - ®¬¥à ãáâனá⢠, C - DriveType
|
||||||
; ‚ë室: A - MediaParameters, C - DriveType
|
; ‚ë室: A - MediaParameters, C - DriveType
|
||||||
|
; <20> <20>噔ㄢ L
|
||||||
SELECT_DRIVE:
|
SELECT_DRIVE:
|
||||||
AND #0F
|
AND #0F
|
||||||
LD IY,IDE.INIT_TBL_IDE0
|
LD IY,IDE.INIT_TBL_IDE0
|
||||||
|
|||||||
@ -446,20 +446,22 @@ IDESPEC: IN A,(SLOT3)
|
|||||||
LD (IY+IDE.HDD_INIT_TABLE.DRV_Flags),A
|
LD (IY+IDE.HDD_INIT_TABLE.DRV_Flags),A
|
||||||
; ¢á直© á«ãç ©
|
; ¢á直© á«ãç ©
|
||||||
LD (IY+IDE.HDD_INIT_TABLE.MediaParameters),%0000'0001
|
LD (IY+IDE.HDD_INIT_TABLE.MediaParameters),%0000'0001
|
||||||
;!FIXIT ᤥ« âì æ¨ª« á® áçñâ稪®¬
|
LD B,100 ; áçñâ稪 ¯®¯ë⮪ (1 ¯®¯ë⪠- 1 HALT)
|
||||||
.get_error_loop: LD HL,ATAPI_CMD_PACKET.TEST_UNIT_READY
|
.get_error_loop: PUSH BC
|
||||||
|
LD HL,ATAPI_CMD_PACKET.TEST_UNIT_READY
|
||||||
CALL EXEC_PACKET_COMMAND.start
|
CALL EXEC_PACKET_COMMAND.start
|
||||||
|
POP BC
|
||||||
JR NC,.s_size
|
JR NC,.s_size
|
||||||
;
|
;
|
||||||
CP BIOS.Error.ATAPI.NotReady
|
|
||||||
JR Z,.get_error_loop
|
|
||||||
;
|
|
||||||
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
|
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
|
||||||
CP BIOS.Error.ATAPI.UnitAttention
|
CP BIOS.Error.ATAPI.UnitAttention
|
||||||
JR Z,IDESPEC.END
|
JR Z,IDESPEC.END
|
||||||
; «î¡ ï ¥¯®ïâ ï ®è¨¡ª - ¥â ®á¨â¥«ï
|
;
|
||||||
|
CP BIOS.Error.ATAPI.NotReady
|
||||||
SCF
|
SCF
|
||||||
JR .set_sector
|
JR NZ,.set_sector ; «î¡ ï ¥¯®ïâ ï ®è¨¡ª - ¥â ®á¨â¥«ï
|
||||||
|
HALT
|
||||||
|
DJNZ .get_error_loop
|
||||||
;
|
;
|
||||||
; LD HL,ATAPI_CMD_PACKET.REQUEST_SENSE
|
; LD HL,ATAPI_CMD_PACKET.REQUEST_SENSE
|
||||||
; LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
; LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
||||||
@ -468,6 +470,7 @@ IDESPEC: IN A,(SLOT3)
|
|||||||
.s_size: LD HL,ATAPI_CMD_PACKET.READ_CAPACITY_DATA
|
.s_size: LD HL,ATAPI_CMD_PACKET.READ_CAPACITY_DATA
|
||||||
LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
||||||
CALL EXEC_PACKET_COMMAND.start
|
CALL EXEC_PACKET_COMMAND.start
|
||||||
|
;
|
||||||
.set_sector: LD HL,#FFFF
|
.set_sector: LD HL,#FFFF
|
||||||
JR C,.No_Media
|
JR C,.No_Media
|
||||||
;
|
;
|
||||||
@ -481,6 +484,7 @@ IDESPEC: IN A,(SLOT3)
|
|||||||
;
|
;
|
||||||
.No_Media: LD (IY+IDE.HDD_INIT_TABLE.SectorSize),H
|
.No_Media: LD (IY+IDE.HDD_INIT_TABLE.SectorSize),H
|
||||||
LD (IY+IDE.HDD_INIT_TABLE.SectorSize + 1),L
|
LD (IY+IDE.HDD_INIT_TABLE.SectorSize + 1),L
|
||||||
|
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
|
||||||
;LD (IY+IDE.HDD_INIT_TABLE.MediaParameters),%0000'0001 ; !HARDCODE ATAPI ¯®ª ¢á¥£¤ removable
|
;LD (IY+IDE.HDD_INIT_TABLE.MediaParameters),%0000'0001 ; !HARDCODE ATAPI ¯®ª ¢á¥£¤ removable
|
||||||
;
|
;
|
||||||
JR IDESPEC.END
|
JR IDESPEC.END
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
;=======================[All shared EQUs]=======================;
|
;=======================[All shared EQUs]=======================;
|
||||||
BETA_BUILD EQU 10 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> <20> ᮮ<>饭<EFBFBD><E9A5AD> <20> <20><><EFBFBD>⮢<EFBFBD><E2AEA2> ᡮથ <20><> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <20><>࠭<EFBFBD>
|
BETA_BUILD EQU 40 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD> <20> ᮮ<>饭<EFBFBD><E9A5AD> <20> <20><><EFBFBD>⮢<EFBFBD><E2AEA2> ᡮથ <20><> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <20><>࠭<EFBFBD>
|
||||||
BETA_RC EQU 1 ;
|
BETA_RC EQU 0 ;
|
||||||
;======================[All shared defines]=====================;
|
;======================[All shared defines]=====================;
|
||||||
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||||
DEFINE SP2000_Loader_Flag #0107 ;
|
DEFINE SP2000_Loader_Flag #0107 ;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user