diff --git a/Source/hoc-clk/common/include/hocclk/config.h b/Source/hoc-clk/common/include/hocclk/config.h index a7ea4285..7581a5e3 100644 --- a/Source/hoc-clk/common/include/hocclk/config.h +++ b/Source/hoc-clk/common/include/hocclk/config.h @@ -602,8 +602,9 @@ static inline uint64_t hocclkDefaultConfigValue(HocClkConfigValue val) case HocClkConfigValue_ThermalThrottle: case HocClkConfigValue_IsFirstLoad: case HocClkConfigValue_DVFSMode: - case HocClkConfigValue_AutoRAMCPUOverclock: return 1ULL; + case HocClkConfigValue_AutoRAMCPUOverclock: + return 0ULL; case HocClkConfigValue_AutoRamCpuCpuOCFreq: return 1683000ULL; case HocClkConfigValue_AutoRamCpuRamOCThreshold: diff --git a/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp b/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp index fcbebdaa..2d433860 100644 --- a/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp +++ b/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp @@ -841,13 +841,24 @@ class ExperimentalSettingsSubMenuGui : public MiscGui { FatalGui::openWithResultCode("hocclkIpcGetConfigValues", rc); return; } - this->listElement->addItem(new CompactCategoryHeader("Experimental Settings")); + auto addHeaderSpacer = [this]() { + tsl::elm::CustomDrawer *spacer = new tsl::elm::CustomDrawer([](tsl::gfx::Renderer *, s32, s32, s32, s32) {}); + spacer->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 12); + this->listElement->addItem(spacer); + }; + ValueThresholds thresholdsDisabled(0, 0); if (IsMariko()) { - addConfigToggle(HocClkConfigValue_MarikoMiddleFreqs, nullptr, true); + this->listElement->addItem(new CompactCategoryHeader("CPU Settings")); addConfigToggle(HocClkConfigValue_LiveCpuUv, nullptr); } + if (IsMariko()) + addHeaderSpacer(); + this->listElement->addItem(new CompactCategoryHeader("GPU Settings")); + if (IsMariko()) + addConfigToggle(HocClkConfigValue_MarikoMiddleFreqs, nullptr, true); + addConfigToggle(HocClkConfigValue_LiveGpuVoltage, "Live GPU Volt Request", false); std::vector gpuSchedMethodValues = { @@ -857,6 +868,85 @@ class ExperimentalSettingsSubMenuGui : public MiscGui { addConfigButton(HocClkConfigValue_GPUSchedulingMethod, "GPU Scheduling Override Method", ValueRange(0, 0, 1, "", 0), "GPU Scheduling Override Method", &thresholdsDisabled, {}, gpuSchedMethodValues, false); + if (IsMariko()) { + addHeaderSpacer(); + this->listElement->addItem(new CompactCategoryHeader("RAM Settings")); + std::vector clkOptionsRamOc = { + NamedValue("1122 MHz", 1122000), NamedValue("1224 MHz", 1224000), NamedValue("1326 MHz", 1326000), NamedValue("1428 MHz", 1428000), + NamedValue("1581 MHz", 1581000), NamedValue("1683 MHz", 1683000, "Default"), NamedValue("1785 MHz", 1785000), NamedValue("1887 MHz", 1887000), + NamedValue("1963 MHz", 1963500), NamedValue("2091 MHz", 2091000), NamedValue("2193 MHz", 2193000), NamedValue("2295 MHz", 2295000), + NamedValue("2397 MHz", 2397000), NamedValue("2499 MHz", 2499000), NamedValue("2601 MHz", 2601000), NamedValue("2703 MHz", 2703000), + NamedValue("2805 MHz", 2805000), + }; + + std::vector emcMaxClock = { + NamedValue("1600 MHz", 1600000), + NamedValue("1633 MHz", 1633000), + NamedValue("1666 MHz", 1666000), + NamedValue("1700 MHz", 1700000), + NamedValue("1733 MHz", 1733000), + NamedValue("1766 MHz", 1766000), + NamedValue("1800 MHz", 1800000), + NamedValue("1833 MHz", 1833000), + NamedValue("1866 MHz", 1866000, "JEDEC."), + NamedValue("1900 MHz", 1900000), + NamedValue("1933 MHz", 1933000), + NamedValue("1966 MHz", 1966000), + NamedValue("1996 MHz", 1996800, "JEDEC."), + NamedValue("2000 MHz", 2000000), + NamedValue("2033 MHz", 2033000), + NamedValue("2066 MHz", 2066000), + NamedValue("2100 MHz", 2100000), + NamedValue("2133 MHz", 2133000, "JEDEC."), + NamedValue("2166 MHz", 2166000), + NamedValue("2200 MHz", 2200000), + NamedValue("2233 MHz", 2233000), + NamedValue("2266 MHz", 2266000), + NamedValue("2300 MHz", 2300000), + NamedValue("2333 MHz", 2333000), + NamedValue("2366 MHz", 2366000), + NamedValue("2400 MHz", 2400000, "JEDEC."), + NamedValue("2433 MHz", 2433000), + NamedValue("2466 MHz", 2466000), + NamedValue("2500 MHz", 2500000), + NamedValue("2533 MHz", 2533000), + NamedValue("2566 MHz", 2566000), + NamedValue("2600 MHz", 2600000), + NamedValue("2633 MHz", 2633000), + NamedValue("2666 MHz", 2666000, "JEDEC."), + NamedValue("2700 MHz", 2700000), + NamedValue("2733 MHz", 2733000), + NamedValue("2766 MHz", 2766000), + NamedValue("2800 MHz", 2800000), + NamedValue("2833 MHz", 2833000), + NamedValue("2866 MHz", 2866000), + NamedValue("2900 MHz", 2900000), + NamedValue("2933 MHz", 2933000, "JEDEC."), + NamedValue("2966 MHz", 2966000), + NamedValue("3000 MHz", 3000000), + NamedValue("3033 MHz", 3033000), + NamedValue("3066 MHz", 3066000), + NamedValue("3100 MHz", 3100000), + NamedValue("3133 MHz", 3133000), + NamedValue("3166 MHz", 3166000), + NamedValue("3200 MHz", 3200000, "JEDEC."), + NamedValue("3233 MHz", 3233000, "±1720 speedo"), + NamedValue("3266 MHz", 3266000, "±1740 speedo"), + NamedValue("3300 MHz", 3300000, "±1760 speedo"), + NamedValue("3333 MHz", 3333000, "±1780 speedo"), + NamedValue("3366 MHz", 3366000, "±1800 speedo"), + NamedValue("3400 MHz", 3400000, "±1820 speedo"), + NamedValue("3433 MHz", 3433000, "±???? speedo"), + NamedValue("3466 MHz", 3466000, "±???? speedo"), + NamedValue("3500 MHz", 3500000, "±???? speedo"), + }; + addConfigToggle(HocClkConfigValue_AutoRAMCPUOverclock, "Auto CPU RAM OC"); + addConfigButton(HocClkConfigValue_AutoRamCpuCpuOCFreq, "Auto CPU RAM OC CPU clock", ValueRange(0, 0, 1, "", 1), "CPU Clock", + &thresholdsDisabled, {}, clkOptionsRamOc, false, false); + addConfigButton(HocClkConfigValue_AutoRamCpuRamOCThreshold, "Auto CPU RAM OC Threshold", ValueRange(0, 0, 1, "", 1), "RAM Clock", + &thresholdsDisabled, {}, emcMaxClock, false, false); + } + tsl::elm::CustomDrawer *chargeWarningText = new tsl::elm::CustomDrawer([](tsl::gfx::Renderer *renderer, s32 x, s32 y, s32 w, s32 h) { renderer->drawString("\uE150 Overriding the charge current", false, x + 20, y + 30, 18, tsl::style::color::ColorText); renderer->drawString("can be dangerous and may cause", false, x + 20, y + 50, 18, tsl::style::color::ColorText); @@ -1336,17 +1426,6 @@ class RamSubmenuGui : public MiscGui { emcMaxClock, false, true); } - tsl::elm::ListItem *latenciesSubmenu = new tsl::elm::ListItem("RAM Latency Editor"); - latenciesSubmenu->setClickListener([](u64 keys) { - if (keys & HidNpadButton_A) { - tsl::swapTo(); - return true; - } - return false; - }); - latenciesSubmenu->setValue(R_ARROW); - this->listElement->addItem(latenciesSubmenu); - tsl::elm::ListItem *timingsSubmenu = new tsl::elm::ListItem("RAM Timing Reductions"); timingsSubmenu->setClickListener([](u64 keys) { if (keys & HidNpadButton_A) { @@ -1358,6 +1437,17 @@ class RamSubmenuGui : public MiscGui { timingsSubmenu->setValue(R_ARROW); this->listElement->addItem(timingsSubmenu); + tsl::elm::ListItem *latenciesSubmenu = new tsl::elm::ListItem("RAM Latency Editor"); + latenciesSubmenu->setClickListener([](u64 keys) { + if (keys & HidNpadButton_A) { + tsl::swapTo(); + return true; + } + return false; + }); + latenciesSubmenu->setValue(R_ARROW); + this->listElement->addItem(latenciesSubmenu); + if (IsMariko()) { tsl::elm::ListItem *socVoltageTable = new tsl::elm::ListItem("SOC Voltage Table"); socVoltageTable->setClickListener([](u64 keys) { @@ -2382,84 +2472,10 @@ class CpuSubmenuGui : public MiscGui { this->configList->values[KipConfigValue_marikoCpuUVHigh] ? &mCpuClockThresholdsUV : &mCpuClockThresholds, {}, maxClkOptions, false, true); - std::vector clkOptionsRamOc = { - NamedValue("1122 MHz", 1122000), NamedValue("1224 MHz", 1224000), NamedValue("1326 MHz", 1326000), NamedValue("1428 MHz", 1428000), - NamedValue("1581 MHz", 1581000), NamedValue("1683 MHz", 1683000, "Default"), NamedValue("1785 MHz", 1785000), NamedValue("1887 MHz", 1887000), - NamedValue("1963 MHz", 1963500), NamedValue("2091 MHz", 2091000), NamedValue("2193 MHz", 2193000), NamedValue("2295 MHz", 2295000), - NamedValue("2397 MHz", 2397000), NamedValue("2499 MHz", 2499000), NamedValue("2601 MHz", 2601000), NamedValue("2703 MHz", 2703000), - NamedValue("2805 MHz", 2805000), - }; - addConfigButton(KipConfigValue_marikoCpuBoostClock, "CPU Boost Clock", ValueRange(0, 0, 1, "", 1), "CPU Boost Clock", this->configList->values[KipConfigValue_marikoCpuUVHigh] ? &mCpuClockThresholdsUV : &mCpuClockThresholds, {}, maxClkOptions, false, true); - std::vector emcMaxClock = { - NamedValue("1600 MHz", 1600000), - NamedValue("1633 MHz", 1633000), - NamedValue("1666 MHz", 1666000), - NamedValue("1700 MHz", 1700000), - NamedValue("1733 MHz", 1733000), - NamedValue("1766 MHz", 1766000), - NamedValue("1800 MHz", 1800000), - NamedValue("1833 MHz", 1833000), - NamedValue("1866 MHz", 1866000, "JEDEC."), - NamedValue("1900 MHz", 1900000), - NamedValue("1933 MHz", 1933000), - NamedValue("1966 MHz", 1966000), - NamedValue("1996 MHz", 1996800, "JEDEC."), - NamedValue("2000 MHz", 2000000), - NamedValue("2033 MHz", 2033000), - NamedValue("2066 MHz", 2066000), - NamedValue("2100 MHz", 2100000), - NamedValue("2133 MHz", 2133000, "JEDEC."), - NamedValue("2166 MHz", 2166000), - NamedValue("2200 MHz", 2200000), - NamedValue("2233 MHz", 2233000), - NamedValue("2266 MHz", 2266000), - NamedValue("2300 MHz", 2300000), - NamedValue("2333 MHz", 2333000), - NamedValue("2366 MHz", 2366000), - NamedValue("2400 MHz", 2400000, "JEDEC."), - NamedValue("2433 MHz", 2433000), - NamedValue("2466 MHz", 2466000), - NamedValue("2500 MHz", 2500000), - NamedValue("2533 MHz", 2533000), - NamedValue("2566 MHz", 2566000), - NamedValue("2600 MHz", 2600000), - NamedValue("2633 MHz", 2633000), - NamedValue("2666 MHz", 2666000, "JEDEC."), - NamedValue("2700 MHz", 2700000), - NamedValue("2733 MHz", 2733000), - NamedValue("2766 MHz", 2766000), - NamedValue("2800 MHz", 2800000), - NamedValue("2833 MHz", 2833000), - NamedValue("2866 MHz", 2866000), - NamedValue("2900 MHz", 2900000), - NamedValue("2933 MHz", 2933000, "JEDEC."), - NamedValue("2966 MHz", 2966000), - NamedValue("3000 MHz", 3000000), - NamedValue("3033 MHz", 3033000), - NamedValue("3066 MHz", 3066000), - NamedValue("3100 MHz", 3100000), - NamedValue("3133 MHz", 3133000), - NamedValue("3166 MHz", 3166000), - NamedValue("3200 MHz", 3200000, "JEDEC."), - NamedValue("3233 MHz", 3233000, "±1720 speedo"), - NamedValue("3266 MHz", 3266000, "±1740 speedo"), - NamedValue("3300 MHz", 3300000, "±1760 speedo"), - NamedValue("3333 MHz", 3333000, "±1780 speedo"), - NamedValue("3366 MHz", 3366000, "±1800 speedo"), - NamedValue("3400 MHz", 3400000, "±1820 speedo"), - NamedValue("3433 MHz", 3433000, "±???? speedo"), - NamedValue("3466 MHz", 3466000, "±???? speedo"), - NamedValue("3500 MHz", 3500000, "±???? speedo"), - }; - addConfigToggle(HocClkConfigValue_AutoRAMCPUOverclock, "Auto CPU RAM OC"); - addConfigButton(HocClkConfigValue_AutoRamCpuCpuOCFreq, "Auto CPU RAM OC CPU clock", ValueRange(0, 0, 1, "", 1), "CPU Clock", - &thresholdsDisabled, {}, clkOptionsRamOc, false, false); - addConfigButton(HocClkConfigValue_AutoRamCpuRamOCThreshold, "Auto CPU RAM OC Threshold", ValueRange(0, 0, 1, "", 1), "RAM Clock", - &thresholdsDisabled, {}, emcMaxClock, false, false); } else { addConfigTrackbar(KipConfigValue_eristaCpuUV, "CPU UV", ValueRange(0, 5, 1));