diff --git a/Shared_Includes b/Shared_Includes index a26f6ad..f75e257 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit a26f6ad2cf2eab977cab8baa0c83b0c2a91a5e53 +Subproject commit f75e25771d6c7048f1c43f9494d3890d907ab68f diff --git a/src/bios/exp/EXP.asm b/src/bios/exp/EXP.asm index 8888510..388a48d 100644 --- a/src/bios/exp/EXP.asm +++ b/src/bios/exp/EXP.asm @@ -839,6 +839,8 @@ Check_EE_Port: LD A,ACEX.RET_PORT OUT (SLOT1),A LD A,(Spec_Page.page_2) ; PAGE2 OUT (SLOT2),A + XOR A + LD (Spec_Page.flag_R),A LD A,(Spec_Page.Reload_Version) CP #FF JR Z,.JPHL ; olg logic diff --git a/src/bios/exp/EXTENDED/IDE/ATAPI_DRV.ASM b/src/bios/exp/EXTENDED/IDE/ATAPI_DRV.ASM index c24c2a5..c3e2847 100644 --- a/src/bios/exp/EXTENDED/IDE/ATAPI_DRV.ASM +++ b/src/bios/exp/EXTENDED/IDE/ATAPI_DRV.ASM @@ -25,7 +25,6 @@ _ZIP_WAITS_ EQU 128 ASSERT ((PACKET_SIZE % 4) = 0), "PACKET_SIZE must be an even number" ;[]================================================================[#51] -;!FIXIT сделать настоящий ресет ATAPI_5x_RESET: LD C,IDE.Device.ATAPI CALL SELECT_DRIVE RET C @@ -59,15 +58,9 @@ ATAPI_5x_RESET: LD C,IDE.Device.ATAPI DJNZ .loop LD A,C AND A + ;RET Z SCF - RET NZ - RET -/* -HL = 1e00 - B = 1 -ATAPI_WAITPRT.LOOP -DE = 00FF -*/ + RET ;[]================================================================[#51] @@ -935,4 +928,4 @@ ATAPI_PACKET: ; Если ловится ошибка media changed, то биос должен выставлять в HDD_INIT_TABLE.MediaParameters = 3 ; и затирать FF SectorSize. -; Дос после получения такой ошибки должен вызывать BIOS.DRV_DETECT и если всё ОК, то ReScanDRV \ No newline at end of file +; Дос после получения такой ошибки должен вызывать BIOS.DRV_DETECT и если всё ОК, то ReScanDRV diff --git a/src/bios/exp/EXTENDED/IDE/ATA_DRV.ASM b/src/bios/exp/EXTENDED/IDE/ATA_DRV.ASM index 6b71295..e8ae194 100644 --- a/src/bios/exp/EXTENDED/IDE/ATA_DRV.ASM +++ b/src/bios/exp/EXTENDED/IDE/ATA_DRV.ASM @@ -6,8 +6,8 @@ /* ;Write -IDE.Write.Command EQU #4153 ; #1F7 Command -IDE.Write.DeviceHead EQU #4152 ; #1F6 Drive Control +IDE.Write.Command EQU #4153 ; #1F7 Command +IDE.Write.DeviceHead EQU #4152 ; #1F6 Drive Control HDW_CLH EQU #0155 ; #1F5 Cylinder High HDW_CLL EQU #0154 ; #1F4 Cylinder Low @@ -17,7 +17,7 @@ HDW_ERR EQU #0151 ; #1F1 Error HDW_DAT EQU #0150 ; #1F0 Data ;Read -IDE.Read.Status EQU #4053 ; #1F7 Status (Control) +IDE.Read.Status EQU #4053 ; #1F7 Status (Control) HDR_DRV EQU #4052 ; #1F6 Drive Control HDR_CLH EQU #0055 ; #1F5 Cylinder High