From b90a67aa430c180f950736714eb83b636ed77716 Mon Sep 17 00:00:00 2001 From: souldbminersmwc Date: Sun, 15 Mar 2026 12:21:59 -0400 Subject: [PATCH] update binaries --- dist/README.md | 168 ++++++++++++++++++ .../contents/00FF0000636C6BFF/exefs.nsp | Bin 213681 -> 223764 bytes dist/atmosphere/kips/hoc.kip | Bin 281772 -> 281804 bytes dist/switch/.overlays/Horizon-OC-Monitor.ovl | Bin 1335356 -> 1335356 bytes dist/switch/.overlays/horizon-oc-overlay.ovl | Bin 1138748 -> 1286204 bytes 5 files changed, 168 insertions(+) create mode 100644 dist/README.md diff --git a/dist/README.md b/dist/README.md new file mode 100644 index 00000000..6b62de66 --- /dev/null +++ b/dist/README.md @@ -0,0 +1,168 @@ + +
+ +logo + +--- + +![License: GPL-2.0](https://img.shields.io/badge/GPL--2.0-red?style=for-the-badge) +![Nintendo Switch](https://img.shields.io/badge/Nintendo_Switch-E60012?style=for-the-badge\&logo=nintendo-switch\&logoColor=white) +[![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge\&logo=discord\&logoColor=white)](https://dsc.gg/horizonoc) +![VSCode](https://img.shields.io/badge/VSCode-0078D4?style=for-the-badge\&logo=visual%20studio%20code\&logoColor=white) +![Made with Notepad++](assets/np++.png?raw=true) +![C++](https://img.shields.io/badge/C%2B%2B-00599C?style=for-the-badge\&logo=c%2B%2B\&logoColor=white) +![Downloads](https://img.shields.io/github/downloads/souldbminersmwc/Horizon-OC/total.svg?style=for-the-badge) + +--- + +
+ +## ⚠️ Disclaimer + +> **THIS TOOL CAN BE DANGEROUS IF MISUSED. PROCEED WITH CAUTION.** +> Due to the design of Horizon OS, **overclocking RAM can cause NAND OR SD CORRUPTION.** +> Ensure you have a **full NAND, PROINFO, EMUMMC and SD backup** before proceeding. + +--- + +## 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. + +--- + +## Features + +* **CPU:** Up to 1963MHz (Mariko) / 1785MHz (Erista) +* **GPU:** Up to 1075MHz (Mariko) / 921MHz (Erista) +* **RAM:** Up to 1866/2133MHz (Mariko) / 1600MHz (Erista) +* Over/undervolting support +* Built-in configurator +* Compatible with most homebrew + +> It is recommended to read the [guide](https://rentry.co/howtoget60fps) before proceeding, as this can help you get a *significant* performance boost over the default settings, often times with less power draw and heat output + +--- + +## Installation + +1. Ensure you have the latest versions of + + * [Atmosphere](https://github.com/Atmosphere-NX/Atmosphere) + * [Ultrahand Overlay](https://github.com/ppkantorski/Ultrahand-Overlay) +2. Download and extract the **Horizon OC Package** to the root of your SD card. +3. If using **Hekate**, edit `hekate_ipl.ini` to include: + + ``` + kip1=atmosphere/kips/hoc.kip + ``` + + *(No changes needed if using fusee.)* + +--- + +## Configuration + +1. Open the Horizon OC Overlay +2. Open the settings menu +3. Adjust your overclocking settings as desired. A helpful guide can be found [here.](https://rentry.co/mariko#oc-settings-for-horizon-oc) +4. Click **Save KIP Settings** to apply your configuration. + +--- + +## Building from Source + +Refer to COMPILATION.md + +--- +## Clock table + +### MEM clocks +* 3200 → max on mariko, JEDEC. +* 2933 → JEDEC. +* 2666 → JEDEC. +* 2400 → max on erista, JEDEC. +* 2133 → mariko safe max (4266 Modules), JEDEC. +* 1996 → JEDEC. +* 1866 → mariko safe max (3733 Modules), JEDEC. +* 1600 → official docked, boost mode, erista safe max, JEDEC. +* 1331 → official handheld, JEDEC. +* 1065 +* 800 +* 665 + +### CPU clocks +* 2601 → mariko absolute max, very dangerous +* 2499 +* 2397 → mariko safe max with UV (low speedo) +* 2295 +* 2193 +* 2091 +* 1963 → mariko no UV max clock +* 1887 +* 1785 → erista no UV max clock, boost mode +* 1683 +* 1581 +* 1428 +* 1326 +* 1224 → sdev oc +* 1122 +* 1020 → official docked & handheld +* 918 +* 816 +* 714 +* 612 → sleep mode + +**Notes:** +1. On Erista, CPU in handheld is capped to 1581MHz + +### GPU clocks +* 1536 → absolute max clock on mariko. very dangerous +* 1459 +* 1382 +* 1305 +* 1267 → NVIDIA T214 rating +* 1228 → mariko HiOPT safe clock +* 1152 → mariko SLT max clock +* 1075 → mariko no UV max clock. absolute max clock on erista. very dangerous +* 998 → NVIDIA T210 rating +* 960 (erista only) → erista slt/hiopt safe max clock +* 921 → erista no UV max clock +* 844 +* 768 → official docked +* 691 +* 614 +* 537 +* 460 → max handheld +* 384 → official handheld +* 307 → official handheld +* 230 +* 153 +* 76 → boost mode + +**Notes:** +1. GPU overclock is capped at 460MHz on erista in handheld +2. On Mariko, cap with No uv is 614MHz, with SLT it is 691MHz and with HiOPT it's 768MHz +3. Clocks higher than 768MHz on erista need the official charger is plugged in. +4. On Mariko, cap with No uv is 844MHz, with SLT it is 921MHz and with HiOPT it's 998MHz + +--- + +## Credits +* **Lightos's Cat** - Cat + +* **Souldbminer** – hoc-clk and loader development +* **Lightos** – loader patches development +* **SciresM** - Atmosphere CFW +* **CTCaer** - L4T, Hekate, perfect ram timings +* **KazushiMe** – Switch OC Suite +* **hanai3bi (meha)** – Switch OC Suite, EOS, sys-clk-eos +* **NaGaa95** – L4T-OC-kernel +* **B3711 (halop)** – EOS +* **sys-clk team (m4xw, p-sam, natinusala)** – sys-clk +* **b0rd2death** – Ultrahand sys-clk & Status Monitor fork +* **MasaGratoR and ZachyCatGames** - General help +* **MasaGratoR** - Status Monitor & Display Refresh Rate Driver +* **Dom, Samybigio, Arcdelta, Miki, Happy, Flopsider, Winnerboi77, Blaise, Alvise, TDRR, agjeococh, frost, letum00 and Xenshen** - Testing +* **Samybigio2011** - Italian translations diff --git a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp index 0aacb6d94c8d4f3fea55e25c481ed974b3d42f0a..a2cfd3c39b9dacecda307a885b76c7b029558b39 100644 GIT binary patch delta 122936 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