diff --git a/Shared_Includes b/Shared_Includes index 04aaef8..4f546cb 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 04aaef8ac955971d913babd95921a62937b597ae +Subproject commit 4f546cb1d2cd8eeb1aec0de2c3e9902d1bb52fee diff --git a/src/bios/exp/EXP.asm b/src/bios/exp/EXP.asm index 6723e78..42c86f5 100644 --- a/src/bios/exp/EXP.asm +++ b/src/bios/exp/EXP.asm @@ -491,14 +491,14 @@ POST_1_RAM_BUS: ; ************************************************ POST_1_OK: - LD A,(TABLE_X.v1) ; высветить "1" ;rdlow-ok + LD A,(TABLE_X.v1) ; высветить "1" ;rdlow-ok OUT (Z84.PIO.Port_A.Data),A ; ===== TEST ADRESS BUS ====== POST_2_ADRESS_BUS: LD HL,#C000 LD DE,#0000 -.fill_mem: ; заполнить память адресами +.fill_mem: ; заполнить память адресами LD (HL),E INC L LD (HL),D @@ -511,7 +511,7 @@ POST_2_ADRESS_BUS: DEC HL DEC DE DEC DE -.check_mem: ; проверить совпадение +.check_mem: ; проверить совпадение LD A,(HL) CP D JR NZ,.error @@ -533,12 +533,12 @@ POST_2_ADRESS_BUS: LD C,D LD B,11011111b LD IX,.TSAB_3 - JR OUT_C_BYTE ; вывести старший байт с запятой + JR OUT_C_BYTE ; вывести старший байт с запятой .TSAB_3: LD C,E LD B,#FF LD IX,.TSAB_4 - JR OUT_C_BYTE ; вывести младший без запятой + JR OUT_C_BYTE ; вывести младший без запятой ; ===== OUT BYTE PROGRAM ======= @@ -604,13 +604,13 @@ OUT_C_BYTE: ; ************************************************ POST_2_OK: - LD A,(TABLE_X.v2) ;rdlow-ok - OUT (Z84.PIO.Port_A.Data),A ; вывести "2" + LD A,(TABLE_X.v2) ;rdlow-ok + OUT (Z84.PIO.Port_A.Data),A ; вывести "2" ; ===== INIT DCP ======== POST_3_INIT_DCP: - LD HL,POST_3_OK ; INIT PORTS - JP DCP_INIT ; процедура инициализации с возвратом в (HL) + LD HL,POST_3_OK ; INIT PORTS + JP DCP_INIT ; процедура инициализации с возвратом в (HL) ; ошибок нет ; *********************************** @@ -618,12 +618,12 @@ POST_3_INIT_DCP: ; *********************************** POST_3_OK: - LD A,(TABLE_X.v3) ; вывести "3" ;rdlow-ok + LD A,(TABLE_X.v3) ; вывести "3" ;rdlow-ok OUT (Z84.PIO.Port_A.Data),A ; ===== TEST RAM PAGES == IN A,(SLOT3) - EX AF,AF' ; запомнить + EX AF,AF' ; запомнить POST_4_PAGES: LD B,0 .loop: LD A,#FF @@ -634,11 +634,11 @@ POST_4_PAGES: LD I,A IN A,(SLOT3) CP B - JR NZ,.error ; если ошибка переключения Port-а + JR NZ,.error ; если ошибка переключения Port-а DJNZ .loop EX AF,AF' - OUT (SLOT3),A ; восстановить + OUT (SLOT3),A ; восстановить JR POST_4_OK ; *********************************** @@ -654,15 +654,15 @@ POST_4_PAGES: ; *********************************** POST_4_OK: - LD A,(TABLE_X.v4) ;rdlow-ok - OUT (Z84.PIO.Port_A.Data),A ; высветить "4" + LD A,(TABLE_X.v4) ;rdlow-ok + OUT (Z84.PIO.Port_A.Data),A ; высветить "4" ;= проверка чистоты шины данных Z84C15 = POST_5_DATA_BUS: LD B,0 .loop: IN A,(0) CP #FF -; JR NZ,.error ;!!!!! посмотреть +; JR NZ,.error ;!!!!! посмотреть DJNZ .loop JR POST_5_OK @@ -690,8 +690,8 @@ POST_5_DATA_BUS: ; ********************************** POST_5_OK: - LD A,(TABLE_X.v5) ;rdlow-ok - OUT (Z84.PIO.Port_A.Data),A ; вывести "5" + LD A,(TABLE_X.v5) ;rdlow-ok + OUT (Z84.PIO.Port_A.Data),A ; вывести "5" ; ********************************** ; POST завершен @@ -701,7 +701,7 @@ POST_5_OK: MODULE SET_CONFIG_ID IN A,(SLOT3) - EX AF,AF' ; SAVE PAGE3 + EX AF,AF' ; SAVE PAGE3 ;NO_SUMX_EQ: @@ -712,7 +712,7 @@ POST_5_OK: ; Don't use IY before this point if it`s normal booting!!! LD IX,0 XOR A - ADD IX,SP ; восстановить значение переданное загрузчиком конфы (если старт после ресета) + ADD IX,SP ; восстановить значение переданное загрузчиком конфы (если старт после ресета) ; В этом месте у нас IX:IY из Loader.asm ; Дотащили до сюда метку от лоадера, пока не используется ;[x] 31/12/2023 подстраховка от недоутечки памяти @@ -740,22 +740,22 @@ POST_5_OK: ; LD L,A ; LD A,YH ; LD H,A - ; LD BC,#0107 ; !!!!! сравнить с 0107h вынести референсом тут и в loader.asm - ; AND A ; если равно - прошла перезагрузка + ; LD BC,#0107 ; !!!!! сравнить с 0107h вынести референсом тут и в loader.asm + ; AND A ; если равно - прошла перезагрузка ; SBC HL,BC - ;JR Z,set_config ;!TODO активация метки IX:IY из лоадера + ;JR Z,set_config ;!TODO активация метки IX:IY из лоадера ;LD IX,ACEX.Config_ID.Sp97_2 LD HL,ACEX.Config_ID.Sp2000 set_config: - LD (SYS_PAGE.CONFIG_BYTE),HL ; сохранить номер прошивки - ;LD (SYS_PAGE.CONFIG_BYTE),IX ; сохранить номер прошивки - ;LD HL,(SYS_PAGE.CONFIG_BYTE) ; взять номер прошивки в HL + LD (SYS_PAGE.CONFIG_BYTE),HL ; сохранить номер прошивки + ;LD (SYS_PAGE.CONFIG_BYTE),IX ; сохранить номер прошивки + ;LD HL,(SYS_PAGE.CONFIG_BYTE) ; взять номер прошивки в HL ; LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON LD (SYS_PAGE.CONFIG_DE),A EX AF,AF' - OUT (SLOT3),A ; Restore SLOT3 + OUT (SLOT3),A ; Restore SLOT3 ENDMODULE ;********************************* @@ -774,14 +774,14 @@ set_config: ;********************************* ; Don't use stack (SP) before this point if it`s normal booting!!! - LD SP,#BFFE ; Начало использования стека!!! - PUSH HL ; сохранить номер прошивки + LD SP,#BFFE ; Начало использования стека!!! + PUSH HL ; сохранить номер прошивки - CALL PORTS_INIT ; инициализировать порты + CALL PORTS_INIT ; инициализировать порты XOR A OUT (BorderColor),A - CALL EMM.CheckColdInit ; инициализация памяти - POP HL ; конфигурация + CALL EMM.CheckColdInit ; инициализация памяти + POP HL ; конфигурация JR Reset_Handler.start ; ************************************* ; Считаем, что вход в SETUP всегда !!! @@ -807,7 +807,7 @@ Check_EE_Port: LD B,0 ;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23 ;LD C,BIOS.SET_PORTS - ;CALL @ToBIOS_3D13 ; переустановить внутр. порт #EE + ;CALL @ToBIOS_3D13 ; переустановить внутр. порт #EE CALL SET_PORTS ; LD A,B diff --git a/src/bios/exp/FUNC_5x.asm b/src/bios/exp/FUNC_5x.asm index 679eb90..a58032b 100644 --- a/src/bios/exp/FUNC_5x.asm +++ b/src/bios/exp/FUNC_5x.asm @@ -23,7 +23,7 @@ DRV_VERSION: AND A RET -DRV_LIST: ; ????? что за функция и куда указывает IX +DRV_LIST: IN A,(SLOT3) PUSH AF PUSH IY diff --git a/src/bios/exp/FUNC_LOW_PRINT.ASM b/src/bios/exp/FUNC_LOW_PRINT.ASM index c664b99..8b66404 100644 --- a/src/bios/exp/FUNC_LOW_PRINT.ASM +++ b/src/bios/exp/FUNC_LOW_PRINT.ASM @@ -856,7 +856,7 @@ LP_SC_TAB: ; DW LP_SET_MNU .SIZE EQU $-LP_SC_TAB -;LP_SET_MNU: ; ????? +;LP_SET_MNU: ; ????? ; SCF ; RET ; LD IX,LP_SCR_MNU diff --git a/src/bios/loader/loader.asm b/src/bios/loader/loader.asm index 20f6864..21158c3 100644 --- a/src/bios/loader/loader.asm +++ b/src/bios/loader/loader.asm @@ -31,7 +31,7 @@ ;************************************** .LOOP_S1: - LD HL,#FEF0 ; !HARDCODE + LD HL,#FEF0 ; !HARDCODE LD DE,.STRING .LOOP_S: LD A,(DE) @@ -39,17 +39,17 @@ JR NZ,.NO_CNF_RAM INC E INC L - JR NZ,.LOOP_S ; !!!!! привязка к адресу в HL + JR NZ,.LOOP_S ; !!!!! привязка к адресу в HL ; !TODO убрать вейты для кэша? LD BC,#FF*256 + Z84.SYS.Control - LD A,Z84.REG.CS_Boundary ; !HARDCODE - OUT (C),A ; 0 register - waits + LD A,Z84.REG.CS_Boundary + OUT (C),A ; 0 register - waits INC C LD A,#F0 - OUT (C),A ; boundaries FFFF..1000 - CS1 -; 0FFF..0000 - CS0 - LD HL,#1000 ; !!!!! Load bitstream from Fast-RAM + OUT (C),A ; boundaries FFFF..1000 - CS1 +; ; 0FFF..0000 - CS0 + LD HL,#1000 ; !!!!! Load bitstream from Fast-RAM JR .NEW_SHM @@ -59,11 +59,11 @@ ;************************************** .NO_CNF_RAM: - LD HL,#0100 ; !!!!! Load bitstream from ROM + LD HL,#0100 ; !!!!! Load bitstream from ROM .NEW_SHM: ;--------------[conf check]------------- - LD A,H ; сохраняем старший адрес начала конфы, -; начало конфы должно быть с младшим адресом = 0 + LD A,H ; сохраняем старший адрес начала конфы, +; начало конфы должно быть с младшим адресом = 0 EXX LD L,0 LD H,A diff --git a/src/bios/logo/use/New_Year.inc b/src/bios/logo/use/New_Year.inc index a16e2e5..5489409 100644 --- a/src/bios/logo/use/New_Year.inc +++ b/src/bios/logo/use/New_Year.inc @@ -6,7 +6,7 @@ print() ENDLUA - BYTE 2 ; количество спрайтов + BYTE 2 ; количество спрайтов EasterTable 48, 42, 13, 2, sprite1 EasterTable 37, 6, 69, 26, sprite2 sprite1: INCBIN './src/bios/logo/use/NY_Kokoshnik_DAT.bin' diff --git a/src/bios/rom/SETUP/MAIN.asm b/src/bios/rom/SETUP/MAIN.asm index fb0d5cd..a9aa3d7 100644 --- a/src/bios/rom/SETUP/MAIN.asm +++ b/src/bios/rom/SETUP/MAIN.asm @@ -524,7 +524,7 @@ START: CALL RESCREEN ;R06 - LD BC,CMOS_CELL.BootUpParams.Mask.QuickStart ;#010E + LD BC,CMOS_CELL.BootUpParams.Mask.QuickStartROM ;#010E CALL G_VALUE POP BC INC B diff --git a/src/bios/rom/SETUP/SETTINGS.asm b/src/bios/rom/SETUP/SETTINGS.asm index 9a1f26b..78b253e 100644 --- a/src/bios/rom/SETUP/SETTINGS.asm +++ b/src/bios/rom/SETUP/SETTINGS.asm @@ -256,8 +256,7 @@ CCHANGE: LD B,A LD A,CMOS_CELL.ScreenSET CALL WRITCMS -CSET: - LD H,0 +CSET: LD H,0 LD DE,STYLES ADD HL,HL ADD HL,HL @@ -268,7 +267,8 @@ CSET: LDI LDI CALL FSCREEN -REFRESH: + ; + ;REFRESH: LD BC,SettingsItemsTabsAddrs.max*256 LD A,(ITEM) PUSH AF @@ -1093,76 +1093,4 @@ CMOSARE: DB %0000'0000 ;X3F - CHECKSUM BLOCK #100 - low $ ; добивка CMOSARE до размера в 256 байтов ;DONT MOVE !!! ADDRESS - - -; !TODO всё правильно? -;REGISTER #0E -; %1000'0000 - MEMORY TEST -; %0100'0000 - SAVE RAM DISKS -; %0010'0000 - UPDATE BIOS -; %0001'1000 - START DELAY -; %0000'0100 - LANGUAGE -; %0000'0010 - NOT USED -; %0000'0001 - QUICK START -;REGISTER #0F -; %1000'0000 - TYPEMATIC ON/OFF -; %0110'0000 - TYPEMATIC DELAY 00-250, 01-500, 10-750, 11-1000 -; %0001'1111 - TYPEMATIC RATE -; 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30 -;REGISTER #10 -; %0000'0111 - SYSTEM DISK -; %0111'0000 - ALT SYSTEM DISK -;REGISTER #11 -; %0000'0011 - FDD FIRST 720 / 1.44 / NONE -; %0000'1100 - FDD SECOND -; %0011'0000 - IDE Primary MASTER AUTO / SETUP / DISABLED -; %1100'0000 - IDE Primary SLAVE -----//------ -;REGISTER #12 - CYLINDERS (MASTER) -;REGISTER #14 - HEADS (MASTER) -;REGISTER #15 - SECTORS (MASTER) -;REGISTER #16 - CYLINDERS (SLAVE) -;REGISTER #18 - HEADS (SLAVE) -;REGISTER #19 - SECTORS (SLAVE) -;REGISTER #1A -; %0000'1111 - COLOR STYLE -; %0011'0000 - Frame Int (Default/Pentagon/Scorpion/Original) -; %1100'0000 - Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz) -;REGISTER #1B - HARDWARE CONFIGURATION -; %0000'0001 - TURBO MODE (D0..D3 - 6 OR 7) -; %0000'0010 - TURBO EXCHANGE ON/OFF - 1 -; %0000'0100 - PORT EXCHANGE ON/OFF - 1 -; %0001'1000 - COMPUTER -; 0-SPRINTER -; 1-SPECTRUM 256 -; 2-PENTAGON 128 -; 3-OTHER -; %1110'0000 - RESERVED -;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 -; %0000'0010 - Reboot message -; %0000'0001 - HDD Write protect -;REGISTER #1E -; %0000'0011 - TR DOS A: Default / FDD / HDD / RMD -; %0000'1100 - TR DOS B: Default / FDD / HDD / RMD -; %0011'0000 - TR DOS C: Default / FDD / HDD / RMD -; %1100'0000 - TR DOS D: Default / FDD / HDD / RMD -;REGISTER #1F ;R06 -; %1111'0000 - X-Screen position -; %0000'1111 - Y-Screen position -;REGISTER #20 -; %0011'0000 - IDE Secondary MASTER AUTO / SETUP / DISABLED -; %1100'0000 - IDE Secondary SLAVE -----//------ -; . -; . -;REGISTER #37 - CYLINDERS (MASTER) -;REGISTER #39 - HEADS (MASTER) -;REGISTER #3A - SECTORS (MASTER) -;REGISTER #3B - CYLINDERS (SLAVE) -;REGISTER #3D - HEADS (SLAVE) -;REGISTER #3E - SECTORS (SLAVE) \ No newline at end of file +; \ No newline at end of file diff --git a/src/bios/rom/SETUP/VIDEO_IO.asm b/src/bios/rom/SETUP/VIDEO_IO.asm index 9de0de8..522133d 100644 --- a/src/bios/rom/SETUP/VIDEO_IO.asm +++ b/src/bios/rom/SETUP/VIDEO_IO.asm @@ -291,7 +291,7 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256 LD HL,MAIN_LOGO.Raster ; начало картинки в банке ПЗУ ; CALL DECODE CALL LOGO_TO_SCREEN - ; + ; ;--------------[Пасхалка]--------------[] IF Pashalki _PASHALKI_CODE @@ -393,14 +393,14 @@ LOGO_TO_SCREEN: LD A,#50 OUT (SLOT1),A - LD A,72 ; !HARDCODE координата картинки по Y + высота картинки + LD A,72 ; !HARDCODE координата картинки по Y + высота картинки .loop: DEC A OUT (PORT_Y),A - LD DE,#4040 ; !HARDCODE координата картинки по Х - LD BC,128 ; !HARDCODE длина горизонтальной линии картинки + LD DE,#4040 ; !HARDCODE координата картинки по Х + LD BC,128 ; !HARDCODE длина горизонтальной линии картинки LDIR - OR A ; !!!!! or a + OR A JP NZ,.loop POP BC @@ -412,7 +412,7 @@ LOGO_TO_SCREEN: RET ; IF !ROM_LOGO_TEST - ; LOGPAL: ; palitre for logotype + ; LOGPAL: ; palitre for logotype ; IF TEST_Build ; INCBIN './test/test2_pal.bin' ; ELSE diff --git a/src/bios/rom/SETUP/messages.z80 b/src/bios/rom/SETUP/messages.z80 index 9f058b8..5f208d0 100644 --- a/src/bios/rom/SETUP/messages.z80 +++ b/src/bios/rom/SETUP/messages.z80 @@ -30,35 +30,39 @@ SettingsTabsOrder = { [1]={ "Lang", -- 1 - "MemTest", -- 2 - "SaveRAMdrvs", -- 3 - "UpdBios", -- 4 - "StartDelay", -- 5 - "TypRate", -- 6 - "TypDelay", -- 7 - "RebootMsg", -- 8 - "SysDsk", -- 9 - "AltSysDsk", -- 10 - "FddFirst", -- 11 - "FddSecond", -- 12 - "PriIdeMA", -- 13 - "PriIdeSl", -- 14 - "SecIdeMA", -- 15 - "SecIdeSl", -- 16 - -- 17 + "SaveRAMdrvs", -- 2 + "StartDelay", -- 3 + "RebootMsg", -- 4 + "SysDsk", -- 5 + "AltSysDsk", -- 6 + "FddFirst", -- 7 + "FddSecond", -- 8 + "PriIdeMA", -- 9 + "PriIdeSl", -- 10 + "SecIdeMA", -- 11 + "SecIdeSl", -- 12 + "ScreenY", -- 13 + "ScreenX", -- 14 + "FrameInt", -- 15 + "VSync", -- 16 + "QuickStartROM", -- 17 + "MemTest", -- DEFINES.INC --> UnusedSettingsFeatures + "UpdBios", -- DEFINES.INC --> UnusedSettingsFeatures + "TypRate", -- DEFINES.INC --> UnusedSettingsFeatures + "TypDelay", -- DEFINES.INC --> UnusedSettingsFeatures }, [2]={ - "ScreenY", -- 1 - "ScreenX", -- 2 - "FrameInt", -- 3 - "VSync", -- 4 - "QuickStartROM", -- 5 - "TrDosA", -- 6 - "TrDosB", -- 7 - "TrDosC", -- 8 - "TrDosD", -- 9 - "SetTime", -- 10 DEFINES.INC --> NEW_FEATURE - "HddWrPr", -- 11 DEFINES.INC --> HDDwriteProtect + "TrDosA", -- 1 + "TrDosB", -- 2 + "TrDosC", -- 3 + "TrDosD", -- 4 + "SetTime", -- 5 DEFINES.INC --> NEW_FEATURE + "HddWrPr", -- 6 DEFINES.INC --> HDDwriteProtect + -- 7 + -- 8 + -- 9 + -- 10 + -- 11 -- 12 -- 13 -- 14 @@ -69,6 +73,12 @@ } DeleteValueByDEFINE(SettingsTabsOrder,"NEW_FEATURE","SetTime") DeleteValueByDEFINE(SettingsTabsOrder,"HDDwriteProtect","HddWrPr") + DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","MemTest") + DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","UpdBios") + DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypRate") + DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","TypDelay") + -- DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","") + -- DeleteValueByDEFINE(SettingsTabsOrder,"UnusedSettingsFeatures","") ENDLUA ; @@ -148,91 +158,100 @@ SettingsItemsTabs: _mSETitemParams Lang DW OnChangeAction.setLang ; действие при изменении - IF NEW_FEATURE : DB paramLine : ENDIF ; тип параметра (строка со значением или каталог) + IF NEW_FEATURE : DB paramLine : ENDIF ; тип параметра (строка со значением или каталог) DB columnNum,lineNum ; столбец, строка DB paramName ; Название параметра - DB CMOS_CELL.BootUpParams,%0000'0100,%0000'0100 ; CMOS, MASK + DW CMOS_CELL.BootUpParams.Mask.Language : DB %0000'0100 ; CMOS : MASK DB msgStrings.valLangEng ; 1-й вариант параметра DB msgStrings.valLangRus ; 2-й вариант параметра - _mSETitemParams MemTest - DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF - DB columnNum,lineNum - DB paramName - DB CMOS_CELL.BootUpParams,%1000'0000,%1000'0000 - DB msgStrings.valDisabled - DB msgStrings.valEnabled + + IF UnusedSettingsFeatures ; !TODO + _mSETitemParams MemTest + DW OnChangeAction.nothing + IF NEW_FEATURE : DB paramLine : ENDIF + DB columnNum,lineNum + DB paramName + DW CMOS_CELL.BootUpParams.Mask.MemTest : DB %1000'0000 + DB msgStrings.valDisabled + DB msgStrings.valEnabled + ENDIF _mSETitemParams SaveRAMdrvs DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.BootUpParams,%0100'0000,%0100'0000 + DW CMOS_CELL.BootUpParams.Mask.SaveRAMdisks : DB %0100'0000 DB msgStrings.valDisabled DB msgStrings.valEnabled - _mSETitemParams UpdBios - DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF - DB columnNum,lineNum - DB paramName - DB CMOS_CELL.BootUpParams,%0010'0000,%0010'0000 - DB msgStrings.valDisabled - DB msgStrings.valEnabled + IF UnusedSettingsFeatures ; !TODO + _mSETitemParams UpdBios + DW OnChangeAction.nothing + IF NEW_FEATURE : DB paramLine : ENDIF + DB columnNum,lineNum + DB paramName + DW CMOS_CELL.BootUpParams.Mask.UpdBios : DB %0010'0000 + DB msgStrings.valDisabled + DB msgStrings.valEnabled + ENDIF _mSETitemParams StartDelay DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.BootUpParams,%0001'1000,%0001'0000 + DW CMOS_CELL.BootUpParams.Mask.StartDelay : DB %0001'0000 DB msgStrings.valDisabled DB msgStrings.valNormal DB msgStrings.valEnabled - _mSETitemParams TypRate - DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF - DB columnNum,lineNum - DB paramName - DB CMOS_CELL.Typematic,%0000'0111,%0000'0111 - DB msgStrings.val_6 - DB msgStrings.val_8 - DB msgStrings.val_10 - DB msgStrings.val_12 - DB msgStrings.val_15 - DB msgStrings.val_20 - DB msgStrings.val_24 - DB msgStrings.val_30 + IF UnusedSettingsFeatures ; !TODO + _mSETitemParams TypRate + DW OnChangeAction.nothing + IF NEW_FEATURE : DB paramLine : ENDIF + DB columnNum,lineNum + DB paramName + DW CMOS_CELL.Typematic.Mask.Rate : DB %0000'0111 + DB msgStrings.val_6 + DB msgStrings.val_8 + DB msgStrings.val_10 + DB msgStrings.val_12 + DB msgStrings.val_15 + DB msgStrings.val_20 + DB msgStrings.val_24 + DB msgStrings.val_30 + ENDIF - _mSETitemParams TypDelay - DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF - DB columnNum,lineNum - DB paramName - DB CMOS_CELL.Typematic,%0110'0000,%0110'0000 - DB msgStrings.val_250 - DB msgStrings.val_500 - DB msgStrings.val_750 - DB msgStrings.val_1000 + IF UnusedSettingsFeatures ; !TODO + _mSETitemParams TypDelay + DW OnChangeAction.nothing + IF NEW_FEATURE : DB paramLine : ENDIF + DB columnNum,lineNum + DB paramName + DW CMOS_CELL.Typematic.Mask.Delay : DB %0110'0000 + DB msgStrings.val_250 + DB msgStrings.val_500 + DB msgStrings.val_750 + DB msgStrings.val_1000 + ENDIF _mSETitemParams RebootMsg DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.Options,%0000'0010,%0000'0010 + DW CMOS_CELL.Options.Mask.RebootMSG : DB %0000'0010 DB msgStrings.valDisabled DB msgStrings.valEnabled _mSETitemParams SysDsk DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.BootDrives,%0000'0111,%0000'0111 ; !!!!! + DW CMOS_CELL.BootDrives.Mask.SysDisk : DB %0000'0111 DB msgStrings.val1stFDD DB msgStrings.val2ndFDD DB msgStrings.val1stIDE @@ -244,10 +263,10 @@ SettingsItemsTabs: _mSETitemParams AltSysDsk DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.BootDrives,%0111'0000,%0111'0000 + DW CMOS_CELL.BootDrives.Mask.AltSysDisk : DB %0111'0000 DB msgStrings.val1stFDD DB msgStrings.val2ndFDD DB msgStrings.val1stIDE @@ -259,32 +278,32 @@ SettingsItemsTabs: _mSETitemParams FddFirst DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.DrivesSetup_1,%0000'0011,%0000'0000 + DW CMOS_CELL.DrivesSetup_1.Mask.FirstFDD : DB %0000'0000 DB msgStrings.valAuto -; DB msgStrings.val720 -; DB msgStrings.val1440 -; DB msgStrings.valDash6 + ; DB msgStrings.val720 + ; DB msgStrings.val1440 + ; DB msgStrings.valDash6 _mSETitemParams FddSecond DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.DrivesSetup_1,%0000'1100,%0000'0000 + DW CMOS_CELL.DrivesSetup_1.Mask.SecondFDD : DB %0000'0000 DB msgStrings.valAuto -; DB msgStrings.val720 -; DB msgStrings.val1440 -; DB msgStrings.valDash6 + ; DB msgStrings.val720 + ; DB msgStrings.val1440 + ; DB msgStrings.valDash6 _mSETitemParams PriIdeMA DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.DrivesSetup_1,%0011'0000,%0011'0000 + DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEmaster : DB %0011'0000 DB msgStrings.valAuto DB msgStrings.valSetup DB msgStrings.valCdRom @@ -292,10 +311,10 @@ SettingsItemsTabs: _mSETitemParams PriIdeSl DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.DrivesSetup_1,%1100'0000,%1100'0000 + DW CMOS_CELL.DrivesSetup_1.Mask.PriIDEslave : DB %1100'0000 DB msgStrings.valAuto DB msgStrings.valSetup DB msgStrings.valCdRom @@ -303,10 +322,10 @@ SettingsItemsTabs: _mSETitemParams SecIdeMA DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.DrivesSetup_2,%0011'0000,%0011'0000 + DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEmaster : DB %0011'0000 DB msgStrings.valAuto DB msgStrings.valSetup DB msgStrings.valCdRom @@ -314,10 +333,10 @@ SettingsItemsTabs: _mSETitemParams SecIdeSl DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.DrivesSetup_2,%1100'0000,%1100'0000 + DW CMOS_CELL.DrivesSetup_2.Mask.SecIDEslave : DB %1100'0000 DB msgStrings.valAuto DB msgStrings.valSetup DB msgStrings.valCdRom @@ -326,20 +345,20 @@ SettingsItemsTabs: IF HDDwriteProtect _mSETitemParams HddWrPr DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.Options,%0000'0001,%0000'0001 + DW CMOS_CELL.Options.Mask.HDDwriteProtect : DB %0000'0001 DB msgStrings.valDisabled DB msgStrings.valEnabled ENDIF _mSETitemParams ScreenY DW OnChangeAction.setXYpos - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.ScreenPosition,%1111'0000,%1110'0000 + DW CMOS_CELL.ScreenPosition.Mask.X : DB %1110'0000 DB msgStrings.valMinus7 DB msgStrings.valMinus6 DB msgStrings.valMinus5 @@ -358,10 +377,10 @@ SettingsItemsTabs: _mSETitemParams ScreenX DW OnChangeAction.setXYpos - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.ScreenPosition,%0000'1111,%0000'1110 + DW CMOS_CELL.ScreenPosition.Mask.Y : DB %0000'1110 DB msgStrings.valPlus7 DB msgStrings.valPlus6 DB msgStrings.valPlus5 @@ -380,10 +399,10 @@ SettingsItemsTabs: _mSETitemParams FrameInt DW OnChangeAction.setInt - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.ScreenSET,%0011'0000,%0011'0000 + DW CMOS_CELL.ScreenSET.Mask.Int : DB %0011'0000 DB msgStrings.valDash8 DB msgStrings.valScorpion DB msgStrings.valPentagon @@ -391,72 +410,72 @@ SettingsItemsTabs: _mSETitemParams VSync DW OnChangeAction.setVsinc - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.ScreenSET,%1100'0000,%1000'0000 + DW CMOS_CELL.ScreenSET.Mask.Sinc : DB %1000'0000 DB msgStrings.valDash8 DB msgStrings.val312_50 DB msgStrings.val320_49 _mSETitemParams QuickStartROM DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.BootUpParams,%0000'0001,%0000'0001 + DW CMOS_CELL.BootUpParams.Mask.QuickStartROM : DB %0000'0001 DB msgStrings.parQuickStartSP DB msgStrings.parQuickStartZX _mSETitemParams TrDosA DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.TRDOSmount,%0000'0011,%0000'0010 + DW CMOS_CELL.TRDOSmount.Mask.A : DB %0000'0010 DB msgStrings.valDefault DB msgStrings.valFDD DB msgStrings.valHDD _mSETitemParams TrDosB DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.TRDOSmount,%0000'1100,%0000'1000 + DW CMOS_CELL.TRDOSmount.Mask.B : DB %0000'1000 DB msgStrings.valDefault DB msgStrings.valFDD DB msgStrings.valHDD _mSETitemParams TrDosC DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.TRDOSmount,%0011'0000,%0010'0000 + DW CMOS_CELL.TRDOSmount.Mask.C : DB %0010'0000 DB msgStrings.valDefault DB msgStrings.valFDD DB msgStrings.valHDD _mSETitemParams TrDosD DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF + IF NEW_FEATURE : DB paramLine : ENDIF DB columnNum,lineNum DB paramName - DB CMOS_CELL.TRDOSmount,%1100'0000,%1000'0000 + DW CMOS_CELL.TRDOSmount.Mask.D : DB %1000'0000 DB msgStrings.valDefault DB msgStrings.valFDD DB msgStrings.valHDD - IF NEW_FEATURE - _mSETitemParams SetTime - DW OnChangeAction.SetTime - DB folderLine - DB columnNum,lineNum - DB paramName - DB #00,%0000'0000,%0000'0000 - DB msgStrings.valFolder - ENDIF + IF NEW_FEATURE + _mSETitemParams SetTime + DW OnChangeAction.SetTime + DB folderLine + DB columnNum,lineNum + DB paramName + DB #00,%0000'0000,%0000'0000 + DB msgStrings.valFolder + ENDIF ;--------------------[Items Addresses table]--------------------[] SettingsItemsTabsAddrs: _mCreateSettingsItemsTabsAddrs @@ -597,7 +616,7 @@ msgStrings: IF HDDwriteProtect _mSetStr parHddWrPr, tmp_Counter : DZ 'HDD write protect : ' ENDIF - _mSetStr parScreenY, tmp_Counter : DZ 'Y-screen position : ' + _mSetStr parScreenY, tmp_Counter : DZ 'Y-screen position : ' _mSetStr valMinus7, tmp_Counter : DZ '-7' _mSetStr valMinus6, tmp_Counter : DZ '-6' _mSetStr valMinus5, tmp_Counter : DZ '-5' @@ -613,22 +632,22 @@ msgStrings: _mSetStr valPlus5, tmp_Counter : DZ '+5' _mSetStr valPlus6, tmp_Counter : DZ '+6' _mSetStr valPlus7, tmp_Counter : DZ '+7' - _mSetStr parScreenX, tmp_Counter : DZ 'X-screen position : ' - _mSetStr parFrameInt, tmp_Counter : DZ 'Frame interrupt : ' + _mSetStr parScreenX, tmp_Counter : DZ 'X-screen position : ' + _mSetStr parFrameInt, tmp_Counter : DZ 'Frame interrupt : ' _mSetStr valDash8, tmp_Counter : DZ '--------' _mSetStr valScorpion, tmp_Counter : DZ 'Scorpion' _mSetStr valPentagon, tmp_Counter : DZ 'Pentagon' _mSetStr valSpectrum, tmp_Counter : DZ 'Spectrum' - _mSetStr parVSync, tmp_Counter : DZ 'V-synchronization : ' + _mSetStr parVSync, tmp_Counter : DZ 'V-synchronization : ' _mSetStr val312_50, tmp_Counter : DZ '312/50Hz' _mSetStr val320_49, tmp_Counter : DZ '320/49Hz' - _mSetStr parQuickStartROM, tmp_Counter : DZ 'Run in mode : ' + _mSetStr parQuickStartROM, tmp_Counter : DZ 'Run in mode : ' _mSetStr parQuickStartZX, tmp_Counter : DZ 'Spectrum' _mSetStr parQuickStartSP, tmp_Counter : DZ 'Sprinter' - _mSetStr parTrDosA, tmp_Counter : DZ 'TR DOS A:> : ' _mSetStr valDefault, tmp_Counter : DZ 'Default' - _mSetStr valFDD, tmp_Counter : DZ 'FDD ' ; ????? подумать какие варианты возможны - _mSetStr valHDD, tmp_Counter : DZ 'HDD ' ; ????? подумать какие варианты возможны + _mSetStr valFDD, tmp_Counter : DZ 'FDD ' ; ????? подумать какие варианты возможны + _mSetStr valHDD, tmp_Counter : DZ 'HDD ' ; ????? подумать какие варианты возможны + _mSetStr parTrDosA, tmp_Counter : DZ 'TR DOS A:> : ' _mSetStr parTrDosB, tmp_Counter : DZ 'TR DOS B:> : ' _mSetStr parTrDosC, tmp_Counter : DZ 'TR DOS C:> : ' _mSetStr parTrDosD, tmp_Counter : DZ 'TR DOS D:> : ' @@ -750,7 +769,7 @@ msgRusStrings: IF HDDwriteProtect _mSetStrRus parHddWrPr, tmp_Counter : DZ 'Защита записи на HDD : ' ENDIF - _mSetStrRus parScreenY, tmp_Counter : DZ 'Сдвиг экрана по Y : ' + _mSetStrRus parScreenY, tmp_Counter : DZ 'Сдвиг экрана по Y : ' _mSetStrRus valMinus7, tmp_Counter : DZ '-7' _mSetStrRus valMinus6, tmp_Counter : DZ '-6' _mSetStrRus valMinus5, tmp_Counter : DZ '-5' @@ -766,22 +785,22 @@ msgRusStrings: _mSetStrRus valPlus5, tmp_Counter : DZ '+5' _mSetStrRus valPlus6, tmp_Counter : DZ '+6' _mSetStrRus valPlus7, tmp_Counter : DZ '+7' - _mSetStrRus parScreenX, tmp_Counter : DZ 'Сдвиг экрана по X : ' - _mSetStrRus parFrameInt, tmp_Counter : DZ 'Кадровое прерывание : ' + _mSetStrRus parScreenX, tmp_Counter : DZ 'Сдвиг экрана по X : ' + _mSetStrRus parFrameInt, tmp_Counter : DZ 'Кадровое прерывание : ' _mSetStrRus valDash8, tmp_Counter : DZ '--------' _mSetStrRus valScorpion, tmp_Counter : DZ 'Скорпион' _mSetStrRus valPentagon, tmp_Counter : DZ 'Пентагон' _mSetStrRus valSpectrum, tmp_Counter : DZ 'Спектрум' - _mSetStrRus parVSync, tmp_Counter : DZ 'Верт. синхронизация : ' + _mSetStrRus parVSync, tmp_Counter : DZ 'Верт. синхронизация : ' _mSetStrRus val312_50, tmp_Counter : DZ '312/50Гц' _mSetStrRus val320_49, tmp_Counter : DZ '320/49Гц' - _mSetStrRus parQuickStartROM, tmp_Counter : DZ 'Запуск в режиме : ' + _mSetStrRus parQuickStartROM, tmp_Counter : DZ 'Запуск в режиме : ' _mSetStrRus parQuickStartZX, tmp_Counter : DZ 'Спектрум' _mSetStrRus parQuickStartSP, tmp_Counter : DZ 'Спринтер' - _mSetStrRus parTrDosA, tmp_Counter : DZ 'TR DOS A:> : ' _mSetStrRus valDefault, tmp_Counter : DZ 'По умолчанию' _mSetStrRus valFDD, tmp_Counter : DZ 'FDD ' _mSetStrRus valHDD, tmp_Counter : DZ 'HDD ' + _mSetStrRus parTrDosA, tmp_Counter : DZ 'TR DOS A:> : ' _mSetStrRus parTrDosB, tmp_Counter : DZ 'TR DOS B:> : ' _mSetStrRus parTrDosC, tmp_Counter : DZ 'TR DOS C:> : ' _mSetStrRus parTrDosD, tmp_Counter : DZ 'TR DOS D:> : ' diff --git a/src/bios/rom/_not_used/EasterSprites.asm b/src/bios/rom/_not_used/EasterSprites.asm index a1820fb..981249e 100644 --- a/src/bios/rom/_not_used/EasterSprites.asm +++ b/src/bios/rom/_not_used/EasterSprites.asm @@ -14,15 +14,15 @@ Sprites: inc ix .loop: push bc - LD A,(ix+str_EasterSprites.SpHeight) ; !!!!! координата картинки по Y + высота картинки + LD A,(ix+str_EasterSprites.SpHeight) ; !!!!! координата картинки по Y + высота картинки ld l,(ix+str_EasterSprites.SpAddress) ld h,(ix+str_EasterSprites.SpAddress+1) .putSprite: DEC A OUT (PORT_Y),A - LD E,(ix+str_EasterSprites.SpXCoord) ; !HARDCODE координата картинки по Х + LD E,(ix+str_EasterSprites.SpXCoord) ; !HARDCODE координата картинки по Х LD D,(ix+str_EasterSprites.SpXCoord+1) - LD C,(ix+str_EasterSprites.SpWidth) ; !HARDCODE длина горизонтальной линии картинки + LD C,(ix+str_EasterSprites.SpWidth) ; !HARDCODE длина горизонтальной линии картинки LD B,(ix+str_EasterSprites.SpWidth+1) LDIR CP (IX+str_EasterSprites.SpYCoord) diff --git a/src/bios/shared/DEFINES.INC b/src/bios/shared/DEFINES.INC index bc40c74..8064a10 100644 --- a/src/bios/shared/DEFINES.INC +++ b/src/bios/shared/DEFINES.INC @@ -1,5 +1,5 @@ ;=======================[All shared EQUs]=======================; -BETA_BUILD EQU 4 ; добавляет строку и сообщение о тестовой сборке на стартовом экране +BETA_BUILD EQU 5 ; добавляет строку и сообщение о тестовой сборке на стартовом экране ;======================[All shared defines]=====================; DEFINE PACKED_MAIN 0 ; паковать MAIN или влезает без этого? DEFINE SP2000_Loader_Flag #0107 ; @@ -21,4 +21,5 @@ BETA_BUILD EQU 4 ; DEFINE RECOVERYmountTYPE 1 ; 1 - быстрый немного захардкоженый вариант. 2 - более "правильный" DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY грузится в диск 15, 2 - ищется свободный рамдиск, если нет, то в 15-ый DEFINE FDD_NormalCount 0 ; !TODO + DEFINE UnusedSettingsFeatures 0 ; ;===============================================================; \ No newline at end of file