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

View File

@@ -74,11 +74,17 @@ def populate():
dpg.add_combo( dpg.add_combo(
items=vmin_processed_voltages, items=vmin_processed_voltages,
default_value="Default (600mV)", default_value="Default (600mV)",
label="CPU vMin (Mariko)", label="CPU High vMin (Mariko)",
tag="marikoCpuVmin", 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 callback=k.grab_kip_storage_values_no_mult
) )
dpg.add_combo( dpg.add_combo(
items=processed_voltages, items=processed_voltages,
default_value="Disabled", 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="Apply Tight Preset", callback=preset.apply_st_timings)
dpg.add_button(label="Load Default Preset", callback=preset.load_defaults) 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_separator(label="Frequencies (Mariko)")
dpg.add_text("Multiple Ram Frequencies on Mariko is in development") dpg.add_text("Multiple Ram Frequencies on Mariko is in development")
dpg.add_combo( dpg.add_combo(
@@ -114,7 +131,7 @@ def populate():
dpg.add_combo( dpg.add_combo(
items=["0 (1600bl)", "2 (1866bl)", "4 (2133bl)"], items=["0 (1600bl)", "2 (1866bl)", "4 (2133bl)"],
default_value="2", default_value="2",
label="Base Latency", label="Base Latency (unused)",
callback=k.grab_kip_storage_values_no_mult, callback=k.grab_kip_storage_values_no_mult,
tag="mem_burst_latency" tag="mem_burst_latency"
) )

View File

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

View File

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

View File

@@ -1,5 +1,5 @@
{ {
"name": "horizon:oc", "name": "hoc:sys",
"title_id": "0x00FF0000636C6BFF", "title_id": "0x00FF0000636C6BFF",
"title_id_range_min": "0x00FF0000636C6BFF", "title_id_range_min": "0x00FF0000636C6BFF",
"title_id_range_max": "0x00FF0000636C6BFF", "title_id_range_max": "0x00FF0000636C6BFF",
@@ -18,7 +18,7 @@
"*" "*"
], ],
"service_host": [ "service_host": [
"horizon:oc" "hoc:sys"
], ],
"kernel_capabilities": [ "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**. **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. 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 * Built-in configurator
* Compatible with most homebrew * Compatible with most homebrew
> *Higher (potentially dangerous) frequencies are unlockable.* > *Higher (potentially dangerous) frequencies are unlockable.*
> ⚙️ *Exact maximum values vary per console.* > *Exact maximum values vary per console.*
--- ---

View File

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

Binary file not shown.