diff --git a/constants/SP2000.inc b/constants/SP2000.inc index 0618926..e27bf13 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -819,68 +819,63 @@ CMOS.Register: ; bit6..0 - Unused, read-only == 0 .CTRLregD EQU #0D ; read-only - - -;!TODO записать так все параметры в кмос -CMOS.Cell.ScreenSET EQU #1A -.Mask.ColorStyle EQU %0000'1111 ; COLOR STYLE For Setup -.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 BootUpParams EQU #0E -.Mask.MemTest EQU %1000'0000 ; MEMORY TEST -.Mask.SaveRAMdisks EQU %0100'0000 ; SAVE RAM DISKS -;.Mask.Reserved EQU %0010'0000 ; UPDATE BIOS -.Mask.StartDelay EQU %0001'1000 ; START DELAY -.Mask.Language EQU %0000'0100 ; LANGUAGE -;.Mask.Reserved EQU %0000'0010 ; NOT USED -.Mask.QuickStart EQU %0000'0001 ; QUICK START +.Mask.MemTest EQU %1000'0000 * 256 + BootUpParams ; MEMORY TEST +.Mask.SaveRAMdisks EQU %0100'0000 * 256 + BootUpParams ; SAVE RAM DISKS +;.Mask.Reserved EQU %0010'0000 * 256 + BootUpParams ; UPDATE BIOS +.Mask.StartDelay EQU %0001'1000 * 256 + BootUpParams ; START DELAY +.Mask.Language EQU %0000'0100 * 256 + BootUpParams ; LANGUAGE +;.Mask.Reserved EQU %0000'0010 * 256 + BootUpParams ; NOT USED +.Mask.QuickStart EQU %0000'0001 * 256 + BootUpParams ; QUICK START Typematic EQU #0F -.Mask.Enabled EQU %1000'0000 ; ON/OFF -.Mask.Delay EQU %0110'0000 ; DELAY 00-250, 01-500, 10-750, 11-1000 -.Mask.Rate EQU %0001'1111 ; RATE 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30 +.Mask.Enabled EQU %1000'0000 * 256 + Typematic ; ON/OFF +.Mask.Delay EQU %0110'0000 * 256 + Typematic ; DELAY 00-250, 01-500, 10-750, 11-1000 +.Mask.Rate EQU %0001'1111 * 256 + Typematic ; RATE 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30 ;FDD-1, FDD-2, IDE-1, IDE-2, IDE-3, IDE-4, Ram Dsk, Recovery BootDrives EQU #10 -.Mask.SysDisk EQU %0000'0111 -.Mask.AltSysDisk EQU %0111'0000 +.Mask.SysDisk EQU %0000'0111 * 256 + BootDrives +.Mask.AltSysDisk EQU %0111'0000 * 256 + BootDrives DrivesSetup_1 EQU #11 -.Mask.FirstFDD EQU %0000'0011 ; FDD First 720/1.44/NONE -.Mask.SecondFDD EQU %0000'1100 ; FDD Second 720/1.44/NONE -.Mask.PriIDEmaster EQU %0011'0000 ; IDE Pri Master Auto/Setup/Disabled -.Mask.PriIDEslave EQU %1100'0000 ; IDE Pri Slave Auto/Setup/Disabled +.Mask.FirstFDD EQU %0000'0011 * 256 + DrivesSetup_1 ; FDD First 720/1.44/NONE +.Mask.SecondFDD EQU %0000'1100 * 256 + DrivesSetup_1 ; FDD Second 720/1.44/NONE +.Mask.PriIDEmaster EQU %0011'0000 * 256 + DrivesSetup_1 ; IDE Pri Master Auto/Setup/Disabled +.Mask.PriIDEslave EQU %1100'0000 * 256 + DrivesSetup_1 ; IDE Pri Slave Auto/Setup/Disabled DrivesSetup_2 EQU #20 -.Mask.SecIDEmaster EQU %0011'0000 ; IDE Sec Master Auto/Setup/Disabled -.Mask.SecIDEslave EQU %1100'0000 ; IDE Sec Slave Auto/Setup/Disabled +.Mask.SecIDEmaster EQU %0011'0000 * 256 + DrivesSetup_2 ; IDE Sec Master Auto/Setup/Disabled +.Mask.SecIDEslave EQU %1100'0000 * 256 + DrivesSetup_2 ; IDE Sec Slave Auto/Setup/Disabled IDE_Setup.PriMaster: .CylindersLow EQU #12 .CylindersHigh EQU #13 .Heads EQU #14 .Sectros EQU #15 + IDE_Setup.PriSlave: .CylindersLow EQU #16 .CylindersHigh EQU #17 .Heads EQU #18 .Sectros EQU #19 + IDE_Setup.SecMaster: .CylindersLow EQU #37 .CylindersHigh EQU #38 .Heads EQU #39 .Sectros EQU #3A + IDE_Setup.SecSlave: .CylindersLow EQU #3B .CylindersHigh EQU #3C @@ -888,16 +883,16 @@ IDE_Setup.SecSlave: .Sectros EQU #3E ScreenSET EQU #1A -.Mask.ColorStyle EQU %0000'1111 ; COLOR STYLE For Setup -.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) +.Mask.ColorStyle EQU %0000'1111 * 256 + ScreenSET ; COLOR STYLE For Setup +.Mask.Int EQU %0011'0000 * 256 + ScreenSET ; Frame Int (Default/Pentagon/Scorpion/Original) +.Mask.Sinc EQU %1100'0000 * 256 + ScreenSET ; Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz) ;!FIXIT НЕ ИСПОЛЬЗУЕТСЯ HardwareConfiguration EQU #1B ; !!!!! or #36 -,Mask.TurboMode EQU %0000'0001 ; TURBO MODE (D0..D3 - 6 OR 7) -,Mask.TurboExchange EQU %0000'0010 ; TURBO EXCHANGE ON/OFF - 1 -,Mask.PortExchange EQU %0000'0100 ; PORT EXCHANGE ON/OFF - 1 -,Mask.Computer EQU %0001'1000 ; COMPUTER: 0-SPRINTER, 1-SPECTRUM 256, 2-PENTAGON 128, 3-OTHER +.Mask.TurboMode EQU %0000'0001 ; TURBO MODE (D0..D3 - 6 OR 7) +.Mask.TurboExchange EQU %0000'0010 ; TURBO EXCHANGE ON/OFF - 1 +.Mask.PortExchange EQU %0000'0100 ; PORT EXCHANGE ON/OFF - 1 +.Mask.Computer EQU %0001'1000 ; COMPUTER: 0-SPRINTER, 1-SPECTRUM 256, 2-PENTAGON 128, 3-OTHER ;!FIXIT НЕ ИСПОЛЬЗУЕТСЯ ResetMode EQU #1C ; !!!!! or #35 @@ -928,23 +923,23 @@ ResetMode EQU #1C ; !!!!! or #35 ; 6 - ZX Spectrum 128 Options EQU #1D -.Mask.RebootMSG EQU %00000010 -.Mask.HDDwriteProtect EQU %00000001 ;!!!!! Disabled +.Mask.RebootMSG EQU %00000010 * 256 + Options +;.Mask.HDDwriteProtect EQU %00000001 * 256 + Options ; [x] убрано. работало только с функциями 5х и постоянно дёргало CMOS при записи TRDOSmount EQU #1E -.Mask.A EQU %0000'0011 ;Default / FDD / HDD / RMD -.Mask.B EQU %0000'1100 -.Mask.C EQU %0011'0000 -.Mask.D EQU %1100'0000 +.Mask.A EQU %0000'0011 * 256 + TRDOSmount ;Default / FDD / HDD / RMD +.Mask.B EQU %0000'1100 * 256 + TRDOSmount +.Mask.C EQU %0011'0000 * 256 + TRDOSmount +.Mask.D EQU %1100'0000 * 256 + TRDOSmount ScreenPosition EQU #1F -.Mask.X EQU %1111'0000 -.Mask.Y EQU %0000'1111 +.Mask.X EQU %1111'0000 * 256 + ScreenPosition +.Mask.Y EQU %0000'1111 * 256 + ScreenPosition CheckSum EQU #3F ;----------------------------------------- ENDMODULE -*/ +