From 05e89d7636d9a82ab8efab854ea1995dfbdf4b21 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Tue, 22 Aug 2023 01:57:45 +1000 Subject: [PATCH] ... --- constants/SP2000.inc | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/constants/SP2000.inc b/constants/SP2000.inc index e0ce779..a59d185 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -1576,19 +1576,26 @@ INIT_TBL_IDE2 HDD_INIT_TABLE = SYS_PAGE.IDE_2 ; !HARDC INIT_TBL_IDE3 HDD_INIT_TABLE = SYS_PAGE.IDE_3 ; !HARDCODE table in SYS_PAGE -;IDE_STATUS_3F7 EQU #29 ; HDD - доп. регистр состояния 3F7. внешний #4055 + +; Регистр адреса накопителя (3F7 чтение) содержит номер головки и НЖМД, выбранные в предыдущей операции. +; Биты 0, 1 - /DSO, /DS1 - биты выбора соответствующего накопителя 0 или 1. +; Биты 2...5 - /HSO../HS3 - содержат двоичный код выбранной головки. +; Бит 6 - Write Gate - бит выполнения записи, активен во время операции записи + + Write: .DeviceControl EQU #4154 ; ; #3F6 Device Control register -.DriveCtrl EQU #4152 ; HDW_DRV P_HD_CS ; #1F6 Drive Control register -.Command EQU #4153 ; HDW_COM P_CMD ; #1F7 Command register -.Data EQU #0150 ; HDW_DAT W170 ; #1F0 Data register -.Error EQU #0151 ; HDW_ERR W171 ; #1F1 Error register -.Counter EQU #0152 ; HDW_CNT P_S_CNT W172 ; #1F2 Counter register -.Sector EQU #0153 ; HDW_SEC P_S_NUM W173 ; #1F3 Sector register -.CylinderLow EQU #0154 ; HDW_CLL P_C_LOW W174 ; #1F4 Cylinder Low register -.CylinderHigh EQU #0155 ; HDW_CLH P_C_HIG W175 ; #1F5 Cylinder High register +.DriveCtrl EQU #4152 ; HDW_DRV P_HD_CS ; #1F6 Drive Control register +.Command EQU #4153 ; HDW_COM P_CMD ; #1F7 Command register +.Data EQU #0150 ; HDW_DAT W170 ; #1F0 Data register +.Features EQU #0151 ; HDW_ERR W171 ; #1F1 Features register +.Counter EQU #0152 ; HDW_CNT P_S_CNT W172 ; #1F2 Counter register +.Sector EQU #0153 ; HDW_SEC P_S_NUM W173 ; #1F3 Sector register +.CylinderLow EQU #0154 ; HDW_CLL P_C_LOW W174 ; #1F4 Cylinder Low register +.CylinderHigh EQU #0155 ; HDW_CLH P_C_HIG W175 ; #1F5 Cylinder High register Read: +.DrvAddress EQU #4055 ; #3F7 .AltControl EQU #4054 ; ; #3F6 Alternate Status register .Control EQU #4052 ; HDR_DRV R176 ; #1F6 Drive Control register .Status EQU #4053 ; HDR_CTL P_HDST R177 ; #1F7 Status (Control) register @@ -1606,8 +1613,8 @@ ControlBit: ; Bits for HardDrive.Read.Status .StreamErrror EQU .Fault .DeferredWriteError EQU 4 .DataRequest EQU 3 ; DRQ -.AlignmentError EQU 2 -.SenseDataAvailable EQU 1 +.AlignmentError EQU 2 ; obsolete +.SenseDataAvailable EQU 1 ; obsolete .Error EQU 0 ; Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset). .CheckCondition EQU .Error /*