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_DETECT
|
||||
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 FN_RESERVED_5x
|
||||
@ -660,7 +660,7 @@ TAB_5xFNS:
|
||||
DB high ATAPI_5x_WRITE ; WRITE ; [ ] new
|
||||
DB high ATAPI_5x_DETECT
|
||||
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 FN_RESERVED_5x
|
||||
|
||||
@ -114,6 +114,28 @@ ATAPI_5x_GET_PAR:
|
||||
RET
|
||||
;[]================================================================[#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
|
||||
; atapi.pdf áâà. 24 § ¯¨áì/ç⥨¥ ¬®£ãâ ¡ëâì ¬ ªá¨¬ «ì묨 ¡«®ª ¬¨ ¢ ¥áª®«ìª® § 室®¢
|
||||
;[]================================================================[#55]
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
;=======================================================================
|
||||
; ‚室: A - ®¬¥à ãáâனá⢠, C - DriveType
|
||||
; ‚ë室: A - MediaParameters, C - DriveType
|
||||
; <20> <20>噔ㄢ L
|
||||
SELECT_DRIVE:
|
||||
AND #0F
|
||||
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.MediaParameters),%0000'0001
|
||||
;!FIXIT ᤥ« âì æ¨ª« á® áçñâ稪®¬
|
||||
.get_error_loop: LD HL,ATAPI_CMD_PACKET.TEST_UNIT_READY
|
||||
LD B,100 ; áçñâ稪 ¯®¯ë⮪ (1 ¯®¯ë⪠- 1 HALT)
|
||||
.get_error_loop: PUSH BC
|
||||
LD HL,ATAPI_CMD_PACKET.TEST_UNIT_READY
|
||||
CALL EXEC_PACKET_COMMAND.start
|
||||
POP BC
|
||||
JR NC,.s_size
|
||||
;
|
||||
CP BIOS.Error.ATAPI.NotReady
|
||||
JR Z,.get_error_loop
|
||||
;
|
||||
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
|
||||
CP BIOS.Error.ATAPI.UnitAttention
|
||||
JR Z,IDESPEC.END
|
||||
; «î¡ ï ¥¯®ïâ ï ®è¨¡ª - ¥â ®á¨â¥«ï
|
||||
;
|
||||
CP BIOS.Error.ATAPI.NotReady
|
||||
SCF
|
||||
JR .set_sector
|
||||
JR NZ,.set_sector ; «î¡ ï ¥¯®ïâ ï ®è¨¡ª - ¥â ®á¨â¥«ï
|
||||
HALT
|
||||
DJNZ .get_error_loop
|
||||
;
|
||||
; LD HL,ATAPI_CMD_PACKET.REQUEST_SENSE
|
||||
; LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
||||
@ -468,6 +470,7 @@ IDESPEC: IN A,(SLOT3)
|
||||
.s_size: LD HL,ATAPI_CMD_PACKET.READ_CAPACITY_DATA
|
||||
LD DE,IDENTIFY_DEVICE_BUFFER.ReservedWord224 ; ¯à®á⮠㦥 ¡ë« ¡ãä¥à
|
||||
CALL EXEC_PACKET_COMMAND.start
|
||||
;
|
||||
.set_sector: LD HL,#FFFF
|
||||
JR C,.No_Media
|
||||
;
|
||||
@ -481,6 +484,7 @@ IDESPEC: IN A,(SLOT3)
|
||||
;
|
||||
.No_Media: LD (IY+IDE.HDD_INIT_TABLE.SectorSize),H
|
||||
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
|
||||
;
|
||||
JR IDESPEC.END
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
;=======================[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_RC EQU 1 ;
|
||||
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 0 ;
|
||||
;======================[All shared defines]=====================;
|
||||
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||
DEFINE SP2000_Loader_Flag #0107 ;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user