From 673de16e42b57b3e01147ae6da0bbb87ed63cd76 Mon Sep 17 00:00:00 2001 From: raywu Date: Tue, 30 Oct 2018 13:51:44 +0800 Subject: DW01 - Add Customer Request List --- ...\227\256\351\242\230\346\261\207\346\200\273.xlsx" | Bin 0 -> 2382206 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "DWI-AH810-R10\346\265\213\350\257\225\351\227\256\351\242\230\346\261\207\346\200\273.xlsx" diff --git "a/DWI-AH810-R10\346\265\213\350\257\225\351\227\256\351\242\230\346\261\207\346\200\273.xlsx" "b/DWI-AH810-R10\346\265\213\350\257\225\351\227\256\351\242\230\346\261\207\346\200\273.xlsx" new file mode 100644 index 0000000..373d44b Binary files /dev/null and "b/DWI-AH810-R10\346\265\213\350\257\225\351\227\256\351\242\230\346\261\207\346\200\273.xlsx" differ -- cgit v1.2.3 From 3555fa3e90144b4206806405020d19f535d6ec03 Mon Sep 17 00:00:00 2001 From: raywu Date: Tue, 30 Oct 2018 13:52:34 +0800 Subject: DW01 - Support Legacy LAN PXE Boot / Move Setup Option to Boot Page --- Board/EM/Setup/Boot.vfr | 2 ++ Board/SB/SB.sdl | 14 ++++++++++++++ Chipset/SB/RTEG263.LOM | Bin 0 -> 71680 bytes Core/EM/CsmOptOut/CsmOptOut.sd | 2 +- 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 Chipset/SB/RTEG263.LOM diff --git a/Board/EM/Setup/Boot.vfr b/Board/EM/Setup/Boot.vfr index 8010c28..43e625a 100644 --- a/Board/EM/Setup/Boot.vfr +++ b/Board/EM/Setup/Boot.vfr @@ -184,6 +184,8 @@ formset guid = BOOT_FORM_SET_GUID, #include #undef FORM_SET_ITEM + CSM_OPT_OUT_PXE_OPROM + SEPARATOR SUBTITLE(STRING_TOKEN(STR_BOOT_ORDER_SUBTITLE)) suppressif ideqvallist BOOT_MANAGER.BootCount == 0xFFFF; diff --git a/Board/SB/SB.sdl b/Board/SB/SB.sdl index 3931349..5199327 100644 --- a/Board/SB/SB.sdl +++ b/Board/SB/SB.sdl @@ -873,6 +873,13 @@ PCIDEVICE Token = "RC_PORT_0" "=" "1" DeviceType = Slot PCIBusSize = PciEx +##DW01_Custom_Support_LAN_PXE_Boot >> + ROMFile = "Chipset\SB\RTEG263.LOM" + OptionROM = Yes + CompressedROM = Yes + DeviceID = 08168h + VendorID = 010ech +##DW01_Custom_Support_LAN_PXE_Boot << End PCIDEVICE @@ -888,6 +895,13 @@ PCIDEVICE Token = "RC_PORT_1" "=" "1" DeviceType = Slot PCIBusSize = PciEx +##DW01_Custom_Support_LAN_PXE_Boot >> + ROMFile = "Chipset\SB\RTEG263.LOM" + OptionROM = Yes + CompressedROM = Yes + DeviceID = 08168h + VendorID = 010ech +##DW01_Custom_Support_LAN_PXE_Boot << End PCIDEVICE diff --git a/Chipset/SB/RTEG263.LOM b/Chipset/SB/RTEG263.LOM new file mode 100644 index 0000000..7b96161 Binary files /dev/null and b/Chipset/SB/RTEG263.LOM differ diff --git a/Core/EM/CsmOptOut/CsmOptOut.sd b/Core/EM/CsmOptOut/CsmOptOut.sd index ce0bba0..f88e724 100644 --- a/Core/EM/CsmOptOut/CsmOptOut.sd +++ b/Core/EM/CsmOptOut/CsmOptOut.sd @@ -224,7 +224,7 @@ CSM_OPT_OUT_OLD_OPROM suppressif ideqval SETUP_DATA.CsmLaunchPolicy == 0; CSM_OPT_OUT_BOOT_OPTION_FILTER - CSM_OPT_OUT_PXE_OPROM +// CSM_OPT_OUT_PXE_OPROM CSM_OPT_OUT_MASS_STORAGE_OPROM CSM_OPT_OUT_VIDEO_OPROM SEPARATOR -- cgit v1.2.3 From 64ba2a17a34969a80bb3894899ae65669e9ad542 Mon Sep 17 00:00:00 2001 From: raywu Date: Tue, 30 Oct 2018 13:53:10 +0800 Subject: DW01 - Support RTC Wake from S5 --- Board/SB/SBSetup/SB.sd | 159 ++++++++++++++++++++++++++++++++++++++++++++++-- Board/SB/SBSetup/SB.uni | Bin 144652 -> 150328 bytes Chipset/SB/SleepSmi.c | 135 +++++++++++++++++++++++++++++++++++++++- 3 files changed, 287 insertions(+), 7 deletions(-) diff --git a/Board/SB/SBSetup/SB.sd b/Board/SB/SBSetup/SB.sd index d944b68..05d0f79 100644 --- a/Board/SB/SBSetup/SB.sd +++ b/Board/SB/SBSetup/SB.sd @@ -691,6 +691,15 @@ UINT8 ADspMode; UINT8 NFCE; + + UINT8 AaeonWakeOnRtc; //AAEON_RTC_001_Elflo+ +// UINT8 FixedWakeOnRTCS5; //AAEON_RTC_001_Elflo- +// UINT8 DynamicWakeOnRTCS5; //AAEON_RTC_001_Elflo- + UINT8 AaeonRTCWakeupTimeDay; + UINT8 AaeonRTCWakeupTimeHour; + UINT8 AaeonRTCWakeupTimeMinute; + UINT8 AaeonRTCWakeupTimeSecond; + UINT8 AaeonRTCWakeupTimeMinuteIncrease; #endif #ifdef FORM_SET_TYPEDEF @@ -709,6 +718,98 @@ //--------------------------------------------------------------------------- #ifdef CONTROL_DEFINITION + #define AAEON_WAKEONRTC_DIS\ + text \ + help = STRING_TOKEN(STR_WAKE_ON_RTC_PROMPT_HELP), \ + text = STRING_TOKEN(STR_WAKE_ON_RTC_PROMPT), \ + text = STRING_TOKEN(STR_DISABLED), \ + flags = 0, \ + key = 0; + + #define AAEON_WAKEONRTC\ + oneof varid = SETUP_DATA.AaeonWakeOnRtc,\ + prompt = STRING_TOKEN(STR_WAKE_ON_RTC_PROMPT),\ + help = STRING_TOKEN(STR_WAKE_ON_RTC_PROMPT_HELP),\ + option text = STRING_TOKEN(STR_DISABLED), value=0, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;\ + option text = STRING_TOKEN(STR_WOR_FIXED), value=1, flags= RESET_REQUIRED;\ + option text = STRING_TOKEN(STR_WOR_DYNAMIC), value=2, flags= RESET_REQUIRED;\ + endoneof; + +//AAEON_RTC_001_Elflo- >> +// #define AAEON_ONEOF_FIXED_WAKEONRTCS5\ +// oneof varid = SETUP_DATA.FixedWakeOnRTCS5,\ +// prompt = STRING_TOKEN(STR_FIXED_WAKE_ON_RTCS5_PROMPT),\ +// help = STRING_TOKEN(STR_FIXED_WAKE_ON_RTCS5_HELP),\ +// option text = STRING_TOKEN(STR_DISABLED), value=0, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;\ +// option text = STRING_TOKEN(STR_ENABLED), value=1, flags= RESET_REQUIRED;\ +// endoneof; +//AAEON_RTC_001_Elflo- << + + #define AAEON_NUM_RTCWAKEUP_TIMEDAY\ + numeric varid = SETUP_DATA.AaeonRTCWakeupTimeDay,\ + prompt = STRING_TOKEN(STR_RTC_WAKEUP_DAY_PROMPT),\ + help = STRING_TOKEN(STR_RTC_DAY_HELP),\ + flags = RESET_REQUIRED,\ + minimum = 0,\ + maximum = 31,\ + step = 1,\ + default = 0,\ + endnumeric; + + #define AAEON_NUM_RTCWAKEUP_TIMEHOUR\ + numeric varid = SETUP_DATA.AaeonRTCWakeupTimeHour,\ + prompt = STRING_TOKEN(STR_RTC_WAKEUP_HOUR_PROMPT),\ + help = STRING_TOKEN(STR_RTC_HOUR_HELP),\ + flags = RESET_REQUIRED,\ + minimum = 0,\ + maximum = 23,\ + step = 1,\ + default = 0,\ + endnumeric; + + #define AAEON_NUM_RTCWAKEUP_TIMEMINUTE\ + numeric varid = SETUP_DATA.AaeonRTCWakeupTimeMinute,\ + prompt = STRING_TOKEN(STR_RTC_WAKEUP_MINUTE_PROMPT),\ + help = STRING_TOKEN(STR_TIME_MINUTE_HELP),\ + flags = RESET_REQUIRED,\ + minimum = 0,\ + maximum = 59,\ + step = 1,\ + default = 0,\ + endnumeric; + + #define AAEON_NUM_RTCWAKEUP_TIMESECOND\ + numeric varid = SETUP_DATA.AaeonRTCWakeupTimeSecond,\ + prompt = STRING_TOKEN(STR_RTC_WAKEUP_SECOND_PROMPT),\ + help = STRING_TOKEN(STR_TIME_SECOND_HELP),\ + flags = RESET_REQUIRED,\ + minimum = 0,\ + maximum = 59,\ + step = 1,\ + default = 0,\ + endnumeric; + +//AAEON_RTC_001_Elflo- >> +// #define AAEON_ONEOF_DYNAMIC_WAKEONRTCS5\ +// oneof varid = SETUP_DATA.DynamicWakeOnRTCS5,\ +// prompt = STRING_TOKEN(STR_DYNAMIC_WAKE_ON_RTCS5_PROMPT),\ +// help = STRING_TOKEN(STR_DYNAMIC_WAKE_ON_RTCS5_HELP),\ +// option text = STRING_TOKEN(STR_DISABLED), value=0, flags= DEFAULT | MANUFACTURING | RESET_REQUIRED;\ +// option text = STRING_TOKEN(STR_ENABLED), value=1, flags= RESET_REQUIRED;\ +// endoneof; +//AAEON_RTC_001_Elflo- << + + #define AAEON_NUM_RTCWAKEUP_TIMEMINUTEINCREASE\ + numeric varid = SETUP_DATA.AaeonRTCWakeupTimeMinuteIncrease,\ + prompt = STRING_TOKEN(STR_RTC_WAKEUP_MINUTE_INCREASE_PROMPT),\ + help = STRING_TOKEN(STR_TIME_MINUTE_INCREASE_HELP),\ + flags = RESET_REQUIRED,\ + minimum = 1,\ + maximum = 5,\ + step = 1,\ + default = 1,\ + endnumeric; + #define SB_ONEOF_ECTG\ oneof varid = SETUP_DATA.ECTG,\ prompt = STRING_TOKEN (STR_ECTG),\ @@ -1034,11 +1135,11 @@ oneof varid = SETUP_DATA.PchUsb30Mode,\ prompt = STRING_TOKEN (STR_PCH_USB30_MODE_PROMPT),\ help = STRING_TOKEN (STR_PCH_USB30_MODE_HELP),\ - option text = STRING_TOKEN (STR_COMMON_SMART_AUTO), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN (STR_COMMON_SMART_AUTO), value = 3, flags = RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN (STR_COMMON_AUTO), value = 2, flags = RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN (STR_COMMON_ENABLED), value = 1, flags = RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN (STR_COMMON_DISABLED), value = 0, flags = RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN (STR_COMMON_MANUAL), value = 4, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN (STR_COMMON_MANUAL), value = 4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ endoneof; #define SB_ONEOF_PCHENABLERMH1\ @@ -1087,8 +1188,8 @@ prompt = STRING_TOKEN (STR_PCH_ENABLE_USB30_PIN),\ help = STRING_TOKEN (STR_PCH_ENABLE_USB30_PIN_HELP),\ option text = STRING_TOKEN (STR_SELECT_PER_PIN), value = 0, flags = RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN (STR_SELECT_ALL_PIN_DISABLE), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN (STR_SELECT_ALL_PIN_ENABLE), value = 2, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN (STR_SELECT_ALL_PIN_DISABLE), value = 1, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN (STR_SELECT_ALL_PIN_ENABLE), value = 2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ endoneof; #define SB_ONEOF_USB20PERPINROUTE00\ @@ -1311,8 +1412,8 @@ oneof varid = SETUP_DATA.PchUsbPerPortCtl,\ prompt = STRING_TOKEN (STR_PCH_USB_PER_PORT_PROMPT),\ help = STRING_TOKEN (STR_PCH_USB_PER_PORT_HELP),\ - option text = STRING_TOKEN (STR_COMMON_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN (STR_COMMON_ENABLED), value = 1, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN (STR_COMMON_DISABLED), value = 0, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN (STR_COMMON_ENABLED), value = 1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ endoneof; #if EHCI_CON_DISCON_WAKE_UP_SUPPORT @@ -5416,6 +5517,14 @@ //--------------------------------------------------------------------------- #ifdef CONTROLS_WITH_DEFAULTS + AAEON_WAKEONRTC //AAEON_RTC_001_Elflo+ +// AAEON_ONEOF_FIXED_WAKEONRTCS5 //AAEON_RTC_001_Elflo- + AAEON_NUM_RTCWAKEUP_TIMEDAY + AAEON_NUM_RTCWAKEUP_TIMEHOUR + AAEON_NUM_RTCWAKEUP_TIMEMINUTE + AAEON_NUM_RTCWAKEUP_TIMESECOND +// AAEON_ONEOF_DYNAMIC_WAKEONRTCS5 //AAEON_RTC_001_Elflo- + AAEON_NUM_RTCWAKEUP_TIMEMINUTEINCREASE SB_ONEOF_ECTG SB_ONEOF_PCHLAN @@ -7348,6 +7457,11 @@ goto THERMAL_CONFIG_FORM_ID, prompt = STRING_TOKEN (STR_THERMAL_CONFIGURATION), help = STRING_TOKEN (STR_THERMAL_CONFIGURATION_HELP); + + goto S5_RTCWAKE_FORM_ID, + prompt = STRING_TOKEN(STR_S5_RTCWAKE_FORM), + help = STRING_TOKEN(STR_S5_RTCWAKE_FORM_HELP); + #endif //---------------------------------------------------------------------------- @@ -7851,6 +7965,39 @@ #endif // End of SB_FORM_SATA_SFMS_OPTIONS +//DW01_Custom_Support_RTC_Wake >> + form formid = AUTO_ID(S5_RTCWAKE_FORM_ID), + title = STRING_TOKEN(STR_S5_RTCWAKE_FORM); + + AAEON_WAKEONRTC //AAEON_RTC_001_Elflo+ + +//AAEON_RTC_001_Elflo- >> +// grayoutif ideqval SETUP_DATA.DynamicWakeOnRTCS5 == 1; +// AAEON_ONEOF_FIXED_WAKEONRTCS5 +// endif; +//AAEON_RTC_001_Elflo- << + +// suppressif ideqval SETUP_DATA.FixedWakeOnRTCS5 == 0; //AAEON_RTC_001_Elflo- + suppressif NOT ideqval SETUP_DATA.AaeonWakeOnRtc == 1; //AAEON_RTC_001_Elflo+ + AAEON_NUM_RTCWAKEUP_TIMEDAY + AAEON_NUM_RTCWAKEUP_TIMEHOUR + AAEON_NUM_RTCWAKEUP_TIMEMINUTE + AAEON_NUM_RTCWAKEUP_TIMESECOND + endif; +//AAEON_RTC_001_Elflo- >> +// SEPARATOR +// grayoutif ideqval SETUP_DATA.FixedWakeOnRTCS5 == 1; +// AAEON_ONEOF_DYNAMIC_WAKEONRTCS5 +// endif; +//AAEON_RTC_001_Elflo- << + +// suppressif ideqval SETUP_DATA.DynamicWakeOnRTCS5 == 0; //AAEON_RTC_001_Elflo- + suppressif NOT ideqval SETUP_DATA.AaeonWakeOnRtc == 2; //AAEON_RTC_001_Elflo+ + AAEON_NUM_RTCWAKEUP_TIMEMINUTEINCREASE + endif; + endform; // AAEON_FORM_ID +//DW01_Custom_Support_RTC_Wake << + #endif //---------------------------------------------------------------------------- // diff --git a/Board/SB/SBSetup/SB.uni b/Board/SB/SBSetup/SB.uni index ceb801a..69d1bdb 100644 Binary files a/Board/SB/SBSetup/SB.uni and b/Board/SB/SBSetup/SB.uni differ diff --git a/Chipset/SB/SleepSmi.c b/Chipset/SB/SleepSmi.c index 6f17597..86debbe 100644 --- a/Chipset/SB/SleepSmi.c +++ b/Chipset/SB/SleepSmi.c @@ -120,8 +120,89 @@ EFI_GUID gThisFileGuid = \ // External Declaration(s) // Function Definition(s) - +// DW01_Custom_Support_RTC_Wake >> +typedef struct { + UINT8 AaeonRTCWakeupTimeHour ; + UINT8 AaeonRTCWakeupTimeMinute ; + UINT8 AaeonRTCWakeupTimeSecond ; + UINT8 AaeonRTCWakeupDateDay; +} SMMData ; + +SMMData gSmmData ; + +EFI_GUID gSetupGuid = SETUP_GUID; +SETUP_DATA SetupData; //--------------------------------------------------------------------------- +UINT8 DecToBCD(UINT8 Dec) +{ + UINT8 FirstDigit = Dec % 10; + UINT8 SecondDigit = Dec / 10; + + return (SecondDigit << 4) + FirstDigit; +} +UINT8 BCDToDec(UINT8 BCD) +{ + UINT8 FirstDigit = BCD & 0xf; + UINT8 SecondDigit = BCD >> 4;; + + return SecondDigit * 10 + FirstDigit; +} +UINT8 ReadRtcIndex(IN UINT8 Index) +{ + UINT8 volatile Value; + + // Check if Data Time is valid + if(Index <= 9) do { + IoWrite8(0x70, 0x0A | 0x80); + Value = IoRead8(0x71); + } while (Value & 0x80); + + IoWrite8(0x70, Index | 0x80); + // Read register + Value = IoRead8(0x71); + if (Index <= 9) Value = BCDToDec(Value); + return (UINT8)Value; +} +void WriteRtcIndex(IN UINT8 Index, IN UINT8 Value) +{ + IoWrite8(0x70,Index | 0x80); + if (Index <= 9 ) Value = DecToBCD(Value); + // Write Register + IoWrite8(0x71,Value); +} +void SetWakeupTime ( + IN EFI_TIME *Time +) +{ + UINT8 Value; + + WriteRtcIndex(5,Time->Hour); + WriteRtcIndex(3,Time->Minute); + WriteRtcIndex(1,Time->Second); + Value = ReadRtcIndex(0x0D) & 0xC0; + WriteRtcIndex(0x0D,(Value|DecToBCD(Time->Day))); + + //Set Enable + Value = ReadRtcIndex(0xB); + Value |= 1 << 5; + WriteRtcIndex(0xB,Value); +} +VOID RTCWakeFunc(){ + UINT32 i = 0; + EFI_TIME Time; + + Time.Hour = gSmmData.AaeonRTCWakeupTimeHour; + Time.Minute = gSmmData.AaeonRTCWakeupTimeMinute; + Time.Second = gSmmData.AaeonRTCWakeupTimeSecond; + Time.Day = gSmmData.AaeonRTCWakeupDateDay; + + SetWakeupTime(&Time); + //Clear RTC PM1 status + IoWrite16(PM_BASE_ADDRESS , ( IoRead16(PM_BASE_ADDRESS) | (1 << 10) )); + //set RTC_EN bit to wake up from the alarm + IoWrite32(PM_BASE_ADDRESS, ( IoRead32(PM_BASE_ADDRESS) | (1 << 26) )); +} +// DW01_Custom_Support_RTC_Wake << // //---------------------------------------------------------------------------- @@ -311,6 +392,49 @@ VOID S5SleepSmiOccurred ( if (gPchWakeOnLan) Enable_GbE_PME(); +// DW01_Custom_Support_RTC_Wake >> + { + EFI_STATUS Status = EFI_SUCCESS; + UINT8 Value; + + //Disable RTC alarm and clear RTC PM1 status + Value = ReadRtcIndex(0xB); + Value &= ~((UINT8)1 << 5); + WriteRtcIndex(0xB,Value); + //Clear Alarm Flag (AF) by reading RTC Reg C + Value = ReadRtcIndex(0xC); + IoWrite16(PM_BASE_ADDRESS , ( IoRead16(PM_BASE_ADDRESS) | (1 << 10) )); + + if(!EFI_ERROR(Status)){ + //if(gSetupData.FixedWakeOnRTCS5 == 1){ + if(SetupData.AaeonWakeOnRtc == 1){ + gSmmData.AaeonRTCWakeupTimeHour = SetupData.AaeonRTCWakeupTimeHour ; + gSmmData.AaeonRTCWakeupTimeMinute = SetupData.AaeonRTCWakeupTimeMinute ; + gSmmData.AaeonRTCWakeupTimeSecond = SetupData.AaeonRTCWakeupTimeSecond ; + gSmmData.AaeonRTCWakeupDateDay = SetupData.AaeonRTCWakeupTimeDay; + } + + //if(gSetupData.DynamicWakeOnRTCS5 == 1){ + if(SetupData.AaeonWakeOnRtc == 2){ + gSmmData.AaeonRTCWakeupTimeHour = ReadRtcIndex(4); + gSmmData.AaeonRTCWakeupTimeMinute = ReadRtcIndex(2); + gSmmData.AaeonRTCWakeupTimeSecond = ReadRtcIndex(0); + gSmmData.AaeonRTCWakeupTimeMinute += SetupData.AaeonRTCWakeupTimeMinuteIncrease; + if (gSmmData.AaeonRTCWakeupTimeMinute >= 60) + { + gSmmData.AaeonRTCWakeupTimeMinute = 0; + ++gSmmData.AaeonRTCWakeupTimeHour; + if (gSmmData.AaeonRTCWakeupTimeHour == 24) + gSmmData.AaeonRTCWakeupTimeHour = 0; + } + } + } + + if(SetupData.AaeonWakeOnRtc == 1 || SetupData.AaeonWakeOnRtc == 2) + RTCWakeFunc(); + } +// DW01_Custom_Support_RTC_Wake << + // Program AfterG3 bit depend the setup question. ProgramAfterG3Bit(); @@ -439,6 +563,15 @@ EFI_STATUS InitSleepSmi ( gPchWakeOnLan = (SbSetupData->PchWakeOnLan == 1) ? TRUE : FALSE; Status = pBS->FreePool( SbSetupData ); +// DW01_Custom_Support_RTC_Wake >> + VariableSize = sizeof(SETUP_DATA); + Status = pRS->GetVariable( L"Setup", \ + &gSetupGuid, \ + NULL, \ + &VariableSize, \ + &SetupData ); + +// DW01_Custom_Support_RTC_Wake << // Porting End return InitSmmHandler( ImageHandle, SystemTable, InSmmFunction, NULL ); -- cgit v1.2.3 From 99ef951afaf0415b6927f02e41721259e855b9b8 Mon Sep 17 00:00:00 2001 From: raywu Date: Tue, 30 Oct 2018 13:54:21 +0800 Subject: DW01 - POST Logo Delayed Display / Fixed Setup String Lost --- CRB/CSP.sdl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CRB/CSP.sdl b/CRB/CSP.sdl index 5c6b4bf..e27e5b7 100644 --- a/CRB/CSP.sdl +++ b/CRB/CSP.sdl @@ -1723,3 +1723,20 @@ TOKEN Token = "BASE_BOARD_INFO" "=" "1" # Token = "NUMBER_OF_BASEBOARDS" "=" "1" End + +TOKEN + Name = "TSE_MULTILINE_CONTROLS" + Value = "1" + Help = "Turns on multi line controls. Currently subtitle and static text controls are supported. Default is DISABLE" + TokenType = Boolean + TargetH = Yes +End + +TOKEN + Name = "DEFAULT_BOOT_TIMEOUT" + Value = "3" + Help = "Number of seconds that the firmware will wait before initiating the original default boot selection. \A value of 0 indicates that the default boot selection is to be initiated immediately on boot. \A value of 65535(0xFFFF) indicates that firmware will wait for user input before booting. \This means the default boot selection is not automatically started by the firmware." + TokenType = Integer + TargetH = Yes + Range = "0-65535" +End -- cgit v1.2.3 From 85db34e860d2daa7e236db6204c15db3a724af02 Mon Sep 17 00:00:00 2001 From: raywu Date: Tue, 30 Oct 2018 13:55:08 +0800 Subject: DW01 - Rearrange Setup Menu (Graphics Configuration) / DPtoVGA as Primary in Dual Display --- Board/NB/NBSetup/NB.sd | 49 +++++++++++++++++++++++++++++++++++------------- Board/NB/NBSetup/NB.uni | Bin 172600 -> 172598 bytes 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/Board/NB/NBSetup/NB.sd b/Board/NB/NBSetup/NB.sd index 88b5f95..089831b 100644 --- a/Board/NB/NBSetup/NB.sd +++ b/Board/NB/NBSetup/NB.sd @@ -641,8 +641,8 @@ oneof varid = SETUP_DATA.PrimaryDisplay,\ prompt = STRING_TOKEN(STR_PRIMARY_VIDEO),\ help = STRING_TOKEN(STR_PRIMARY_VIDEO_HELP3),\ - option text = STRING_TOKEN(STR_COMMON_AUTO), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN(STR_IGFX_STRING), value = 0, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN(STR_COMMON_AUTO), value = 3, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN(STR_IGFX_STRING), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN(STR_PEG_STRING), value = 1, flags = RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN(STR_PCIE_STRING), value = 2, flags = RESET_REQUIRED, key = 0;\ endoneof; @@ -651,18 +651,27 @@ oneof varid = SETUP_DATA.PrimaryDisplay,\ prompt = STRING_TOKEN(STR_PRIMARY_VIDEO),\ help = STRING_TOKEN(STR_PRIMARY_VIDEO_HELP4),\ - option text = STRING_TOKEN(STR_COMMON_AUTO), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN(STR_IGFX_STRING), value = 0, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN(STR_COMMON_AUTO), value = 3, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN(STR_IGFX_STRING), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN(STR_PCIE_STRING), value = 2, flags = RESET_REQUIRED, key = 0;\ endoneof; +//#define NB_ONEOF_PRIMARYDISPLAY1\ +// oneof varid = SETUP_DATA.PrimaryDisplay,\ +// prompt = STRING_TOKEN(STR_PRIMARY_VIDEO),\ +// help = STRING_TOKEN(STR_PRIMARY_VIDEO_HELP5),\ +// option text = STRING_TOKEN(STR_COMMON_AUTO), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ +// option text = STRING_TOKEN(STR_PEG_STRING), value = 1, flags = RESET_REQUIRED, key = 0;\ +// option text = STRING_TOKEN(STR_PCIE_STRING), value = 2, flags = RESET_REQUIRED, key = 0;\ +// endoneof; #define NB_ONEOF_PRIMARYDISPLAY1\ oneof varid = SETUP_DATA.PrimaryDisplay,\ prompt = STRING_TOKEN(STR_PRIMARY_VIDEO),\ help = STRING_TOKEN(STR_PRIMARY_VIDEO_HELP5),\ - option text = STRING_TOKEN(STR_COMMON_AUTO), value = 3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN(STR_COMMON_AUTO), value = 3, flags = RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN(STR_PEG_STRING), value = 1, flags = RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN(STR_PCIE_STRING), value = 2, flags = RESET_REQUIRED, key = 0;\ + option text = STRING_TOKEN(STR_IGFX_STRING), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ endoneof; #endif // SwitchableGraphics_SUPPORT @@ -877,6 +886,18 @@ option text = STRING_TOKEN (STR_COMMON_DISABLED), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED, key = 0;\ endoneof; +//#define NB_ONEOF_IGDBOOTTYPE\ +// oneof varid = SETUP_DATA.IgdBootType,\ +// prompt = STRING_TOKEN(STR_VIDEO_BT_PROMPT),\ +// help = STRING_TOKEN(STR_VIDEO_BT_HELP),\ +// option text = STRING_TOKEN(STR_VIDEO_BT_DEFAULT), value = 0, flags = RESET_REQUIRED | DEFAULT | MANUFACTURING, key = 0;\ +// option text = STRING_TOKEN(STR_VIDEO_BT_CRT), value = 0x01, flags = RESET_REQUIRED, key = 0;\ +// option text = STRING_TOKEN(STR_VIDEO_BT_EFP), value = 0x04, flags = RESET_REQUIRED, key = 0;\ +// option text = STRING_TOKEN(STR_VIDEO_BT_LFP), value = 0x08, flags = RESET_REQUIRED, key = 0;\ +// option text = STRING_TOKEN(STR_VIDEO_BT_EFP3), value = 0x20, flags = RESET_REQUIRED, key = 0;\ +// option text = STRING_TOKEN(STR_VIDEO_BT_EFP2), value = 0x40, flags = RESET_REQUIRED, key = 0;\ +// option text = STRING_TOKEN(STR_VIDEO_BT_LFP2), value = 0x80, flags = RESET_REQUIRED, key = 0;\ +// endoneof; #define NB_ONEOF_IGDBOOTTYPE\ oneof varid = SETUP_DATA.IgdBootType,\ prompt = STRING_TOKEN(STR_VIDEO_BT_PROMPT),\ @@ -884,10 +905,6 @@ option text = STRING_TOKEN(STR_VIDEO_BT_DEFAULT), value = 0, flags = RESET_REQUIRED | DEFAULT | MANUFACTURING, key = 0;\ option text = STRING_TOKEN(STR_VIDEO_BT_CRT), value = 0x01, flags = RESET_REQUIRED, key = 0;\ option text = STRING_TOKEN(STR_VIDEO_BT_EFP), value = 0x04, flags = RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN(STR_VIDEO_BT_LFP), value = 0x08, flags = RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN(STR_VIDEO_BT_EFP3), value = 0x20, flags = RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN(STR_VIDEO_BT_EFP2), value = 0x40, flags = RESET_REQUIRED, key = 0;\ - option text = STRING_TOKEN(STR_VIDEO_BT_LFP2), value = 0x80, flags = RESET_REQUIRED, key = 0;\ endoneof; #define NB_ONEOF_DISPLAYPIPEB\ @@ -3802,7 +3819,7 @@ NB_ONEOF_GDXCENABLE // GdxcEnable form formid = AUTO_ID(INTEL_IGFX_ID), title = STRING_TOKEN(STR_INTEL_IGFX_FORM); SUBTITLE(STRING_TOKEN(STR_INTEL_IGFX_FORM)) - +suppressif TRUE ; suppressif ideqval NB_PLATFORM_DATA.IGFXAvailable == 0 OR ideqval SETUP_DATA.InternalGraphics == 0 OR ideqval NB_PLATFORM_DATA.IGFXGopAvailable == 1; @@ -3824,7 +3841,7 @@ NB_ONEOF_GDXCENABLE // GdxcEnable NB_NUMERIC_GFXTURBOIMON endif; - +endif ; SEPARATOR suppressif ideqval NB_PLATFORM_DATA.PegAvailable == 0 OR @@ -3859,6 +3876,8 @@ NB_ONEOF_GDXCENABLE // GdxcEnable // endif; + NB_ONEOF_IGDBOOTTYPE + #if defined(RC_PEG_0) && (RC_PEG_0 == 1) #if ( defined(SwitchableGraphics_SUPPORT) && (SwitchableGraphics_SUPPORT == 1) ) suppressif NOT ideqval SETUP_DATA.PrimaryDisplay == 4 OR @@ -3902,23 +3921,27 @@ NB_ONEOF_GDXCENABLE // GdxcEnable endif; +suppressif TRUE ; suppressif NOT ideqval NB_PLATFORM_DATA.IGFXCapability == 1; NB_ONEOF_INTERNALGRAPHICS endif; +endif ; suppressif ideqval NB_PLATFORM_DATA.IGFXAvailable == 0 OR ideqval SETUP_DATA.InternalGraphics == 0; // NB_ONEOF_GTTSIZE +suppressif TRUE ; NB_ONEOF_APERTURESIZE +endif ; NB_ONEOF_IGDDVMT50PREALLOC NB_ONEOF_IGDDVMT50TOTALALLOC - +suppressif TRUE ; NB_ONEOF_LOWPOWERMODE NB_ONEOF_PANELPOWERE @@ -3926,7 +3949,7 @@ NB_ONEOF_GDXCENABLE // GdxcEnable goto IGFX_LCD_FORM_ID, prompt = STRING_TOKEN(STR_IGFX_LCD), help = STRING_TOKEN(STR_IGFX_LCD); - +endif ; endif; endform; diff --git a/Board/NB/NBSetup/NB.uni b/Board/NB/NBSetup/NB.uni index cf6eb1c..8f768d1 100644 Binary files a/Board/NB/NBSetup/NB.uni and b/Board/NB/NBSetup/NB.uni differ -- cgit v1.2.3 From ad7170b13dcee8c956a13f5908fa93e036ba3cc7 Mon Sep 17 00:00:00 2001 From: raywu Date: Tue, 30 Oct 2018 13:55:30 +0800 Subject: DW01 - DPtoVGA as Primary in Dual Display --- Chipset/NB/hsw_1039.dat | Bin 65536 -> 65536 bytes Chipset/NB/hsw_1039.ssf | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Chipset/NB/hsw_1039.dat b/Chipset/NB/hsw_1039.dat index 718b10a..eeb5cd3 100644 Binary files a/Chipset/NB/hsw_1039.dat and b/Chipset/NB/hsw_1039.dat differ diff --git a/Chipset/NB/hsw_1039.ssf b/Chipset/NB/hsw_1039.ssf index 8add22a..5e293fa 100644 --- a/Chipset/NB/hsw_1039.ssf +++ b/Chipset/NB/hsw_1039.ssf @@ -22,7 +22,7 @@ $Hotplug_Support_Enb 00 $Enable_Panel_Timing 00 PAGE Boot Display Algorithm -TABLE $Dev_Boot_Table 09 08 01 0C 08 04 48 08 40 28 08 20 05 01 04 41 01 40 21 01 20 44 04 40 0D 01 04 45 01 04 64 04 40 49 01 40 29 01 20 4C 04 40 24 04 20 2C 04 20 +TABLE $Dev_Boot_Table 09 08 01 0C 08 04 48 08 40 28 08 20 05 04 01 41 01 40 21 01 20 44 04 40 0D 01 04 45 01 04 64 04 40 49 01 40 29 01 20 4C 04 40 24 04 20 2C 04 20 PAGE System BIOS Hooks $H14_Get_Misc_Status 00 -- cgit v1.2.3 From 5d7c0b6e49db31980c6a2f208f82ec985bca2fe9 Mon Sep 17 00:00:00 2001 From: raywu Date: Tue, 30 Oct 2018 13:56:28 +0800 Subject: DW01 - Release [DW01AT11] --- Board/EM/Setup/Setup.uni | Bin 24786 -> 24786 bytes DW01AT11.zip | Bin 0 -> 2825755 bytes RomImage/FitcBuild.bat | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 DW01AT11.zip diff --git a/Board/EM/Setup/Setup.uni b/Board/EM/Setup/Setup.uni index 4dc7cff..d9c6c13 100644 Binary files a/Board/EM/Setup/Setup.uni and b/Board/EM/Setup/Setup.uni differ diff --git a/DW01AT11.zip b/DW01AT11.zip new file mode 100644 index 0000000..05c608c Binary files /dev/null and b/DW01AT11.zip differ diff --git a/RomImage/FitcBuild.bat b/RomImage/FitcBuild.bat index 7728e0b..ef83740 100644 --- a/RomImage/FitcBuild.bat +++ b/RomImage/FitcBuild.bat @@ -103,7 +103,7 @@ GOTO ImageOutput :ImageOutput IF EXIST %DestDir%\OutImage.bin ECHO Rom_%RomSize%%RomSkue%.bin && move /Y %DestDir%\OutImage.bin Rom_%RomSize%%RomSkue%.bin -IF EXIST Rom_%RomSize%%RomSkue%.bin move /Y Rom_%RomSize%%RomSkue%.bin DW01AR10.bin +IF EXIST Rom_%RomSize%%RomSkue%.bin move /Y Rom_%RomSize%%RomSkue%.bin DW01AT11.bin IF EXIST %DestDir%\OutImage_1.bin ECHO Rom00%RomSkue%.bin && move /Y %DestDir%\OutImage_1.bin Rom00%RomSkue%.bin IF EXIST %DestDir%\OutImage_2.bin ECHO Rom01%RomSkue%.bin && move /Y %DestDir%\OutImage_2.bin Rom01%RomSkue%.bin echo Rom_%RomSize%%RomSkue%.bin>ForPfatName.txt -- cgit v1.2.3 From dd6cd23939ecc74185756193ee3f72e0bfe712b9 Mon Sep 17 00:00:00 2001 From: raywu Date: Wed, 31 Oct 2018 10:41:21 +0800 Subject: DW01 - Re-arrange USB Per Port Setup Option --- Board/SB/SBSetup/SB.sd | 45 +++++++++++++++++++++++++++++++-------------- Board/SB/SBSetup/SB.uni | Bin 150328 -> 150330 bytes 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/Board/SB/SBSetup/SB.sd b/Board/SB/SBSetup/SB.sd index 05d0f79..7e9da0f 100644 --- a/Board/SB/SBSetup/SB.sd +++ b/Board/SB/SBSetup/SB.sd @@ -6328,23 +6328,40 @@ // SB_ONEOF_PCHUSBPERPORTCTL +// suppressif ideqval SETUP_DATA.PchUsbPerPortCtl == 0x0; +// SB_ONEOF_PCHUSBPORT00 +// SB_ONEOF_PCHUSBPORT01 +// SB_ONEOF_PCHUSBPORT02 +//// SB_ONEOF_PCHUSBPORT03 +// SB_ONEOF_PCHUSBPORT04 +// SB_ONEOF_PCHUSBPORT05 +//// SB_ONEOF_PCHUSBPORT06 +//// SB_ONEOF_PCHUSBPORT07 +// suppressif ideqval SB_PLATFORM_DATA.LPTType == 1; +//// SB_ONEOF_PCHUSBPORT08 +// SB_ONEOF_PCHUSBPORT09 +// SB_ONEOF_PCHUSBPORT10 +// SB_ONEOF_PCHUSBPORT11 +//// SB_ONEOF_PCHUSBPORT12 +//// SB_ONEOF_PCHUSBPORT13 +// endif; suppressif ideqval SETUP_DATA.PchUsbPerPortCtl == 0x0; - SB_ONEOF_PCHUSBPORT00 - SB_ONEOF_PCHUSBPORT01 - SB_ONEOF_PCHUSBPORT02 - SB_ONEOF_PCHUSBPORT03 - SB_ONEOF_PCHUSBPORT04 SB_ONEOF_PCHUSBPORT05 - SB_ONEOF_PCHUSBPORT06 - SB_ONEOF_PCHUSBPORT07 - suppressif ideqval SB_PLATFORM_DATA.LPTType == 1; - SB_ONEOF_PCHUSBPORT08 - SB_ONEOF_PCHUSBPORT09 - SB_ONEOF_PCHUSBPORT10 + SB_ONEOF_PCHUSBPORT04 + SB_ONEOF_PCHUSBPORT03 + SB_ONEOF_PCHUSBPORT02 SB_ONEOF_PCHUSBPORT11 - SB_ONEOF_PCHUSBPORT12 - SB_ONEOF_PCHUSBPORT13 - endif; + SB_ONEOF_PCHUSBPORT10 + SB_ONEOF_PCHUSBPORT09 + SB_ONEOF_PCHUSBPORT08 + SB_ONEOF_PCHUSBPORT01 + SB_ONEOF_PCHUSBPORT00 +// SB_ONEOF_PCHUSBPORT06 +// SB_ONEOF_PCHUSBPORT07 +// suppressif ideqval SB_PLATFORM_DATA.LPTType == 1; +// SB_ONEOF_PCHUSBPORT12 +// SB_ONEOF_PCHUSBPORT13 +// endif; // SEPARATOR diff --git a/Board/SB/SBSetup/SB.uni b/Board/SB/SBSetup/SB.uni index 69d1bdb..22a2ffc 100644 Binary files a/Board/SB/SBSetup/SB.uni and b/Board/SB/SBSetup/SB.uni differ -- cgit v1.2.3 From 3fbdcb52cfc00b11b1a1a427d2831dbf0f7fbc97 Mon Sep 17 00:00:00 2001 From: raywu Date: Wed, 31 Oct 2018 10:48:14 +0800 Subject: DW01 - Release [DW01AT12] --- Board/EM/Setup/Setup.uni | Bin 24786 -> 24786 bytes DW01AT12.zip | Bin 0 -> 2825606 bytes RomImage/FitcBuild.bat | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 DW01AT12.zip diff --git a/Board/EM/Setup/Setup.uni b/Board/EM/Setup/Setup.uni index d9c6c13..254c635 100644 Binary files a/Board/EM/Setup/Setup.uni and b/Board/EM/Setup/Setup.uni differ diff --git a/DW01AT12.zip b/DW01AT12.zip new file mode 100644 index 0000000..640bfee Binary files /dev/null and b/DW01AT12.zip differ diff --git a/RomImage/FitcBuild.bat b/RomImage/FitcBuild.bat index ef83740..9b931d0 100644 --- a/RomImage/FitcBuild.bat +++ b/RomImage/FitcBuild.bat @@ -103,7 +103,7 @@ GOTO ImageOutput :ImageOutput IF EXIST %DestDir%\OutImage.bin ECHO Rom_%RomSize%%RomSkue%.bin && move /Y %DestDir%\OutImage.bin Rom_%RomSize%%RomSkue%.bin -IF EXIST Rom_%RomSize%%RomSkue%.bin move /Y Rom_%RomSize%%RomSkue%.bin DW01AT11.bin +IF EXIST Rom_%RomSize%%RomSkue%.bin move /Y Rom_%RomSize%%RomSkue%.bin DW01AT12.bin IF EXIST %DestDir%\OutImage_1.bin ECHO Rom00%RomSkue%.bin && move /Y %DestDir%\OutImage_1.bin Rom00%RomSkue%.bin IF EXIST %DestDir%\OutImage_2.bin ECHO Rom01%RomSkue%.bin && move /Y %DestDir%\OutImage_2.bin Rom01%RomSkue%.bin echo Rom_%RomSize%%RomSkue%.bin>ForPfatName.txt -- cgit v1.2.3 From 7fcf9549028c359f120fca26a51006d2e52be165 Mon Sep 17 00:00:00 2001 From: raywu Date: Thu, 1 Nov 2018 14:25:35 +0800 Subject: DW01 - Spec. Changed : Security String Changed --- Board/EM/AAEONSecurity/AAEONSecurity.sdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Board/EM/AAEONSecurity/AAEONSecurity.sdl b/Board/EM/AAEONSecurity/AAEONSecurity.sdl index b557745..2467d0b 100644 --- a/Board/EM/AAEONSecurity/AAEONSecurity.sdl +++ b/Board/EM/AAEONSecurity/AAEONSecurity.sdl @@ -43,7 +43,7 @@ End TOKEN Name = "SIGNATURE_MODEL_TAG" - Value = "'$$IEI-SA93$$'" + Value = "'$$IEI-SA22$$'" TokenType = Expression TargetMAK = Yes TargetH = Yes -- cgit v1.2.3 From ae6ea7bd47f2f55f46c5d25a24cca3ec2425184c Mon Sep 17 00:00:00 2001 From: raywu Date: Thu, 1 Nov 2018 14:35:00 +0800 Subject: DW01 - Release [DW01AR11] --- Board/EM/Setup/Setup.uni | Bin 24786 -> 24786 bytes DW01AR11.zip | Bin 0 -> 2825723 bytes RomImage/FitcBuild.bat | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 DW01AR11.zip diff --git a/Board/EM/Setup/Setup.uni b/Board/EM/Setup/Setup.uni index 254c635..946f14b 100644 Binary files a/Board/EM/Setup/Setup.uni and b/Board/EM/Setup/Setup.uni differ diff --git a/DW01AR11.zip b/DW01AR11.zip new file mode 100644 index 0000000..2f5eb27 Binary files /dev/null and b/DW01AR11.zip differ diff --git a/RomImage/FitcBuild.bat b/RomImage/FitcBuild.bat index 9b931d0..a6d960b 100644 --- a/RomImage/FitcBuild.bat +++ b/RomImage/FitcBuild.bat @@ -103,7 +103,7 @@ GOTO ImageOutput :ImageOutput IF EXIST %DestDir%\OutImage.bin ECHO Rom_%RomSize%%RomSkue%.bin && move /Y %DestDir%\OutImage.bin Rom_%RomSize%%RomSkue%.bin -IF EXIST Rom_%RomSize%%RomSkue%.bin move /Y Rom_%RomSize%%RomSkue%.bin DW01AT12.bin +IF EXIST Rom_%RomSize%%RomSkue%.bin move /Y Rom_%RomSize%%RomSkue%.bin DW01AR11.bin IF EXIST %DestDir%\OutImage_1.bin ECHO Rom00%RomSkue%.bin && move /Y %DestDir%\OutImage_1.bin Rom00%RomSkue%.bin IF EXIST %DestDir%\OutImage_2.bin ECHO Rom01%RomSkue%.bin && move /Y %DestDir%\OutImage_2.bin Rom01%RomSkue%.bin echo Rom_%RomSize%%RomSkue%.bin>ForPfatName.txt -- cgit v1.2.3