diff --git a/Shared_Includes b/Shared_Includes index 2facbb2..5aa6fff 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 2facbb273ecfd873a5bb622c8c405cc9880a39e5 +Subproject commit 5aa6ffff2b5879e26a8ccf0925c18223c76da539 diff --git a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm index 78b71ce..1ca1714 100644 --- a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm +++ b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm @@ -132,7 +132,7 @@ AP_COM: AND #01 LD A,#A0 JR Z,.APCOM1 LD A,#B0 -.APCOM1 LD BC,IDE.Write.DriveCtrl +.APCOM1 LD BC,IDE.Write.DeviceHead OUT (C),A ;SELECT DRIVE EXX LD DE,#8000 @@ -175,7 +175,7 @@ AP_COM: AND #01 EXX OUT (C),A XOR A - LD BC,IDE.Write.Error + LD BC,IDE.Write.Features OUT (C),A LD DE,SIZESEC ;SIZE BLOCK LD BC,IDE.Write.CylinderLow diff --git a/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm b/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm index ba3235b..db83a81 100644 --- a/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm +++ b/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm @@ -7,7 +7,7 @@ /* ;Write IDE.Write.Command EQU #4153 ; #1F7 Command -IDE.Write.DriveCtrl EQU #4152 ; #1F6 Drive Control +IDE.Write.DeviceHead EQU #4152 ; #1F6 Drive Control HDW_CLH EQU #0155 ; #1F5 Cylinder High HDW_CLL EQU #0154 ; #1F4 Cylinder Low @@ -122,7 +122,7 @@ SELCHAN: CP IDE.Device.HDD ;!FIXIT возможно, нахрен не нужно, потому-что если CD, то прилетит в драйвер CD LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) OUT (C),B ;возврат страницы - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead RES 0,A OUT (C),A EXX @@ -595,7 +595,7 @@ PRESET: LD A,B LD A,SYS_PAGE OUT (SLOT3),A LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead OUT (C),A ;!TEST ;BIT 6,A ;бит CHS/LBA ;!FIXIT сделать метками номера бит @@ -615,7 +615,7 @@ PRESET: LD A,B IN A,(C) AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask OR H ;LBA 24..27 - INC B ; LD BC,IDE.Write.DriveCtrl + INC B ; LD BC,IDE.Write.DeviceHead ELSE LD BC,IDE.Write.CylinderLow OUT (C),D ;LBA 8..15 @@ -625,7 +625,7 @@ PRESET: LD A,B IN A,(C) AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask OR H ;LBA 24..27 - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead ENDIF OUT (C),A EX AF,AF' diff --git a/src/bios/exp/FUNC_4x.ASM b/src/bios/exp/FUNC_4x.ASM index c8e3a9d..60f05ea 100644 --- a/src/bios/exp/FUNC_4x.ASM +++ b/src/bios/exp/FUNC_4x.ASM @@ -56,7 +56,7 @@ HD_PREPARE: IN A,(C) AND #F0 ; !!!!! посмотреть OR H - INC B ; IDE.Write.DriveCtrl + INC B ; IDE.Write.DeviceHead OUT (C),A @@ -128,7 +128,7 @@ NEXT_ADD_SEC: AND #F0 OR E INC B - OUT (C),A ; ????? HEADS?! IDE.Write.DriveCtrl + OUT (C),A ; ????? HEADS?! IDE.Write.DeviceHead POP AF RET @@ -329,7 +329,7 @@ HD_WR_LOOP: FN_HDD_RECAL: LD A,#A0 - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead OUT (C),A LD A,IDE.ATA.ExecuteDeviceDiagnostic CALL HD_CMD_EXE @@ -353,7 +353,7 @@ FN_HDD_RECAL: FN_HDD_TEST_IDE: LD E,#00 - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead LD A,#A0 ; !!!!! глянуть OUT (C),A @@ -362,7 +362,7 @@ FN_HDD_TEST_IDE: JR NZ,NO_HDD1 SET 0,E NO_HDD1: - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead LD A,#B0 ; !!!!! глянуть OUT (C),A @@ -442,7 +442,7 @@ TEST_HDD_DRV: FN_HDD_INIT: - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead LD A,#A0 OUT (C),A CALL TEST_HDD_DRV @@ -461,7 +461,7 @@ HD_C0_L3: SCF RET HD_ABSENT: - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead LD A,#B0 ; !HARDCODE OUT (C),A CALL TEST_HDD_DRV @@ -509,7 +509,7 @@ HD_C0_L2: SET 6,H HD_C0_NO_LBA: - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead OUT (C),H LD A,(SYS_PAGE.HD_IDF_ADR.sectors) ; число секторов @@ -573,7 +573,7 @@ HD_CALC_SECS: RET NZ ; ошибка, слишком большой HDD PUSH BC - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead DEC B IN A,(C) BIT 6,A diff --git a/src/bios/rom/SETUP/AUTOIDE.asm b/src/bios/rom/SETUP/AUTOIDE.asm index d6c7503..f0648bb 100644 --- a/src/bios/rom/SETUP/AUTOIDE.asm +++ b/src/bios/rom/SETUP/AUTOIDE.asm @@ -127,7 +127,7 @@ SELECT_IDE: XOR A .AUTO: LD (ICHANEL),A ;R01 - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead OUT (C),D ; RET @@ -138,7 +138,7 @@ IDEAUTO: LD (IDEDEV),A CDMASTR: LD (SKIP),A - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead OUT (C),D DEC B INC C ; LD BC,IDE.Read.Status @@ -339,7 +339,7 @@ IDESPEC: JR Z,NONLBA SET 6,B NONLBA: LD A,B - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead OUT (C),A AND #F0 ;!HARDCODE DRIVE/HEAD REGISTER PHISICAL DISK bitmask LD HL,ICHANEL diff --git a/src/bios/rom/SETUP/MAIN.asm b/src/bios/rom/SETUP/MAIN.asm index b527982..5fcfd91 100644 --- a/src/bios/rom/SETUP/MAIN.asm +++ b/src/bios/rom/SETUP/MAIN.asm @@ -1293,7 +1293,7 @@ SETUPD2: CALL READCMS LD (TEMP+#0C),A ; !TODO сделать через структуру. SECTOR PER TRACK LD A,#A0 - LD BC,IDE.Write.DriveCtrl + LD BC,IDE.Write.DeviceHead OUT (C),A LD A,IDE.Device.HDD LD (IDEDEV),A