configurator: update configurator to support latest layout

also fix hoc-sys build
This commit is contained in:
souldbminersmwc
2025-11-24 19:20:12 -05:00
parent ae7c673919
commit 53991636fb
10 changed files with 81 additions and 42 deletions

View File

@@ -37,7 +37,7 @@ volatile CustomizeTable C = {
.commonCpuBoostClock = 1785000, // Default boost clock
.commonEmcMemVolt = 1125000, // LPDDR4X JEDEC Specification
.commonEmcMemVolt = 1175000, // LPDDR4X JEDEC Specification
.eristaCpuMaxVolt = 1235,
@@ -45,13 +45,13 @@ volatile CustomizeTable C = {
.marikoCpuMaxVolt = 1120,
.marikoEmcMaxClock = 3000000, // Hynix NME and Samsung AM-MGCJ Rating (others are 4766MT, 2133MHz)
.marikoEmcMaxClock = 2700000, // Hynix NME and Samsung AM-MGCJ Rating (others are 4766MT, 2133MHz)
.marikoEmcVddqVolt = 640000,
.marikoCpuUV = 0, // No undervolt
.marikoGpuUV = 3,
.marikoGpuUV = 2,
.eristaCpuUV = 0,
@@ -64,21 +64,21 @@ volatile CustomizeTable C = {
// Defaults - Zeroed
// Primary
.t1_tRCD = 0,
.t2_tRP = 0,
.t3_tRAS = 0,
.t1_tRCD = 4,
.t2_tRP = 3,
.t3_tRAS = 8,
// Secondary
.t4_tRRD = 0,
.t5_tRFC = 0,
.t6_tRTW = 0,
.t7_tWTR = 0,
.t8_tREFI= 0,
.t4_tRRD = 2,
.t5_tRFC = 5,
.t6_tRTW = 4,
.t7_tWTR = 4,
.t8_tREFI= 6,
// .mem_burst_latency = 0, // 0 - 1600l, 1 = 1866bl, 2 = 2133bl /* TODO: Remove/fix. */
.marikoCpuHighVmin = 750,
.marikoCpuHighVmin = 800,
.marikoCpuLowVmin = 600,
.marikoCpuLowVmin = 650,
.eristaGpuVmin = 810,
@@ -99,18 +99,18 @@ volatile CustomizeTable C = {
610 /* 614 */,
610 /* 691 */,
610 /* 768 */,
620 /* 844 */,
640 /* 921 */,
675 /* 998 */,
710 /* 1075 */,
735 /* 1152 */,
785 /* 1228 */,
785 /* 1267 (Disabled by default) */,
960 /* 1305 (Disabled by default) */,
960 /* 1344 (Disabled by default) */,
960 /* 1382 (Disabled by default) */,
960 /* 1420 (Disabled by default) */,
960 /* 1459 (Disabled by default) */,
610 /* 844 */,
625 /* 921 */,
655 /* 998 */,
685 /* 1075 */,
725 /* 1152 */,
750 /* 1228 */,
765 /* 1267 (Disabled by default) */,
790 /* 1305 (Disabled by default) */,
0 /* 1344 (Disabled by default) */,
0 /* 1382 (Disabled by default) */,
0 /* 1420 (Disabled by default) */,
0 /* 1459 (Disabled by default) */,
0 /* 1497 (Disabled by default) */,
0 /* 1536 (Disabled by default) */,

View File

@@ -74,11 +74,17 @@ def populate():
dpg.add_combo(
items=vmin_processed_voltages,
default_value="Default (600mV)",
label="CPU vMin (Mariko)",
tag="marikoCpuVmin",
label="CPU High vMin (Mariko)",
tag="marikoCpuHighVmin",
callback=k.grab_kip_storage_values_no_mult
)
dpg.add_combo(
items=vmin_processed_voltages,
default_value="Default (800mV)",
label="CPU Low vMin (Mariko)",
tag="marikoCpuLowVmin",
callback=k.grab_kip_storage_values_no_mult
)
dpg.add_combo(
items=processed_voltages,
default_value="Disabled",

View File

@@ -50,6 +50,23 @@ def populate():
dpg.add_button(label="Apply Tight Preset", callback=preset.apply_st_timings)
dpg.add_button(label="Load Default Preset", callback=preset.load_defaults)
dpg.add_combo(
items=["0", "1"],
default_value="0",
label="MTC Configuraton",
tag="mtcConf",
callback=k.grab_kip_storage_values
)
dpg.add_combo(
items=["0", "1"],
default_value="0",
label="HP Mode",
tag="hpMode",
callback=k.grab_kip_storage_values
)
dpg.add_separator(label="Frequencies (Mariko)")
dpg.add_text("Multiple Ram Frequencies on Mariko is in development")
dpg.add_combo(
@@ -114,7 +131,7 @@ def populate():
dpg.add_combo(
items=["0 (1600bl)", "2 (1866bl)", "4 (2133bl)"],
default_value="2",
label="Base Latency",
label="Base Latency (unused)",
callback=k.grab_kip_storage_values_no_mult,
tag="mem_burst_latency"
)

View File

@@ -18,8 +18,8 @@ freqs_khz = [
1459200, 1497600, 1536000
]
freqs_khz_e = [
76800, 153600, 230400, 307200, 384000, 460800, 537600, 614400, 691200, 768000,
844800, 921600, 998400, 1075200 #, 1152000, 1228800 # Disabled by default as these freqs can cause board damage
76800, 115200, 153600, 192000, 230400, 268800, 307200, 345600, 384000, 422400, 460800, 499200, 537600,
576000,614400, 652800,691200,729600, 768000,806400, 844800,883200, 921600,960000, 998400,1036800, 1075200# ,
]
freqs_mhz = [
@@ -84,7 +84,8 @@ variables = [
("t7_tWTR", "u32"),
("t8_tREFI", "u32"),
("mem_burst_latency", "u32"),
("marikoCpuVmin", "u32"),
("marikoCpuHighVmin", "u32"),
("marikoCpuLowVmin", "u32"),
("eristaGpuVmin", "u32"),
("marikoGpuVmin", "u32"),
("marikoGpuVmax", "u32"),
@@ -115,18 +116,31 @@ variables = [
("g_volt_e_76800", "u32"),
("g_volt_e_115200", "u32"),
("g_volt_e_153600", "u32"),
("g_volt_e_192000", "u32"),
("g_volt_e_230400", "u32"),
("g_volt_e_268800", "u32"),
("g_volt_e_307200", "u32"),
("g_volt_e_345600", "u32"),
("g_volt_e_384000", "u32"),
("g_volt_e_422400", "u32"),
("g_volt_e_460800", "u32"),
("g_volt_e_499200", "u32"),
("g_volt_e_537600", "u32"),
("g_volt_e_576000", "u32"),
("g_volt_e_614400", "u32"),
("g_volt_e_652800", "u32"),
("g_volt_e_691200", "u32"),
("g_volt_e_729600", "u32"),
("g_volt_e_768000", "u32"),
("g_volt_e_806400", "u32"),
("g_volt_e_844800", "u32"),
("g_volt_e_883200", "u32"),
("g_volt_e_921600", "u32"),
("g_volt_e_960000", "u32"),
("g_volt_e_998400", "u32"),
("g_volt_e_1036800", "u32"),
("g_volt_e_1075200", "u32"),
# ("g_volt_e_1152000", "u32"),
# ("g_volt_e_1228800", "u32"),
@@ -142,6 +156,7 @@ fmt_map = {
def load_all_vars():
c.load_entry_object("custRev", 0)
c.load_entry_object("mtcConf", 0)
c.load_entry_object("hpMode", 0)
c.load_entry_object("commonCpuBoostClock", 1)
c.load_entry_object("commonEmcMemVolt", 2)
c.load_entry_object("eristaCpuMaxVolt", 3)
@@ -166,7 +181,8 @@ def load_all_vars():
c.load_entry_object("t7_tWTR", 5)
c.load_entry_object("t8_tREFI", 5)
c.load_entry_object("mem_burst_latency", 5)
c.load_entry_object("marikoCpuVmin", 3)
c.load_entry_object("marikoCpuHighVmin", 3)
c.load_entry_object("marikoCpuLowVmin", 3)
c.load_entry_object("eristaGpuVmin", 3)
c.load_entry_object("marikoGpuVmin", 3)
c.load_entry_object("marikoGpuVmax", 3)
@@ -180,8 +196,8 @@ def load_all_vars():
c.load_entry_object(f"g_volt_{freq}", 3)
for e_freq in [
"76800", "153600", "230400", "307200", "384000", "460800", "537600",
"614400", "691200", "768000", "844800", "921600", "998400", "1075200"# ,
"76800", "115200", "153600", "192000", "230400", "268800", "307200", "345600", "384000", "422400", "460800", "499200", "537600",
"576000","614400", "652800","691200","729600", "768000","806400", "844800","883200", "921600","960000", "998400","1036800", "1075200"# ,
# "1152000", "1228800"
]:
c.load_entry_object(f"g_volt_e_{e_freq}", 3)

View File

@@ -32,7 +32,7 @@
#include "clock_manager.h"
#define SYSCLK_IPC_API_VERSION 4
#define SYSCLK_IPC_SERVICE_NAME "horizon:oc"
#define SYSCLK_IPC_SERVICE_NAME "hoc:sys"
enum SysClkIpcCmd
{

View File

@@ -1,5 +1,5 @@
{
"name": "horizon:oc",
"name": "hoc:sys",
"title_id": "0x00FF0000636C6BFF",
"title_id_range_min": "0x00FF0000636C6BFF",
"title_id_range_max": "0x00FF0000636C6BFF",
@@ -18,7 +18,7 @@
"*"
],
"service_host": [
"horizon:oc"
"hoc:sys"
],
"kernel_capabilities": [
{

6
dist/README.md vendored
View File

@@ -24,7 +24,7 @@
---
## 🌀 About
## About
**Horizon OC** is an open-source overclocking tool for Nintendo Switch consoles running **Atmosphere custom firmware**.
It enables advanced CPU, GPU, and RAM tuning with user-friendly configuration tools.
@@ -40,8 +40,8 @@ It enables advanced CPU, GPU, and RAM tuning with user-friendly configuration to
* Built-in configurator
* Compatible with most homebrew
> *Higher (potentially dangerous) frequencies are unlockable.*
> ⚙️ *Exact maximum values vary per console.*
> *Higher (potentially dangerous) frequencies are unlockable.*
> *Exact maximum values vary per console.*
---

View File

@@ -1,5 +1,5 @@
{
"name" : "hoc-clk",
"name" : "Horizon OC",
"tid" : "00FF0000636C6BFF",
"requires_reboot": false
}

Binary file not shown.