diff --git a/Source/Horizon-OC-Monitor/Makefile b/Source/Horizon-OC-Monitor/Makefile index fb23de0e..5e774165 100644 --- a/Source/Horizon-OC-Monitor/Makefile +++ b/Source/Horizon-OC-Monitor/Makefile @@ -38,7 +38,7 @@ include $(DEVKITPRO)/libnx/switch_rules # NACP building is skipped as well. #--------------------------------------------------------------------------------- APP_TITLE := Horizon OC Monitor -APP_VERSION := 1.3.2+r4-hoc +APP_VERSION := 1.3.2+r4-hoc-r2 TARGET := $(notdir $(CURDIR)) BUILD := build SOURCES := source diff --git a/Source/Horizon-OC-Monitor/source/sysclk_ipc.c b/Source/Horizon-OC-Monitor/source/sysclk_ipc.c index 30508523..f81004f0 100644 --- a/Source/Horizon-OC-Monitor/source/sysclk_ipc.c +++ b/Source/Horizon-OC-Monitor/source/sysclk_ipc.c @@ -79,14 +79,17 @@ Result sysclkIpcGetAPIVersion(u32* out_ver) Result sysclkIpcGetVersionString(char* out, size_t len) { return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_GetVersionString, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, .buffers = {{out, len}}, ); } Result sysclkIpcGetCurrentContext(SysClkContext* out_context) { - return serviceDispatchOut(&g_sysclkSrv, SysClkIpcCmd_GetCurrentContext, *out_context); + return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_GetCurrentContext, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, + .buffers = {{out_context, sizeof(SysClkContext)}}, + ); } Result sysclkIpcGetProfileCount(u64 tid, u8* out_count) @@ -112,7 +115,7 @@ Result sysclkIpcSetOverride(SysClkModule module, u32 hz) Result sysclkIpcGetProfiles(u64 tid, SysClkTitleProfileList* out_profiles) { return serviceDispatchIn(&g_sysclkSrv, SysClkIpcCmd_GetProfiles, tid, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, .buffers = {{out_profiles, sizeof(SysClkTitleProfileList)}}, ); } @@ -128,7 +131,7 @@ Result sysclkIpcSetProfiles(u64 tid, SysClkTitleProfileList* profiles) Result sysclkIpcGetConfigValues(SysClkConfigValueList* out_configValues) { return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_GetConfigValues, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, .buffers = {{out_configValues, sizeof(SysClkConfigValueList)}}, ); } @@ -136,7 +139,7 @@ Result sysclkIpcGetConfigValues(SysClkConfigValueList* out_configValues) Result sysclkIpcSetConfigValues(SysClkConfigValueList* configValues) { return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_SetConfigValues, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_In }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_In }, .buffers = {{configValues, sizeof(SysClkConfigValueList)}}, ); } diff --git a/Source/sys-clk/common/src/client/ipc.c b/Source/sys-clk/common/src/client/ipc.c index 30508523..f81004f0 100644 --- a/Source/sys-clk/common/src/client/ipc.c +++ b/Source/sys-clk/common/src/client/ipc.c @@ -79,14 +79,17 @@ Result sysclkIpcGetAPIVersion(u32* out_ver) Result sysclkIpcGetVersionString(char* out, size_t len) { return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_GetVersionString, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, .buffers = {{out, len}}, ); } Result sysclkIpcGetCurrentContext(SysClkContext* out_context) { - return serviceDispatchOut(&g_sysclkSrv, SysClkIpcCmd_GetCurrentContext, *out_context); + return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_GetCurrentContext, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, + .buffers = {{out_context, sizeof(SysClkContext)}}, + ); } Result sysclkIpcGetProfileCount(u64 tid, u8* out_count) @@ -112,7 +115,7 @@ Result sysclkIpcSetOverride(SysClkModule module, u32 hz) Result sysclkIpcGetProfiles(u64 tid, SysClkTitleProfileList* out_profiles) { return serviceDispatchIn(&g_sysclkSrv, SysClkIpcCmd_GetProfiles, tid, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, .buffers = {{out_profiles, sizeof(SysClkTitleProfileList)}}, ); } @@ -128,7 +131,7 @@ Result sysclkIpcSetProfiles(u64 tid, SysClkTitleProfileList* profiles) Result sysclkIpcGetConfigValues(SysClkConfigValueList* out_configValues) { return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_GetConfigValues, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_Out }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_Out }, .buffers = {{out_configValues, sizeof(SysClkConfigValueList)}}, ); } @@ -136,7 +139,7 @@ Result sysclkIpcGetConfigValues(SysClkConfigValueList* out_configValues) Result sysclkIpcSetConfigValues(SysClkConfigValueList* configValues) { return serviceDispatch(&g_sysclkSrv, SysClkIpcCmd_SetConfigValues, - .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_In }, + .buffer_attrs = { SfBufferAttr_HipcAutoSelect | SfBufferAttr_In }, .buffers = {{configValues, sizeof(SysClkConfigValueList)}}, ); } diff --git a/Source/sys-clk/overlay/Makefile b/Source/sys-clk/overlay/Makefile index d573d087..90387362 100644 --- a/Source/sys-clk/overlay/Makefile +++ b/Source/sys-clk/overlay/Makefile @@ -39,7 +39,7 @@ include ${TOPDIR}/lib/libultrahand/ultrahand.mk # version control constants #--------------------------------------------------------------------------------- #TARGET_VERSION := $(shell git describe --dirty --always --tags) -APP_VERSION := 1.0.1 +APP_VERSION := 1.0.2 TARGET_VERSION := $(APP_VERSION) #--------------------------------------------------------------------------------- diff --git a/Source/sys-clk/sysmodule/src/ipc_service.cpp b/Source/sys-clk/sysmodule/src/ipc_service.cpp index 71ff40a7..4dea5685 100644 --- a/Source/sys-clk/sysmodule/src/ipc_service.cpp +++ b/Source/sys-clk/sysmodule/src/ipc_service.cpp @@ -119,9 +119,15 @@ Result IpcService::ServiceHandlerFunc(void* arg, const IpcServerRequest* r, u8* break; case SysClkIpcCmd_GetCurrentContext: - *out_dataSize = sizeof(SysClkContext); - return ipcSrv->GetCurrentContext((SysClkContext*)out_data); - + if(r->data.size >= sizeof(std::uint64_t) && r->hipc.meta.num_recv_buffers >= 1) + { + size_t bufSize = hipcGetBufferSize(r->hipc.data.recv_buffers); + if(bufSize >= sizeof(SysClkContext)) + { + return ipcSrv->GetCurrentContext((SysClkContext*)hipcGetBufferAddress(r->hipc.data.recv_buffers)); + } + } + break; case SysClkIpcCmd_Exit: return ipcSrv->Exit(); diff --git a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp index a2cfd3c3..1d8fbf35 100644 Binary files a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp and b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp differ diff --git a/dist/atmosphere/kips/hoc.kip b/dist/atmosphere/kips/hoc.kip index 26edc394..da653127 100644 Binary files a/dist/atmosphere/kips/hoc.kip and b/dist/atmosphere/kips/hoc.kip differ diff --git a/dist/config/horizon-oc/lang/lang/zh-tw.json b/dist/config/horizon-oc/lang/lang/zh-tw.json new file mode 100644 index 00000000..bc7fb3fb --- /dev/null +++ b/dist/config/horizon-oc/lang/lang/zh-tw.json @@ -0,0 +1,132 @@ +{ + "Horizon OC Zeus": "Horizon OC Zeus", + "Edit App Profile": "編輯應用配置", + "Advanced": "高級", + "Edit Global Profile": "編輯全局配置", + "Temporary Overrides": "臨時覆蓋", + "Temporary Overrides Reset": "臨時覆蓋 重設", + "Settings": "設置", + "Information": "資訊", + "Enable": "啟用", + "Uncapped Clocks": "解除頻率上限", + "Override Boost Mode": "覆蓋加速模式", + "CPU Max Display Clock": "CPU 最大顯示頻率", + "Thermal Throttle": "溫度節流", + "Thermal Throttle Threshold": "溫度節流閾值", + "Handheld TDP": "掌機模式 TDP", + "Handheld TDP Limit": "掌機模式 TDP 限制", + "Lite TDP Limit": "Lite TDP 限制", + "Enforce Board Limit": "強制主板限制", + "Battery Charge Current": "電池充電電流", + "Display Refresh Rate Changing": "顯示刷新率變更", + "Fix CPU Volt Bug": "修復 CPU 電壓錯誤", + "[cfg] no enum format string": "[cfg] 無枚舉格式字串", + "KIP": "KIP", + "Save KIP Settings": "保存 KIP 設置", + "RAM Settings": "記憶體設定", + "CPU Settings": "CPU 設置", + "GPU Settings": "GPU 設置", + "Experimental": "實驗性功能", + "Charge Current Override": "充電電流覆蓋", + "Disabled": "禁用", + "HP Mode": "高性能模式", + "EMC Max Clock": "EMC 最大頻率", + "EMC VDD2 Voltage": "EMC VDD2 電壓", + "EMC VDDQ Voltage": "EMC VDDQ 電壓", + "DVB Shift": "DVB 偏移", + "Memory Timings": "記憶體時序", + "Memory Latencies": "記憶體延遲", + "t1 tRCD": "t1 tRCD", + "t2 tRP": "t2 tRP", + "t3 tRAS": "t3 tRAS", + "t4 tRRD": "t4 tRRD", + "t5 tRFC": "t5 tRFC", + "t6 tRTW": "t6 tRTW", + "t7 tWTR": "t7 tWTR", + "t8 tREFI": "t8 tREFI", + "Update RAM Timings": "更新記憶體時序", + "\uE150 This feature is EXPERIMENTAL": "\uE150 此功能為實驗性功能", + "and should only be used for testing!": "僅應用於測試!", + "Read Latency": "讀取延遲", + "Write Latency": "寫入延遲", + "CPU UV": "CPU 降壓", + "CPU Unlock": "CPU 解鎖", + "CPU VMIN": "CPU 最低電壓", + "CPU Max Voltage": "CPU 最大電壓", + "CPU UV Table": "CPU 降壓表", + "CPU Low UV": "CPU 低頻降壓", + "CPU High UV": "CPU 高頻降壓", + "CPU Max Clock": "CPU 最大頻率", + "CPU Low VMIN": "CPU 低頻最低電壓", + "CPU High VMIN": "CPU 高頻最低電壓", + "GPU Undervolt Table": "GPU 降壓表", + "Calculate GPU Vmin": "計算 GPU 最低電壓", + "GPU VMIN": "GPU 最低電壓", + "GPU VMAX": "GPU 最大電壓", + "GPU Volt Offset": "GPU 電壓偏移", + "GPU Custom Table": "GPU 自訂表", + "GPU Custom Table (mV)": "GPU 自訂表 (mV)", + "\uE150 Setting GPU Clocks past": "\uE150 將 GPU 頻率設置超過", + "1075MHz without UV, 1152MHz on SLT or ": "無降壓時的 1075MHz、SLT 時的 1152MHz 或", + "1228MHz on HiOPT can cause ": "HiOPT 時的 1228MHz 可能會造成", + "permanent damage to your Switch!": "對您的 Switch 造成永久性損壞!", + "Proceed at your own risk!": "風險自負!", + "921MHz without UV and 960MHz on": "無降壓時的 921MHz 和", + "SLT or HiOPT can cause ": "SLT 或 HiOPT 時的 960MHz 可能會造成", + "Auto": "自動", + "Sleep Mode": "休眠模式", + "Stock": "默認", + "Dev OC": "開發超頻", + "Boost Mode": "加速模式", + "Safe Max": "安全最大值", + "Unsafe Max": "不安全最大值", + "Absolute Max": "絕對最大值", + "Boost Mode & Safe Max": "加速模式 & 安全最大值", + "Official Rating": "官方額定值", + "Default (Mariko)": "默認 (Mariko)", + "Default (Erista)": "默認 (Erista)", + "Rating": "額定值", + "Safe Max (Mariko)": "安全最大值 (Mariko)", + "Safe Max (Erista)": "安全最大值 (Erista)", + "Default": "默認", + "1581MHz Tbreak": "1581MHz Tbreak", + "1683MHz Tbreak": "1683MHz Tbreak", + "Extreme UV Table": "極限降壓表", + "No UV": "不降壓", + "SLT Table": "SLT 表", + "HiOPT Table": "HiOPT 表", + "Power": "功耗", + "Temp": "溫度", + "Voltage": "電壓", + "TDP Threshold": "TDP 閾值", + "Lite TDP Threshold": "Lite TDP 閾值", + "Thermal Throttle Limit": "溫度節流限制", + "1600BL": "1600BL", + "1866BL": "1866BL", + "2133BL": "2133BL", + "BAT": "電池", + "FAN": "風扇", + "DISP": "顯示", + "Board": "主板", + "Skin": "外殼", + "Now": "當前", + "Avg": "平均", + "App ID": "應用 ID", + "Profile": "配置", + "CPU": "CPU", + "GPU": "GPU", + "Memory": "記憶體", + "Display": "顯示", + "Governor": "調速器", + "SOC": "SOC", + "PCB": "PCB", + "PMIC": "PMIC", + "Docked": "底座模式", + "Handheld": "掌機模式", + "Charging": "充電中", + "USB Charger": "USB 充電器", + "PD Charger": "PD 充電器", + "VDD2": "VDD2", + "VDDQ": "VDDQ", + "GPU DVFS": "GPU DVFS" +} \ No newline at end of file diff --git a/dist/switch/.overlays/Horizon-OC-Monitor.ovl b/dist/switch/.overlays/Horizon-OC-Monitor.ovl index d4d5bb73..cf143857 100644 Binary files a/dist/switch/.overlays/Horizon-OC-Monitor.ovl and b/dist/switch/.overlays/Horizon-OC-Monitor.ovl differ diff --git a/dist/switch/.overlays/horizon-oc-overlay.ovl b/dist/switch/.overlays/horizon-oc-overlay.ovl index b817747d..eca50e08 100644 Binary files a/dist/switch/.overlays/horizon-oc-overlay.ovl and b/dist/switch/.overlays/horizon-oc-overlay.ovl differ