diff --git a/constants/SP2000.inc b/constants/SP2000.inc index c7f6516..06705ca 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -135,8 +135,10 @@ CBL: ;======================================= ; замаплен через карту портов на #7C/#3C и #74/#24 CNF_PORT: -.ON EQU #74 +.ON EQU #74 .OFF EQU #24 +.BIOS EQU .ON +.VROM EQU .OFF ; Data: .TURBO.ON EQU 3 ; данные для включения TURBO .TURBO.OFF EQU 2 ; данные для выключения TURBO @@ -153,9 +155,9 @@ CNF_PORT: SYS_PORT: .ON EQU #7C .OFF EQU #3C -; Data: .RAM EQU .OFF .ROM EQU .ON +; Data: .PAGE0 EQU 1 .PAGE8 EQU 0 .EXTENSION EQU .PAGE0 @@ -1367,11 +1369,6 @@ RET_PORT EQU #EE ; Page set after Soft RESET. ; по портам #7FFD и #1FFD. Таким образом достигается совместимость с Пентагоном и Скорпионом по распределению памяти и делается возможным установка любого ; номера страницы спринтеровской памяти для любой страницы Спектрума. ; -; С распределением памяти ситуация такая. Порты страниц - переключают адреса "виртуальных" страниц скорпиона независимо от того, что в этот момент -; подключено в нулевую банку. С третьей банкой наоборот - запись в порт страницы меняет адрес той страницы, какая установлена портами 7FFD,1FFD, -; т.е. записав что-то в порт PAGE3 нужно помнить, какая страница стояла с адреса #C000. Например, если нулевая, то поменяется страница и в адресе -; #0000, если там было установлено ОЗУ. -; SLOT3 EQU #F0 ; RAM page for 128/256 kb (окно C000-FFFF) ;F1h - RAM page for 128/256 kb (окно C000-FFFF) ;F2h - RAM page for 128/256 kb (окно C000-FFFF) @@ -1438,159 +1435,6 @@ Config_PG: ;------------------------; ;;;;;;; ENDMODULE -;███████████████████████████████████████████████████████████████████████ -;███████████████████████████████████████████████████████████████████████ - - - -; -/* -внутренние порты Z84C15: -#10 -#11 -#12 -#13 -#14 -#15 -#16 -#17 -#18 -#19 -#1A -#1B -#1C -#1D -#1E -#1F -#EE -#EF -#F0 -#F1 -#F4 -*/ -;======================================= - -;===============[ CMOS ]================ ; !TODO - -;REGISTER #0E -; %10000000 - MEMORY TEST -; %01000000 - SAVE RAM DISKS -; %00100000 - UPDATE BIOS -; %00011000 - START DELAY -; %00000100 - LANGUAGE -; %00000010 - NOT USED ;!TODO -; %00000001 - QUICK START - -;REGISTER #0F -; %10000000 - TYPEMATIC ON/OFF -; %01100000 - TYPEMATIC DELAY 00-250, 01-500, 10-750, 11-1000 -; %00011111 - TYPEMATIC RATE 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30 - -;REGISTER #10 -; %00000111 - SYSTEM DISK -; 1st FDD -; 2nd FDD -; 1st IDE -; 2nd IDE -; 3rd IDE -; 4th IDE -; Ram Dsk -; Recovery -; %01110000 - ALT SYSTEM DISK - -;REGISTER #11 -; %00000011 - FDD FIRST 720 / 1.44 / NONE -; %00001100 - FDD SECOND -; %00110000 - IDE Primary MASTER AUTO / SETUP / DISABLED -; %11000000 - IDE Primary SLAVE -----//------ - -;-------------[HDD PRIMARY]------------- -;REGISTER #12 - CYLINDERS (MASTER) L -;REGISTER #13 - -----//------ H -;REGISTER #14 - HEADS (MASTER) -;REGISTER #15 - SECTORS (MASTER) -; -;REGISTER #16 - CYLINDERS (SLAVE) L -;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) -; %11000000 - Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz) - -;!FIXIT НЕ ИСПОЛЬЗУЕТСЯ -;REGISTER #1B - HARDWARE CONFIGURATION -; %00000001 - TURBO MODE (D0..D3 - 6 OR 7) -; %00000010 - TURBO EXCHANGE ON/OFF - 1 -; %00000100 - PORT EXCHANGE ON/OFF - 1 -; %00011000 - COMPUTER: -; 0-SPRINTER -; 1-SPECTRUM 256 -; 2-PENTAGON 128 -; 3-OTHER -; %11100000 - RESERVED ;!TODO -;!FIXIT НЕ ИСПОЛЬЗУЕТСЯ -;REGISTER #1C - RESET MODE -; 0-RESET 128 Basic -; 1-RESET 48 Basic & 128 mem -; 2-RESET TR-DOS & 128 mem -; 3-RESET EXPANSION (Disabled) -; 4-RESET TR-DOS & 48 mem -; 5-RESET 48 Basic - -;REGISTER #1D -; %00000010 - Reboot message -; %00000001 - HDD Write protect - -;REGISTER #1E -; %00000011 - TR DOS A: Default / FDD / HDD / RMD -; %00001100 - TR DOS B: Default / FDD / HDD / RMD -; %00110000 - TR DOS C: Default / FDD / HDD / RMD -; %11000000 - TR DOS D: Default / FDD / HDD / RMD - -;REGISTER #1F ;R06 -; %11110000 - X-Screen position -; %00001111 - Y-Screen position - -;REGISTER #20 -; %00110000 - IDE Secondary MASTER AUTO / SETUP / DISABLED -; %11000000 - IDE Secondary SLAVE -----//------ -; . -; . -;REGISTER#35 - BASIC SETTING 1 (SYS_PAGE.CONFIG_DE+1 = #C13B on PAGE #FE) -; 0 - RESET TO BASIC 128 -; 1 - RESET TO BASIC 48 (RAM128) -; 2 - RESET TO TRDOS -; 3 - RESET TO EXPANSION (DON'T USE) -; 4 - RESET TO 48 TRDOS -; 5 - RESET TO 48 BASIC (RAM48) - -;REGISTER#36 - BASIC SETTING 2 ; старые значения неизвестны -; %0000 0111 -; новые значения: -; 0 - ZX-Sprinter -; 1 - Pentagon 48 -; 2 - Pentagon 128 -; 3 - Pentagon 512 -; 4 - Scorpion 256 -; 5 - ZX Spectrum 48 -; 6 - ZX Spectrum 128 - -;REGISTER #3F - CHECKSUM SETTING -;======================================= ; ;-------------------------------[ TEST ]-------------------------------- @@ -1847,25 +1691,6 @@ ATA: ;----------------------------------------------------------------------- ; -/* -KBD_COM EQU #1B -KBD_DAT EQU #1A -COM_B EQU #1B -DAT_B EQU #1A - -COM_A EQU #19 -DAT_A EQU #18 - -LPT1_D EQU #1C -LPT1_C EQU #1D -LPT2_D EQU #1E -LPT2_C EQU #1F - -STC0_C EQU #10 -STC1_C EQU #11 -STC2_C EQU #12 -STC3_C EQU #13 -*/ ; !TODO придумать как обозвать, чтоб было понятно когда пишут для мышки, когда для клавы и т.д. MODULE Z84 ;-------------------[Ports] @@ -1910,6 +1735,7 @@ REG: ENDMODULE ; +;███████████████████████████████████████████████████████████████████████ ;INIT_TIMER: ; LD A,#D5 ; 7-й бит разрешение прерывания ; OUT (#12),A @@ -1934,6 +1760,8 @@ REG: ; IM 1 ; EI ; RET +;███████████████████████████████████████████████████████████████████████ + ;=======================================================================; @@ -2323,6 +2151,30 @@ REG: ; CNF_3 EQU #1C ; карта портов 3 ; CNF_512 EQU #80 ; включение Pentagon 128 +; +; внутренние порты Z84C15: +; #10 +; #11 +; #12 +; #13 +; #14 +; #15 +; #16 +; #17 +; #18 +; #19 +; #1A +; #1B +; #1C +; #1D +; #1E +; #1F +; #EE +; #EF +; #F0 +; #F1 +; #F4 +;======================================= ; страницы с конфой для Sp97, для совместимости с древними прогами ; PG_SP1 equ #EC @@ -2365,6 +2217,145 @@ REG: ; P_HD3F6 EQU #4154 ; WRITE 3F6 ; P_HD3F7 EQU #4055 ; READ 3F7 +;===============[ CMOS ]================ ; !TODO + +;REGISTER #0E +; %10000000 - MEMORY TEST +; %01000000 - SAVE RAM DISKS +; %00100000 - UPDATE BIOS +; %00011000 - START DELAY +; %00000100 - LANGUAGE +; %00000010 - NOT USED ;!TODO +; %00000001 - QUICK START + +;REGISTER #0F +; %10000000 - TYPEMATIC ON/OFF +; %01100000 - TYPEMATIC DELAY 00-250, 01-500, 10-750, 11-1000 +; %00011111 - TYPEMATIC RATE 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30 + +;REGISTER #10 +; %00000111 - SYSTEM DISK +; 1st FDD +; 2nd FDD +; 1st IDE +; 2nd IDE +; 3rd IDE +; 4th IDE +; Ram Dsk +; Recovery +; %01110000 - ALT SYSTEM DISK + +;REGISTER #11 +; %00000011 - FDD FIRST 720 / 1.44 / NONE +; %00001100 - FDD SECOND +; %00110000 - IDE Primary MASTER AUTO / SETUP / DISABLED +; %11000000 - IDE Primary SLAVE -----//------ + +;-------------[HDD PRIMARY]------------- +;REGISTER #12 - CYLINDERS (MASTER) L +;REGISTER #13 - -----//------ H +;REGISTER #14 - HEADS (MASTER) +;REGISTER #15 - SECTORS (MASTER) +; +;REGISTER #16 - CYLINDERS (SLAVE) L +;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) +; %11000000 - Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz) + +;!FIXIT НЕ ИСПОЛЬЗУЕТСЯ +;REGISTER #1B - HARDWARE CONFIGURATION +; %00000001 - TURBO MODE (D0..D3 - 6 OR 7) +; %00000010 - TURBO EXCHANGE ON/OFF - 1 +; %00000100 - PORT EXCHANGE ON/OFF - 1 +; %00011000 - COMPUTER: +; 0-SPRINTER +; 1-SPECTRUM 256 +; 2-PENTAGON 128 +; 3-OTHER +; %11100000 - RESERVED ;!TODO +;!FIXIT НЕ ИСПОЛЬЗУЕТСЯ +;REGISTER #1C - RESET MODE +; 0-RESET 128 Basic +; 1-RESET 48 Basic & 128 mem +; 2-RESET TR-DOS & 128 mem +; 3-RESET EXPANSION (Disabled) +; 4-RESET TR-DOS & 48 mem +; 5-RESET 48 Basic + +;REGISTER #1D +; %00000010 - Reboot message +; %00000001 - HDD Write protect + +;REGISTER #1E +; %00000011 - TR DOS A: Default / FDD / HDD / RMD +; %00001100 - TR DOS B: Default / FDD / HDD / RMD +; %00110000 - TR DOS C: Default / FDD / HDD / RMD +; %11000000 - TR DOS D: Default / FDD / HDD / RMD + +;REGISTER #1F ;R06 +; %11110000 - X-Screen position +; %00001111 - Y-Screen position + +;REGISTER #20 +; %00110000 - IDE Secondary MASTER AUTO / SETUP / DISABLED +; %11000000 - IDE Secondary SLAVE -----//------ +; . +; . +;REGISTER#35 - BASIC SETTING 1 (SYS_PAGE.CONFIG_DE+1 = #C13B on PAGE #FE) +; 0 - RESET TO BASIC 128 +; 1 - RESET TO BASIC 48 (RAM128) +; 2 - RESET TO TRDOS +; 3 - RESET TO EXPANSION (DON'T USE) +; 4 - RESET TO 48 TRDOS +; 5 - RESET TO 48 BASIC (RAM48) + +;REGISTER#36 - BASIC SETTING 2 ; старые значения неизвестны +; %0000 0111 +; новые значения: +; 0 - ZX-Sprinter +; 1 - Pentagon 48 +; 2 - Pentagon 128 +; 3 - Pentagon 512 +; 4 - Scorpion 256 +; 5 - ZX Spectrum 48 +; 6 - ZX Spectrum 128 + +;REGISTER #3F - CHECKSUM SETTING +;======================================= + +; KBD_COM EQU #1B +; KBD_DAT EQU #1A +; COM_B EQU #1B +; DAT_B EQU #1A + +; COM_A EQU #19 +; DAT_A EQU #18 + +; LPT1_D EQU #1C +; LPT1_C EQU #1D +; LPT2_D EQU #1E +; LPT2_C EQU #1F + +; STC0_C EQU #10 +; STC1_C EQU #11 +; STC2_C EQU #12 +; STC3_C EQU #13 ;================================================================================= ; Поpты Sprinter. (байты PORT_X)<<