From b51b8dbbcd3316d8f5fcefa5b1293ebc6f9a2484 Mon Sep 17 00:00:00 2001 From: souldbminersmwc Date: Sun, 18 Jan 2026 16:26:30 -0500 Subject: [PATCH] sysclk: minor changes --- .../loader/source/oc/customize.cpp | 6 +++--- Source/sys-clk/sysmodule/src/board.cpp | 4 ++-- .../sys-clk/sysmodule/src/clock_manager.cpp | 2 +- Source/sys-clk/sysmodule/src/errors.cpp | 4 ++-- dist/README.md | 3 ++- .../contents/00FF0000636C6BFF/exefs.nsp | Bin 211508 -> 211431 bytes 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp index 0bf60016..6d0d3a34 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp @@ -142,9 +142,9 @@ volatile CustomizeTable C = { AUTO /* 921 */, AUTO /* 998 */, AUTO /* 1075 */, - AUTO /* 1152 */, - AUTO /* 1228 */, - AUTO /* 1267 (Disabled by default) */, + DEACTIVATED_GPU_FREQ /* 1152 */, + DEACTIVATED_GPU_FREQ /* 1228 */, + DEACTIVATED_GPU_FREQ /* 1267 (Disabled by default) */, DEACTIVATED_GPU_FREQ /* 1305 (Disabled by default) */, DEACTIVATED_GPU_FREQ /* 1344 (Disabled by default) */, DEACTIVATED_GPU_FREQ /* 1382 (Disabled by default) */, diff --git a/Source/sys-clk/sysmodule/src/board.cpp b/Source/sys-clk/sysmodule/src/board.cpp index d0f8988a..607b78d7 100644 --- a/Source/sys-clk/sysmodule/src/board.cpp +++ b/Source/sys-clk/sysmodule/src/board.cpp @@ -426,14 +426,14 @@ void Board::SetHz(SysClkModule module, std::uint32_t hz) DisplayRefresh_SetRate(hz); return; } - + if(module > SysClkModule_MEM) + return; if(HOSSVC_HAS_CLKRST) { ClkrstSession session = {0}; rc = clkrstOpenSession(&session, Board::GetPcvModuleId(module), 3); ASSERT_RESULT_OK(rc, "clkrstOpenSession"); - rc = clkrstSetClockRate(&session, hz); ASSERT_RESULT_OK(rc, "clkrstSetClockRate"); diff --git a/Source/sys-clk/sysmodule/src/clock_manager.cpp b/Source/sys-clk/sysmodule/src/clock_manager.cpp index aac60e0d..7d98b014 100644 --- a/Source/sys-clk/sysmodule/src/clock_manager.cpp +++ b/Source/sys-clk/sysmodule/src/clock_manager.cpp @@ -694,7 +694,7 @@ bool ClockManager::RefreshContext() targetHz = this->config->GetAutoClockHz(GLOBAL_PROFILE_ID, HorizonOCModule_Display, this->context->profile, true); } - if(targetHz && this->context->realFreqs[HorizonOCModule_Display] != targetHz) + if(targetHz && this->context->realFreqs[HorizonOCModule_Display] > targetHz) this->context->realFreqs[HorizonOCModule_Display] = targetHz; // clean up display real freqs, should probably be moved to the real freqs loop? diff --git a/Source/sys-clk/sysmodule/src/errors.cpp b/Source/sys-clk/sysmodule/src/errors.cpp index f94b381d..5fc89a35 100644 --- a/Source/sys-clk/sysmodule/src/errors.cpp +++ b/Source/sys-clk/sysmodule/src/errors.cpp @@ -28,14 +28,14 @@ #include "errors.h" #include #include - +#include "file_utils.h" void Errors::ThrowException(const char* format, ...) { va_list args; va_start(args, format); const char* msg = Errors::FormatMessage(format, args); va_end(args); - + FileUtils::LogLine(format, args); throw std::runtime_error(msg); } diff --git a/dist/README.md b/dist/README.md index 62b85423..87c8cad7 100644 --- a/dist/README.md +++ b/dist/README.md @@ -35,13 +35,14 @@ It enables advanced CPU, GPU, and RAM tuning with user-friendly configuration to ## Features * **CPU:** Up to 1963MHz (Mariko) / 1785MHz (Erista) -* **GPU:** Up to 1075MHz (Mariko) / 998MHz (Erista) +* **GPU:** Up to 1075MHz (Mariko) / 921MHz (Erista) * **RAM:** Up to 1866MHz (Mariko) / 1600MHz (Erista) * Over/undervolting support * Built-in configurator * Compatible with most homebrew > *Higher (potentially dangerous) frequencies are unlockable via configuration.* +> *Erista and Mariko units can usually push a bit further fully safely with a bit of undervolting, however this may not work on all units.* > *The exact maximum overclock possible varies per console, although most consoles should be able to do this safely.* --- diff --git a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp index 01214a92974a0706bd47707d84a1cd4cf38749e1..574da04a5c5673dc0a0da7ebed25755f0f338a5c 100644 GIT binary patch delta 20224 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 XADYi`atJ@U1TQG+TTd=QV&MM+Hr&|t delta 20459 zcmZv^e_WJR_6L6Mz0W-J6PRDXASeTlIw~qECMxCtgJ7bfpkiQ*{7_UBQY>02MrAj) z*bNx)p+v=`7G2v&C~Vi=sM!6mE&B--jS_WKGD<2yD$E(?d!F(8`o2DYe0N`T&v~Ew z>$yM9J?Gpze)B-pHm0gFXwEHS@PGezu6pL?r_#$QKo5fkAozcPzt6->P7Zov0jlB| zOkY~`m%1}&XPv+Gsp)tte6#5ArMLcXCFw^fY4T-}?FSmVcl4 z(R}#A4*T9;rmn018<)Wjm93fiQO5nR?%mq(<*K)TeDY5r#=ph?6!O%t?}A^~E}EBI zxGhOC=k$^f{k13?h-wm|{ zEDytEmWM`IaqTvPvo06|qhl(+g;*Rf@^fiNl;a&fX?o-G>bVtAdlz#6v0rvBG{6;j zvfAn4&lp91g&sy`T3UmpKN4bdDCNtEt#y@r=OiN+>vj@osXUMs8Y)vk_O0i$LZ_%y zFuKE|d}+!Qwd3;CbwuA9Zh9|-bU1n~^RYM|YbG-t^I}i?y{Y&!Haf%da9hKmbpIZQ zGd8qLIjIhCv#-d>DvdCnbL40HIUHfeUx0b<+7i zWyE#T5%Q786X?W|7~K!GV!29E)4^AdeM+i#>WgF&8!NveIpaJ+ssl4w)jZWpN@B2M7^Wl-M7$|-7*sn+a9TSFW4*tba=!xr)R6jcMSq!+gUkSrM z*OC9kEdG;mUJlZce=-)jk95bZM?M~D&k@IXoVKh6Nvq7Vq!r;dq*u)zO zZkZ`X`kpTK!=b>~55EqM{m?3h#doIi)dTVBYA1tPe=xF3e>BoduNldu+lQvi)StH%vNf zkjZ8#ec{YK#?ShiNoE00&N!KB*6mL<)iYY5(&}5fWX4&h$kN!@AG2hzB%4Bu)uOIGY$4S@#LKE*x4atj2cx9A zypgYdqoX?JSVv7vLx&^gct>qa7Ru5sD%a}DpqZBPNi$b92hU7w44JvIW%5k%tAE=O zbRokP`_7hO%R65k`XXklzGL}c^WdF}WqZgwA043Y-1@jD=EldDVonwV(wC9Gf;2(8 z7wM}=W1d6TVorAaHm16iOKp@@|3z2IP5+dn@NAgQ%h)fY&r>_1fgF6#$B1`_TuSI&kD$Fska>Jy!Ik@kWI87i(HQ^>O2b?uYr+@#pQ5x=8 zpJ*htj(v#{gm;`w^yljNXYGy)iM#pJjm&=efn!EexUN(hTBVm!$1=;q+p8@Po$KsU z$JV4!qIbNQv|RUodhEmLJk&Mf){biR?oFaWJC{zQXcK+imfUvhwIs(%TFhmNc32YAh= z13Sk|j*mAi(tglMMn0bKr2P_Xc{moR`Jb^shb*;J`Lgb8t_OGNRP!!JZECdi1yNJG z4?22M?@U&oK#BdZwz}R3wf3cP4-ZjobtsVgc7U|j|E5hRGI}wDv%u)v4ikjZ6EZ8dS7 zlyy*Y=mGApF-B*NNy8X4t{C-mTuk2}Wp?l@1&JeIi%Ch1GSlDB49Vnna6Gx?fX)eA zCK;3HQY>f6sNUO}sGXHjKz|(RP4j;Av(%i<*Wr;
  • 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