From d3467450ac7399e0df304e190643bbab24cfd2e4 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Tue, 11 Jul 2023 20:49:58 +1000 Subject: [PATCH] added "HDDwriteProtect" define --- src/bios/exp/EXTENDED/HDD_DRIVER_6.asm | 24 +- src/bios/rom/SETUP/messages.z80 | 360 +++++++++++++------------ src/bios/shared/DEFINES.INC | 38 +-- 3 files changed, 226 insertions(+), 196 deletions(-) diff --git a/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm b/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm index fe4cb94..1430d21 100644 --- a/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm +++ b/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm @@ -73,6 +73,10 @@ IDE3 EQU #C1D8 ; DB #FF ;SECTOR PER CYLINDER HIGH ;06 ; DB #FF ;RESERVED ;07 + +WRITE_OUTI_DUPs EQU 32 ; bytes + + HDD_5x.RESET: ; !FIXIT не ресетится? ;For non-ATAPI drives, the only method a driver has of resetting a drive ; after a major error is to do a "software reset" on the bus. @@ -448,13 +452,14 @@ WRS000: EX AF,AF' PUSH AF PUSH DE - PUSH BC - ;!FIXIT write protect - remove - LD D,#1D ;!!!!! CMOS глянуть + + IF HDDwriteProtect + PUSH BC + LD D,#1D ;!HARDCODE CMOS Write Protect CALL CMOS_RD POP BC AND 1 - JR Z,NOWP + JR Z,NO_WriteProtect POP HL POP AF EX AF,AF' @@ -462,8 +467,9 @@ WRS000: LD A,8 ;WRITE PROTECT SCF RET - ; -NOWP CALL PRESET + ENDIF +NO_WriteProtect: + CALL PRESET POP HL POP AF LD XL,0 @@ -486,9 +492,10 @@ WRS002: EXX OUT (SLOT3),A LD BC,IDE.Write.Data - LD D,#20 + ;LD D,#20 + LD D,512/WRITE_OUTI_DUPs WRS003: - DUP 16 + DUP WRITE_OUTI_DUPs OUTI EDUP DEC D @@ -615,7 +622,6 @@ PRESET: LD A,B RET ; HL:DE - SECTOR OFFSET - LBA_CHS: LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow) LD B,(IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh) diff --git a/src/bios/rom/SETUP/messages.z80 b/src/bios/rom/SETUP/messages.z80 index bdbf085..9831d58 100644 --- a/src/bios/rom/SETUP/messages.z80 +++ b/src/bios/rom/SETUP/messages.z80 @@ -8,7 +8,23 @@ ; DEFINE SPTeam_year '2022' ; DEFINE Disk_subsystem_ver_txt '3.05' ; DEFINE SetupVer '2.55' + LUA ALLPASS + function get_key_for_value(t, value) + for column=1,2 do + for line,name in pairs(t[column]) do + if name==value then return column,line end + end + end + return nil + end + function DeleteValueByDEFINE (t,zero_def,value) + if tonumber(sj.get_define(zero_def)) then + local delCol, delLine = get_key_for_value(t, value) + table.remove (t[delCol], delLine) + end + end + ENDLUA LUA PASS1 local date, month, year = Get_date_RU(sj.get_define("__DATE__")) @@ -21,38 +37,47 @@ ; LUA PASS1 SettingsTabsOrder = { - [1]={ - "Lang", - "MemTest", - "SaveRAMdrvs", - "UpdBios", - "StartDelay", - "TypRate", - "TypDelay", - "RebootMsg", - "SysDsk", - "AltSysDsk", - "FddFirst", - "FddSecond", - "PriIdeMA", - "PriIdeSl", - "SecIdeMA", - "SecIdeSl", - "HddWrPr", + [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 }, - [2]={ - "ScreenY", - "ScreenX", - "FrameInt", - "VSync", - "QuickStartROM", - "TrDosA", - "TrDosB", - "TrDosC", - "TrDosD", - --"SetTime", + [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 + -- 12 + -- 13 + -- 14 + -- 15 + -- 16 + -- 17 } } + DeleteValueByDEFINE(SettingsTabsOrder,"NEW_FEATURE","SetTime") + DeleteValueByDEFINE(SettingsTabsOrder,"HDDwriteProtect","HddWrPr") ENDLUA ; @@ -61,15 +86,6 @@ @.itemName? EQU $ DEFINE TmpDef itemName? LUA ALLPASS - function get_key_for_value(t, value) - for column=1,2 do - for line,name in pairs(t[column]) do - if name==value then return column,line end - end - end - return nil - end - local tmpName = sj.get_define("TmpDef") local column,line = get_key_for_value(SettingsTabsOrder, tmpName) if (column == nil or line == nil) then sj.error("Settings Tab not found",tmpName) end @@ -316,14 +332,16 @@ SettingsItemsTabs: DB msgStrings.valCdRom DB msgStrings.valDash6 - _mSETitemParams HddWrPr - DW OnChangeAction.nothing - IF NEW_FEATURE : DB paramLine : ENDIF - DB columnNum,lineNum - DB paramName - DB #1D,%0000'0001,%0000'0001 - DB msgStrings.valDisabled - DB msgStrings.valEnabled + IF HDDwriteProtect + _mSETitemParams HddWrPr + DW OnChangeAction.nothing + IF NEW_FEATURE : DB paramLine : ENDIF + DB columnNum,lineNum + DB paramName + DB #1D,%0000'0001,%0000'0001 + DB msgStrings.valDisabled + DB msgStrings.valEnabled + ENDIF _mSETitemParams ScreenY DW OnChangeAction.setXYpos @@ -495,132 +513,134 @@ SettingsItemsTabsAddrs: ; Не менять бездумно название метки msgStrings !!! Участвует в LUA макросе в этом же файле. tmp_Counter DEFL 0 msgStrings: - _mSetStr copyRightPeters, tmp_Counter : DZ 'Copyright (c) 2002 Peters Plus' - _mSetStr copyRightSPTeam, tmp_Counter : DZ 'Copyright (c) 2009-', SPTeam_year, ' Sprinter Team' - _mSetStr setupBiosVer, tmp_Counter : DZ 'Sprinter BIOS v', Disk_subsystem_ver_txt - _mSetStr setupCopyRight, tmp_Counter : DZ 'Copyright (c) 2002 Peters Plus, (c) 2009-', SPTeam_year, ' Sprinter Team' - _mSetStr setupUtilityVer, tmp_Counter : DZ 'SETUP Utility v', SetupVer - _mSetStr setupHelpStr1, tmp_Counter : DZ 'ESC : Quit F10 : Save & Exit Setup' - _mSetStr setupHelpStr2, tmp_Counter : DZ 'F2 : Save Values ',24,32,25,32,26,32,27,' : Select Item' ; коды стрелок вместе с пробелами: 24,32,25,32,26,32,27 - _mSetStr setupHelpStr3, tmp_Counter : DZ 'F5 : Old Values PU/PD/+/- : Modify' - _mSetStr setupHelpStr4, tmp_Counter : DZ 'F7 : Default Values F3 : Color ' - _mSetStr toSetupButton, tmp_Counter : DZ ' to enter SETUP' - _mSetStr forAltBootButton, tmp_Counter : DZ ' for Alternative boot' - _mSetStr cmosChecksumErr, tmp_Counter : DZ 'WARNING! CMOS CHECKSUM ERROR, DEFAULT VALUES SET!' - _mSetStr cmosDateTimeErr, tmp_Counter : DZ 'WARNING! CMOS DATE/TIME ERROR, DEFAULT VALUES SET!' - _mSetStr detectIdePrMA, tmp_Counter : DZ ' Detecting IDE Primary Master ... [Press F4 to skip]' - _mSetStr detectIdePrSL, tmp_Counter : DZ ' Detecting IDE Primary Slave ... [Press F4 to skip]' - _mSetStr detectIdeSecMA, tmp_Counter : DZ ' Detecting IDE Secondary Master ... [Press F4 to skip]' - _mSetStr detectIdeSecSL, tmp_Counter : DZ ' Detecting IDE Secondary Slave ... [Press F4 to skip]' - _mSetStr ideUnknown, tmp_Counter : DZ 'Unknown ' - _mSetStr ideNone, tmp_Counter : DZ 'None ' - _mSetStr ideSkiped, tmp_Counter : DZ 'Skipped ' - _mSetStr ideFail, tmp_Counter : DZ 'Fail ' ; !FIXIT strFail - _mSetStr spModel, tmp_Counter : DZ 'Model name: ' - _mSetStr spMemory, tmp_Counter : DZ 'Memory : ' - _mSetStr cmosFound, tmp_Counter : DZ 'CMOS : Found' - _mSetStr cmosNone, tmp_Counter : DZ 'CMOS : None' - _mSetStr memoryAvailable, tmp_Counter : DZ 'Available : ' -; _mSetStr unknownSTR1, tmp_Counter : DZ "7" -; _mSetStr unknownSTR2, tmp_Counter : DZ "8" - _mSetStr boardID, tmp_Counter : DZ 'Board ID : ' - _mSetStr bootFdd, tmp_Counter : DZ 'Start from Diskette... ' - _mSetStr bootHdd, tmp_Counter : DZ 'Start from Hard disk... ' - _mSetStr bootCd, tmp_Counter : DZ 'Start from CD-ROM... ' - _mSetStr bootRamDrv, tmp_Counter : DZ 'Start from RAM disk... ' - _mSetStr bootRecovery, tmp_Counter : DZ 'Starting recovery...' - _mSetStr bootAltDrv, tmp_Counter : DZ 'Alternative ' - _mSetStr bootFail, tmp_Counter : DZ 'fail' ; !FIXIT strFail - _mSetStr bootOk, tmp_Counter : DZ 'OK' - _mSetStr afterBootFail, tmp_Counter : DZ 'PRESS TO REBOOT, TO ENTER SETUP OR TO ZX-MODE . . .' + _mSetStr copyRightPeters, tmp_Counter : DZ 'Copyright (c) 2002 Peters Plus' + _mSetStr copyRightSPTeam, tmp_Counter : DZ 'Copyright (c) 2009-', SPTeam_year, ' Sprinter Team' + _mSetStr setupBiosVer, tmp_Counter : DZ 'Sprinter BIOS v', Disk_subsystem_ver_txt + _mSetStr setupCopyRight, tmp_Counter : DZ 'Copyright (c) 2002 Peters Plus, (c) 2009-', SPTeam_year, ' Sprinter Team' + _mSetStr setupUtilityVer, tmp_Counter : DZ 'SETUP Utility v', SetupVer + _mSetStr setupHelpStr1, tmp_Counter : DZ 'ESC : Quit F10 : Save & Exit Setup' + _mSetStr setupHelpStr2, tmp_Counter : DZ 'F2 : Save Values ',24,32,25,32,26,32,27,' : Select Item' ; коды стрелок вместе с пробелами: 24,32,25,32,26,32,27 + _mSetStr setupHelpStr3, tmp_Counter : DZ 'F5 : Old Values PU/PD/+/- : Modify' + _mSetStr setupHelpStr4, tmp_Counter : DZ 'F7 : Default Values F3 : Color ' + _mSetStr toSetupButton, tmp_Counter : DZ ' to enter SETUP' + _mSetStr forAltBootButton, tmp_Counter : DZ ' for Alternative boot' + _mSetStr cmosChecksumErr, tmp_Counter : DZ 'WARNING! CMOS CHECKSUM ERROR, DEFAULT VALUES SET!' + _mSetStr cmosDateTimeErr, tmp_Counter : DZ 'WARNING! CMOS DATE/TIME ERROR, DEFAULT VALUES SET!' + _mSetStr detectIdePrMA, tmp_Counter : DZ ' Detecting IDE Primary Master ... [Press F4 to skip]' + _mSetStr detectIdePrSL, tmp_Counter : DZ ' Detecting IDE Primary Slave ... [Press F4 to skip]' + _mSetStr detectIdeSecMA, tmp_Counter : DZ ' Detecting IDE Secondary Master ... [Press F4 to skip]' + _mSetStr detectIdeSecSL, tmp_Counter : DZ ' Detecting IDE Secondary Slave ... [Press F4 to skip]' + _mSetStr ideUnknown, tmp_Counter : DZ 'Unknown ' + _mSetStr ideNone, tmp_Counter : DZ 'None ' + _mSetStr ideSkiped, tmp_Counter : DZ 'Skipped ' + _mSetStr ideFail, tmp_Counter : DZ 'Fail ' ; !FIXIT strFail + _mSetStr spModel, tmp_Counter : DZ 'Model name: ' + _mSetStr spMemory, tmp_Counter : DZ 'Memory : ' + _mSetStr cmosFound, tmp_Counter : DZ 'CMOS : Found' + _mSetStr cmosNone, tmp_Counter : DZ 'CMOS : None' + _mSetStr memoryAvailable, tmp_Counter : DZ 'Available : ' +; _mSetStr unknownSTR1, tmp_Counter : DZ "7" +; _mSetStr unknownSTR2, tmp_Counter : DZ "8" + _mSetStr boardID, tmp_Counter : DZ 'Board ID : ' + _mSetStr bootFdd, tmp_Counter : DZ 'Start from Diskette... ' + _mSetStr bootHdd, tmp_Counter : DZ 'Start from Hard disk... ' + _mSetStr bootCd, tmp_Counter : DZ 'Start from CD-ROM... ' + _mSetStr bootRamDrv, tmp_Counter : DZ 'Start from RAM disk... ' + _mSetStr bootRecovery, tmp_Counter : DZ 'Starting recovery...' + _mSetStr bootAltDrv, tmp_Counter : DZ 'Alternative ' + _mSetStr bootFail, tmp_Counter : DZ 'fail' ; !FIXIT strFail + _mSetStr bootOk, tmp_Counter : DZ 'OK' + _mSetStr afterBootFail, tmp_Counter : DZ 'PRESS TO REBOOT, TO ENTER SETUP OR TO ZX-MODE . . .' ; - _mSetStr parLang, tmp_Counter : DZ 'Language (Язык) : ' - _mSetStr valLangEng, tmp_Counter : DZ 'English ' - _mSetStr valLangRus, tmp_Counter : DZ 'Русский ' - _mSetStr parMemTest, tmp_Counter : DZ 'Memory Test : ' - _mSetStr valDisabled, tmp_Counter : DZ 'Disabled' - _mSetStr valEnabled, tmp_Counter : DZ 'Enabled ' - _mSetStr parSaveRAMdrvs, tmp_Counter : DZ 'Save RAM-disks : ' - _mSetStr parUpdBios, tmp_Counter : DZ 'Update BIOS : ' - _mSetStr parStartDelay, tmp_Counter : DZ 'Start Delay : ' - _mSetStr valNormal, tmp_Counter : DZ 'Normal ' - _mSetStr parTypRate, tmp_Counter : DZ 'Typematic Rate (Chars/Sec) : ' - _mSetStr val_6, tmp_Counter : DZ '6 ' - _mSetStr val_8, tmp_Counter : DZ '8 ' - _mSetStr val_10, tmp_Counter : DZ '10' - _mSetStr val_12, tmp_Counter : DZ '12' - _mSetStr val_15, tmp_Counter : DZ '15' - _mSetStr val_20, tmp_Counter : DZ '20' - _mSetStr val_24, tmp_Counter : DZ '24' - _mSetStr val_30, tmp_Counter : DZ '30' - _mSetStr parTypDelay, tmp_Counter : DZ 'Typematic Delay (Msec) : ' - _mSetStr val_250, tmp_Counter : DZ '250 ' - _mSetStr val_500, tmp_Counter : DZ '500 ' - _mSetStr val_750, tmp_Counter : DZ '750 ' - _mSetStr val_1000, tmp_Counter : DZ '1000' - _mSetStr parRebootMsg, tmp_Counter : DZ 'Reboot message : ' - _mSetStr parSysDsk, tmp_Counter : DZ 'System Disk : ' - _mSetStr val1stFDD, tmp_Counter : DZ '1-st FDD' - _mSetStr val2ndFDD, tmp_Counter : DZ '2-nd FDD' - _mSetStr val1stIDE, tmp_Counter : DZ '1-st IDE' - _mSetStr val2ndIDE, tmp_Counter : DZ '2-nd IDE' - _mSetStr val3rdIDE, tmp_Counter : DZ '3-rd IDE' - _mSetStr val4thIDE, tmp_Counter : DZ '4-th IDE' - _mSetStr valRamDsk, tmp_Counter : DZ 'RAM-DISK' - _mSetStr valRecovery, tmp_Counter : DZ 'RECOVERY' - _mSetStr parAltSysDsk, tmp_Counter : DZ 'Alt. System Disk : ' - _mSetStr parFddFirst, tmp_Counter : DZ 'FDD First : ' - _mSetStr valAuto, tmp_Counter : DZ 'Auto ' -; _mSetStr val720, tmp_Counter : DZ '720K ' -; _mSetStr val1440, tmp_Counter : DZ '1.44M ' - _mSetStr valDash6, tmp_Counter : DZ '------' - _mSetStr parFddSecond, tmp_Counter : DZ 'FDD Second : ' - _mSetStr parPriIdeMA, tmp_Counter : DZ 'Primary IDE Master : ' - _mSetStr valSetup, tmp_Counter : DZ 'Setup ' - _mSetStr valCdRom, tmp_Counter : DZ 'CD-ROM' - _mSetStr parPriIdeSl, tmp_Counter : DZ 'Primary IDE Slave : ' - _mSetStr parSecIdeMA, tmp_Counter : DZ 'Secondary IDE Master : ' - _mSetStr parSecIdeSl, tmp_Counter : DZ 'Secondary IDE Slave : ' - _mSetStr parHddWrPr, tmp_Counter : DZ 'HDD Write protect : ' - _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' - _mSetStr valMinus4, tmp_Counter : DZ '-4' - _mSetStr valMinus3, tmp_Counter : DZ '-3' - _mSetStr valMinus2, tmp_Counter : DZ '-2' - _mSetStr valMinus1, tmp_Counter : DZ '-1' - _mSetStr val_0, tmp_Counter : DZ ' 0' - _mSetStr valPlus1, tmp_Counter : DZ '+1' - _mSetStr valPlus2, tmp_Counter : DZ '+2' - _mSetStr valPlus3, tmp_Counter : DZ '+3' - _mSetStr valPlus4, tmp_Counter : DZ '+4' - _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 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 val312_50, tmp_Counter : DZ '312/50Hz' - _mSetStr val320_49, tmp_Counter : DZ '320/49Hz' - _mSetStr parQuickStartROM, tmp_Counter : DZ 'Quick ROM Start : ' - _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 parTrDosB, tmp_Counter : DZ 'TR DOS B:> : ' - _mSetStr parTrDosC, tmp_Counter : DZ 'TR DOS C:> : ' - _mSetStr parTrDosD, tmp_Counter : DZ 'TR DOS D:> : ' + _mSetStr parLang, tmp_Counter : DZ 'Language (Язык) : ' + _mSetStr valLangEng, tmp_Counter : DZ 'English ' + _mSetStr valLangRus, tmp_Counter : DZ 'Русский ' + _mSetStr parMemTest, tmp_Counter : DZ 'Memory Test : ' + _mSetStr valDisabled, tmp_Counter : DZ 'Disabled' + _mSetStr valEnabled, tmp_Counter : DZ 'Enabled ' + _mSetStr parSaveRAMdrvs, tmp_Counter : DZ 'Save RAM-disks : ' + _mSetStr parUpdBios, tmp_Counter : DZ 'Update BIOS : ' + _mSetStr parStartDelay, tmp_Counter : DZ 'Start Delay : ' + _mSetStr valNormal, tmp_Counter : DZ 'Normal ' + _mSetStr parTypRate, tmp_Counter : DZ 'Typematic Rate (Chars/Sec) : ' + _mSetStr val_6, tmp_Counter : DZ '6 ' + _mSetStr val_8, tmp_Counter : DZ '8 ' + _mSetStr val_10, tmp_Counter : DZ '10' + _mSetStr val_12, tmp_Counter : DZ '12' + _mSetStr val_15, tmp_Counter : DZ '15' + _mSetStr val_20, tmp_Counter : DZ '20' + _mSetStr val_24, tmp_Counter : DZ '24' + _mSetStr val_30, tmp_Counter : DZ '30' + _mSetStr parTypDelay, tmp_Counter : DZ 'Typematic Delay (Msec) : ' + _mSetStr val_250, tmp_Counter : DZ '250 ' + _mSetStr val_500, tmp_Counter : DZ '500 ' + _mSetStr val_750, tmp_Counter : DZ '750 ' + _mSetStr val_1000, tmp_Counter : DZ '1000' + _mSetStr parRebootMsg, tmp_Counter : DZ 'Reboot message : ' + _mSetStr parSysDsk, tmp_Counter : DZ 'System Disk : ' + _mSetStr val1stFDD, tmp_Counter : DZ '1-st FDD' + _mSetStr val2ndFDD, tmp_Counter : DZ '2-nd FDD' + _mSetStr val1stIDE, tmp_Counter : DZ '1-st IDE' + _mSetStr val2ndIDE, tmp_Counter : DZ '2-nd IDE' + _mSetStr val3rdIDE, tmp_Counter : DZ '3-rd IDE' + _mSetStr val4thIDE, tmp_Counter : DZ '4-th IDE' + _mSetStr valRamDsk, tmp_Counter : DZ 'RAM-DISK' + _mSetStr valRecovery, tmp_Counter : DZ 'RECOVERY' + _mSetStr parAltSysDsk, tmp_Counter : DZ 'Alt. System Disk : ' + _mSetStr parFddFirst, tmp_Counter : DZ 'FDD First : ' + _mSetStr valAuto, tmp_Counter : DZ 'Auto ' +; _mSetStr val720, tmp_Counter : DZ '720K ' +; _mSetStr val1440, tmp_Counter : DZ '1.44M ' + _mSetStr valDash6, tmp_Counter : DZ '------' + _mSetStr parFddSecond, tmp_Counter : DZ 'FDD Second : ' + _mSetStr parPriIdeMA, tmp_Counter : DZ 'Primary IDE Master : ' + _mSetStr valSetup, tmp_Counter : DZ 'Setup ' + _mSetStr valCdRom, tmp_Counter : DZ 'CD-ROM' + _mSetStr parPriIdeSl, tmp_Counter : DZ 'Primary IDE Slave : ' + _mSetStr parSecIdeMA, tmp_Counter : DZ 'Secondary IDE Master : ' + _mSetStr parSecIdeSl, tmp_Counter : DZ 'Secondary IDE Slave : ' + IF HDDwriteProtect + _mSetStr parHddWrPr, tmp_Counter : DZ 'HDD Write protect : ' + ENDIF + _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' + _mSetStr valMinus4, tmp_Counter : DZ '-4' + _mSetStr valMinus3, tmp_Counter : DZ '-3' + _mSetStr valMinus2, tmp_Counter : DZ '-2' + _mSetStr valMinus1, tmp_Counter : DZ '-1' + _mSetStr val_0, tmp_Counter : DZ ' 0' + _mSetStr valPlus1, tmp_Counter : DZ '+1' + _mSetStr valPlus2, tmp_Counter : DZ '+2' + _mSetStr valPlus3, tmp_Counter : DZ '+3' + _mSetStr valPlus4, tmp_Counter : DZ '+4' + _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 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 val312_50, tmp_Counter : DZ '312/50Hz' + _mSetStr val320_49, tmp_Counter : DZ '320/49Hz' + _mSetStr parQuickStartROM, tmp_Counter : DZ 'Quick ROM Start : ' + _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 parTrDosB, tmp_Counter : DZ 'TR DOS B:> : ' + _mSetStr parTrDosC, tmp_Counter : DZ 'TR DOS C:> : ' + _mSetStr parTrDosD, tmp_Counter : DZ 'TR DOS D:> : ' IF NEW_FEATURE - _mSetStr parSetTime, tmp_Counter : DZ 'Date and Time setup : ' - _mSetStr valFolder, tmp_Counter : DB 16,'ENTER',17,0 + _mSetStr parSetTime, tmp_Counter : DZ 'Date and Time setup : ' + _mSetStr valFolder, tmp_Counter : DB 16,'ENTER',17,0 ENDIF IF DEBUG - _mSetStr testBIOSmsg, tmp_Counter : DZ 'Test build! ',BUILD_DATE,', ',__TIME__ + _mSetStr testBIOSmsg, tmp_Counter : DZ 'Test build! ',BUILD_DATE,', ',__TIME__ ENDIF ; @@ -727,7 +747,9 @@ msgRusStrings: _mSetStrRus parPriIdeSl, tmp_Counter : DZ 'Primary IDE Slave : ' _mSetStrRus parSecIdeMA, tmp_Counter : DZ 'Secondary IDE Master : ' _mSetStrRus parSecIdeSl, tmp_Counter : DZ 'Secondary IDE Slave : ' - _mSetStrRus parHddWrPr, tmp_Counter : DZ 'Защита записи на HDD : ' + IF HDDwriteProtect + _mSetStrRus parHddWrPr, tmp_Counter : DZ 'Защита записи на HDD : ' + ENDIF _mSetStrRus parScreenY, tmp_Counter : DZ 'Сдвиг экрана по Y : ' _mSetStrRus valMinus7, tmp_Counter : DZ '-7' _mSetStrRus valMinus6, tmp_Counter : DZ '-6' diff --git a/src/bios/shared/DEFINES.INC b/src/bios/shared/DEFINES.INC index 7c0d7bb..7f56abd 100644 --- a/src/bios/shared/DEFINES.INC +++ b/src/bios/shared/DEFINES.INC @@ -1,21 +1,23 @@ -; _________________ -;---------[All shared defines]----------\/ \/ - DEFINE DEBUG 1;| ; добавляет строку и сообщение о тестовой сборке на стартовом экране - DEFINE NEW_FEATURE 0;| /\ ; !TODO пункты в сетап - DEFINE TEST_INT 1;| \/ \/ ; Тестовый обработчик пользовательского INT - DEFINE PACKED_MAIN 0;| | ; паковать MAIN или влезает без этого? - DEFINE SP2000_ConfID #FEFF;| ; - DEFINE IDE_Optimization 1;| ; слегка оптимизирует некоторые процедуры работы с HDD - DEFINE NeedSafePort_Y 1;| ============== ; !!!!! если 0, то в режиме sp-спектрума некоторые процедуры могут засрать экран - DEFINE Pashalki 0; \__________________/\ - DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp';| -;____________________________________________________________/ - DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY всегда грузится в диск 15, 2 - ищется свободный рамдиск и если такого нет, то занимается 15ый - DEFINE RECOVERYmountTYPE 1 ; 1 - быстрый немного захардкоженый вариант. 2 - более "правильный" +; +;---------[All shared defines]---------- + DEFINE DEBUG 1 ; добавляет строку и сообщение о тестовой сборке на стартовом экране + DEFINE NEW_FEATURE 0 ; !TODO пункты в сетап + DEFINE TEST_INT 1 ; Тестовый обработчик пользовательского INT + DEFINE PACKED_MAIN 0 ; паковать MAIN или влезает без этого? + DEFINE SP2000_ConfID #FEFF ; + DEFINE IDE_Optimization 1 ; слегка оптимизирует некоторые процедуры работы с HDD + DEFINE NeedSafePort_Y 1 ; !!!!! если 0, то в режиме sp-спектрума некоторые процедуры могут засрать экран + DEFINE Pashalki 0 ; + DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp' - ; Задержка в кадрах после отрисовки логотипа (0 = 256) - DEFINE LOGO_DELAY_MIN 25 - DEFINE LOGO_DELAY_NORM 100 - DEFINE LOGO_DELAY_MAX 130 + DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY всегда грузится в диск 15, 2 - ищется свободный рамдиск и если такого нет, то занимается 15ый + DEFINE RECOVERYmountTYPE 1 ; 1 - быстрый немного захардкоженый вариант. 2 - более "правильный" + + DEFINE HDDwriteProtect 0 + + ; Задержка в кадрах после отрисовки логотипа (0 = 256) + DEFINE LOGO_DELAY_MIN 25 + DEFINE LOGO_DELAY_NORM 100 + DEFINE LOGO_DELAY_MAX 130 ; ; \ No newline at end of file