From cc23cc96bb8bb12432622cc688b2e1afe39c6105 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Wed, 30 Aug 2023 03:13:17 +1000 Subject: [PATCH] ... --- constants/SP2000.inc | 45 +++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/constants/SP2000.inc b/constants/SP2000.inc index 361c28f..d72706c 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -737,10 +737,12 @@ CMOS.Cell.ScreenSET EQU #1A .Mask.Int EQU %0011'0000 ; Frame Int (Default/Pentagon/Scorpion/Original) .Mask.Sinc EQU %1100'0000 ; Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz) ; +CMOS.USED_MIN_ADDRESS EQU #0E CMOS.USED_MAX_ADDRESS EQU #3F CMOS.MAX_ADDRESS EQU #7F CMOS.TEST_CELL EQU CMOS.MAX_ADDRESS +CMOS.Cell.CheckSum EQU CMOS.USED_MAX_ADDRESS /* MODULE CMOS_CELL @@ -1612,7 +1614,7 @@ SLOT3 EQU #F0 ; RAM page for 128/256 kb ( ; %00110000 - IDE Primary MASTER AUTO / SETUP / DISABLED ; %11000000 - IDE Primary SLAVE -----//------ -;------------[HDD PRIMARY]------------- +;-------------[HDD PRIMARY]------------- ;REGISTER #12 - CYLINDERS (MASTER) L ;REGISTER #13 - -----//------ H ;REGISTER #14 - HEADS (MASTER) @@ -1622,7 +1624,18 @@ SLOT3 EQU #F0 ; RAM page for 128/256 kb ( ;REGISTER #17 - -----//------ H ;REGISTER #18 - HEADS (SLAVE) ;REGISTER #19 - SECTORS (SLAVE) -;--------------------------------------- +;---------------------------------------- +;------------[HDD Secondary]------------- +;REGISTER #37 - CYLINDERS (MASTER) L +;REGISTER #38 - -----//------ H +;REGISTER #39 - HEADS (MASTER) +;REGISTER #3A - SECTORS (MASTER) +; +;REGISTER #3B - CYLINDERS (SLAVE) L +;REGISTER #3C - -----//------ H +;REGISTER #3D - HEADS (SLAVE) +;REGISTER #3E - SECTORS (SLAVE) +;---------------------------------------- ;REGISTER #1A ; %00001111 - COLOR STYLE ; %00110000 - Frame Int (Default/Pentagon/Scorpion/Original) @@ -1686,19 +1699,6 @@ SLOT3 EQU #F0 ; RAM page for 128/256 kb ( ; 5 - ZX Spectrum 48 ; 6 - ZX Spectrum 128 - -;-----------[HDD SECONDARY]------------ -;REGISTER #37 - CYLINDERS (MASTER) -;REGISTER #38 - -----//------ -;REGISTER #39 - HEADS (MASTER) -;REGISTER #3A - SECTORS (MASTER) -; -;REGISTER #3B - CYLINDERS (SLAVE) -;REGISTER #3‘ - -----//------ -;REGISTER #3D - HEADS (SLAVE) -;REGISTER #3E - SECTORS (SLAVE) -;--------------------------------------- - ;REGISTER #3F - CHECKSUM SETTING ;======================================= @@ -1770,14 +1770,16 @@ ErrorByte: ControlBit: ; 0000 0000 ; Bits for IDE.Read.Status .Busy EQU 7;ÄÄÄÄÄÄÄÄÙ³³³ ³³³³ ; BSY .Ready EQU 6;ÄÄÄÄÄÄÄÄÄÙ³³ ³³³³ ; RDY -.Fault EQU 5;ÄÄÄÄÄÄÄÄÄÄÙ³ ³³³³ -.SeekComplete EQU 4;ÄÄÄÄÄÄÄÄÄÄÄÙ ³³³³ .DeferredWriteError +.Fault EQU 5;ÄÄÄÄÄÄÄÄÄÄÙ³ ³³³³ ; DMA ready for ATAPI +.SeekComplete EQU 4;ÄÄÄÄÄÄÄÄÄÄÄÙ ³³³³ ; Service for ATAPI .DataRequest EQU 3;ÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³³³ ; DRQ .CorrectedData EQU 2;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³³ obsolete .Index EQU 1;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³ obsolete .SenseDataAvailable .Error EQU 0;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ; Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset). .CheckCondition EQU .Error .StreamError EQU .Fault +.ATAPI_DMAReady EQU .Fault +.ATAPI_Service EQU .SeekComplete ControlByte: ; Bytes for IDE.Read.Status .Busy EQU #80 ; BSY @@ -1790,6 +1792,8 @@ ControlByte: ; Bytes for IDE.Read.Status .Error EQU #01 ; Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset). .CheckCondition EQU .Error .StreamErrror EQU .Fault +.ATAPI_DMAReady EQU .Fault +.ATAPI_Service EQU .SeekComplete /* Bit Abbreviation Function 0 ERR Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset). @@ -1814,10 +1818,11 @@ Device: .NONE EQU #FF Drive: -.Master EQU #A0 -.Slave EQU #B0 +.Master EQU %1010'0000 +.Slave EQU %1011'0000 ATAPI: +.Packet EQU #A0 .IdentifyPackedDevice EQU #A1 ; ATA: @@ -1853,6 +1858,8 @@ ATA: .ReadMultiple EQU #c4 .Recalibrate EQU #10 .SetFeatures EQU #ef +.SetFeatures.Disable8bit EQU #81 ; Disable 8-bit data transfers (¯¨á âì ¢ .Features) +.SetFeatures.DisableWriteCache EQU #82 ; Disable write cache (¯¨á âì ¢ .Features) .SetMultipleMode EQU #c6 .Sleep EQU #99 .Sleep2 EQU #e6