loader: fix emc dvb

This commit is contained in:
souldbminersmwc
2025-10-03 18:13:13 -04:00
parent 403c2124d3
commit 77d08a9e74
10 changed files with 197 additions and 935 deletions

View File

@@ -1,219 +1,167 @@
<!doctype html>
<html lang=en>
<meta charset=UTF-8>
<meta name=viewport content="width=device-width,initial-scale=1">
<title>Switch OC Suite 2 | "If Switch OC Suite is so good, then why isn't there a Switch OC Suite 2?".</title>
<meta name=description content="If Switch OC Suite is so good, then why isn't there a Switch OC Suite 2?">
<link rel=stylesheet href=https://unpkg.com/@picocss/pico@latest/css/pico.min.css>
<style>
#nav-list{display:none}#nav-popup{display:unset}@media (min-width:768px){#nav-list{display:unset}#nav-popup{display:none}}details[open]>summary:not([role]):not(:focus){color:unset}div.hero>nav.container-fluid{position:fixed;top:0;z-index:99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}div.hero>header{padding-top:6rem}button[role=tab]{border-radius:0;border-left-width:calc(var(--border-width)/ 2);border-right-width:calc(var(--border-width)/ 2)}button[role=tab]:first-child{border-top-left-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius);border-left-width:var(--border-width)}button[role=tab]:last-child{border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);border-right-width:var(--border-width)}button[role=tab]:not(.outline){pointer-events:none;cursor:default}div.cust-element{margin:1.5rem 0 1.5rem 0}div.cust-element>blockquote,div.cust-element>blockquote>ul{margin:0;font-size:calc(var(--font-size) * .8);color:var(--muted-color)}div#download_btn_grid>a{margin:.5rem 0}
</style>
<div class=hero>
<nav class=container-fluid>
<ul>
<li><a href=#head class=contrast><b>Switch OC Suite 2</b></a></ul>
<ul id=nav-popup>
<li>
<details role=list dir=rtl>
<summary aria-haspopup=group role=link class=contrast>Jump to</summary>
<ul role=group>
<li><a href=#readme>README</a>
<li><a href=#download>Download</a>
<li><a href=#config>Configurator</a>
<li><a href=https://github.com/souldbminersmwc/Switch-OC-Suite-2 target=_blank>GitHub repository</a></ul>
</details>
</ul>
<ul id=nav-list>
<li><a href=#readme>README</a>
<li><a href=#download>Download</a>
<li><a href=#config>Config</a>
<li><a href=https://github.com/souldbminersmwc/Switch-OC-Suite-2 target=_blank>GitHub</a></ul>
</nav>
<header class=container>
<hgroup>
<h1>Switch OC Suite 2</h1>
<h2><i>"If Switch OC Suite is so good, then why isn't there a Switch OC Suite 2?"</i>.</h2>
</hgroup>
</header>
</div>
<section aria-label=README id=readme>
<div class=container>
<article>
<header>
<hgroup>
<h2>PLEASE READ ME!</h2>
<h3>🚨DISCLAIMER: THIS IS PROVIDED AS IS. USE AT YOUR OWN RISK!🚨</h3>
</hgroup>
<ul>
<li>Overclocking in general will shorten the lifespan of some hardware components. <strong>YOU ARE RESPONSIBLE for any problem or potential damage.</strong>
<li>Due to Horizon OS's design, instabilities from unsafe RAM clocks may cause filesystem corruption. <strong>Always make backup before enabling DRAM OC.</strong></ul>
</header>
<h3>Features</h3>
<details open>
<summary>For Erista variant (HAC-001)</summary>
<ul>
<li>CPU Overclock (Safe: 1785 MHz)
<ul>
<li>Unsafe
<ul>
<li>Due to the limit of board power draw or power IC
<li>Unlockable frequencies up to 2295 MHz
<li>See <a href=https://github.com/souldbminersmwc/Switch-OC-Suite-2/blob/master/Source/sys-clk-OC/README.md target=_blank>README for sys-clk-OC</a></ul>
</ul>
<li>DRAM Overclock (Safe: 1862.4 MHz)</ul>
</details>
<details open>
<summary>For Mariko variant (HAC-001-01, HDH-001, HEG-001)</summary>
<ul>
<li>CPU / GPU Overclock (Safe: 1963 / 1075 MHz)
<ul>
<li>Unsafe
<ul>
<li>Due to the limit of board power draw or power IC
<li>Unlockable frequencies up to 2907 / 1536 MHz
<li>See <a href=https://github.com/souldbminersmwc/Switch-OC-Suite-2/blob/master/Source/sys-clk-OC/README.md target=_blank>README for sys-clk-OC</a></ul>
</ul>
<li>DRAM Overclock (Safe: 1996.8 MHz)</ul>
</details>
<details open>
<summary>Sys-CLK OC and ReverseNX-RT</summary>
<ul>
<li>Global Profile
<ul>
<li>Designated a dummy title id <code>0xA111111111111111</code>.
<li>Priority: "Temp overrides" &gt; "Application profile" &gt; "Global profile" &gt; "System default".</ul>
</ul>
</details>
<details open>
<summary>System Settings (Optional)</summary>See <a href=https://github.com/souldbminersmwc/Switch-OC-Suite-2/blob/master/system_settings.md>system_settings.md</a></details>
<h3 id=installation open>Installation</h3>
<ol type=1>
<li>Download latest <a href=#download>release</a>.
<li>Grab <code>x.x.x_loader.kip</code> for your Atmosphere version, rename it to <code>loader.kip</code> and place it in <code>/atmosphere/kips/</code>.
<li>(optional) You can customize via <a href=#config>online loader configurator</a>
<table role=grid>
<thead>
<tr>
<th>Defaults
<th>Mariko
<th>Erista
<tbody>
<tr>
<td>CPU OC
<td>2295 MHz Max
<td>2091 MHz Max
<tr>
<td>CPU Boost
<td>1785 MHz
<td>N/A
<tr>
<td>CPU Volt
<td>1235 mV Max
<td>1235 mV Max
<tr>
<td>GPU OC
<td>1152 MHz Max
<td>998 MHz Max
<tr>
<td>RAM OC
<td>1996 MHz
<td>1862 MHz
<tr>
<td>RAM Volt
<td>Disabled
<td>Disabled
<tr>
<td>RAM Timing
<td>Auto-Adjusted
<td>Auto-Adjusted
<tr>
<td>CPU UV
<td>Disabled
<td>N/A
<tr>
<td>GPU UV
<td>Disabled
<td>N/A</table>
<li>Hekate-ipl bootloader Only (fss0) (Not required for AMS fusee)
<ul>
<li>At boot entry section in <code>bootloader/hekate_ipl.ini</code>, Add <code>kip1=atmosphere/kips/*.kip</code> to any line that works.</ul>
<li>Install [sys-clk-oc]<br>official [sys-clk] (2.0.0+) is compatible but not recommended (no bugfixes or additional features).
<li>(optional) Copy SdOut.zip for useful utilities.</ol>
<details>
<summary>How to build this project</summary>
<ol type=1>
<li>Grab necessary patches from the repo, then compile sys-clk, ReverseNX-RT and Atmosphere loader with devkitpro.
<li>Before compiling Atmosphere loader, run <code>patch.py</code> in <code>Atmosphere/stratosphere/loader/source/</code> to insert oc module into loader sysmodule.
<li>Run cd stratosphere/loader then make to build the loader.kip</li>
<li>When compilation is done, uncompress the kip to make it work with configurator: <code>hactool -t kip1 loader.kip --uncompress=loader.kip</code></ol>
</details>
<h3 id=faq>Frequently Asked Questions</h3>
<details open>
<summary>How to enable unsafe frequencies in sys-clk-OC?</summary>
<ul>
<li>Above all else, you should know <a href=#readme>what "unsafe" means and issues might arise</a>.
<li>See the end of <a href=https://github.com/souldbminersmwc/Switch-OC-Suite-2/blob/master/Source/sys-clk-OC/README.md target=_blank>README in sys-clk-OC</a>. Place this line <code>allow_unsafe_freq=1</code> under <code>[values]</code> section in <code>/config/sys-clk/config.ini</code></ul>
</details>
<details open>
<summary>I would like to bypass limit enforced in sys-clk to improve handheld performance without charger connected.</summary>
<ul>
<li>Bypassing clock cappings will be bad for battery.
<li>See the end of <a href=https://github.com/souldbminersmwc/Switch-OC-Suite-2/blob/master/Source/sys-clk-OC/README.md target=_blank>README in sys-clk-OC</a>. Place this line <code>uncapped_clocks=1</code> under <code>[values]</code> section in <code>/config/sys-clk/config.ini</code></ul>
</details>
<footer>
<details role=list>
<summary aria-haspopup=group role=button class=secondary>Acknowledgement</summary>
<ul role=group>
<li><a href=https://github.com/CTCaer/hekate target=_blank>CTCaer for Hekate-ipl bootloader, RE and hardware research</a>
<li><a href=https://devkitpro.org/ target=_blank>devkitPro for All-In-One homebrew toolchains</a>
<li><a href=https://github.com/masagrator/ReverseNX-RT target=_blank>masagrator for ReverseNX-RT and info on BatteryChargeInfoFields in psm module</a>
<li><a href=https://developer.nvidia.com/embedded/dlc/tegra-x1-technical-reference-manual target=_blank>Nvidia for Tegra X1 Technical Reference Manual</a>
<li><a href=https://github.com/retronx-team/sys-clk target=_blank>RetroNX team for sys-clk</a>
<li><a href=https://github.com/Atmosphere-NX/Atmosphere target=_blank>SciresM and Reswitched Team for the state-of-the-art Atmosphere CFW of Switch</a>
<li><a href=http://switchbrew.org/wiki/ target=_blank>Switchbrew wiki for Switch in-depth info</a>
<li><a href=https://gitlab.com/switchroot/kernel target=_blank>Switchroot for their modified L4T kernel and device tree</a>
<li>ZatchyCatGames for RE and original OC loader patches for Atmosphere
<li><a href=https://github.com/KazushiMe/Switch-OC-Suite target=_blank>KazushiMe for original Switch-OC-Suite</a>
<li>lineon for research and help</ul>
</details>
</footer>
</article>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Horizon OC - Switch Overclocking Tool</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
<style>
/* Background Image Cycling */
body {
margin: 0;
font-family: sans-serif;
overflow-x: hidden;
color: white;
}
.bg-slide {
position: fixed;
top: 0; left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
z-index: -2;
opacity: 0;
transition: opacity 2s ease-in-out;
}
.bg-slide.active {
opacity: 1;
}
/* Gradient overlay that changes with image */
.gradient-overlay {
position: fixed;
top: 0; left: 0;
width: 100%;
height: 100%;
z-index: -1;
pointer-events: none;
transition: background 2s ease-in-out;
}
/* Pop-in effect */
.popin {
transform: scale(0.8);
opacity: 0;
transition: transform 0.6s ease, opacity 0.6s ease;
}
.popin.aos-animate {
transform: scale(1);
opacity: 1;
}
/* Glassmorphism cards */
.glass {
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.25);
transition: transform 0.3s ease;
}
/* Apple-style liquid glass buttons */
.liquid-button {
padding: 0.75rem 2rem;
border-radius: 1.5rem;
font-weight: 600;
background: rgba(255,255,255,0.2);
backdrop-filter: blur(12px);
border: 1px solid rgba(255,255,255,0.3);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.25), 0 4px 15px rgba(0,0,0,0.25);
color: white;
cursor: pointer;
transition: all 0.3s ease;
}
.liquid-button:hover {
background: rgba(255,255,255,0.3);
box-shadow: inset 0 2px 0 rgba(255,255,255,0.35), 0 6px 20px rgba(0,0,0,0.3);
transform: scale(1.05);
}
</style>
</head>
<body class="text-white">
<!-- Background Images -->
<div class="bg-slide" style="background-image: url('img1.png');"></div>
<div class="bg-slide" style="background-image: url('img2.png');"></div>
<div class="bg-slide" style="background-image: url('img3.png');"></div>
<!-- Gradient overlay -->
<div class="gradient-overlay" id="gradient-overlay" style="background: linear-gradient(135deg, rgba(50,0,100,0.6), rgba(0,0,50,0.6));"></div>
<!-- Hero Section -->
<header class="text-center py-28 relative overflow-hidden popin" data-aos="popin">
<h1 class="text-6xl font-extrabold mb-4 drop-shadow-lg">Horizon OC</h1>
<p class="text-lg text-gray-200 mt-4">
Upgrade the performance of your Nintendo Switch Console
</p>
<div class="mt-8 flex justify-center gap-6">
<a href="#download" class="liquid-button">Download Now</a>
<a href="benchmarks.html" class="liquid-button">View Benchmarks</a>
</div>
</section>
<section aria-label=Download id=download>
<div class=container>
<article>
<header>
<hgroup>
<h2>Download</h2>
<h3>Get latest version of Switch OC Suite and its corresponding Atmosphere package here.</h3>
</hgroup>
</header>
<div class=grid id=download_btn_grid><a role=button aria-busy=true id=loader_kip_btn>Generating link, please wait...</a> <a role=button aria-busy=true id=sdout_zip_btn>Generating link, please wait...</a> <a target=_blank role=button aria-busy=true id=ams_btn>Generating link, please wait...</a></div>
<footer>See <a href=#installation>Installation section</a> for how to use Switch OC Suite.</footer>
</article>
</header>
<!-- About -->
<section class="max-w-4xl mx-auto text-center py-20 px-6 popin" data-aos="popin" data-aos-delay="100">
<h2 class="text-4xl font-bold mb-6">What is Horizon OC?</h2>
<p class="text-gray-300 text-lg leading-relaxed">
HOC is a tool to overclock your modded Nintendo Switch Console.
This can help improve framrates, load times and latency in games.
</p>
</section>
<!-- Features -->
<section class="py-20">
<div class="max-w-6xl mx-auto px-6 grid md:grid-cols-3 gap-10">
<div class="glass p-8 rounded-2xl shadow-xl hover:scale-105 transition popin" data-aos="popin" data-aos-delay="200">
<h3 class="text-2xl font-semibold mb-3">⚡ Performance</h3>
<p class="text-gray-300">Overclocking your console can lead to significantly better performance in demanding titles</p>
</div>
<div class="glass p-8 rounded-2xl shadow-xl hover:scale-105 transition popin" data-aos="popin" data-aos-delay="300">
<h3 class="text-2xl font-semibold mb-3">☣ Safely</h3>
<p class="text-gray-300">Horizon OC aims to be as safe as possible, while allowing advanced users to customize it further</p>
</div>
<div class="glass p-8 rounded-2xl shadow-xl hover:scale-105 transition popin" data-aos="popin" data-aos-delay="400">
<h3 class="text-2xl font-semibold mb-3">🔧 Customizable</h3>
<p class="text-gray-300">Horizon OC comes with a advanced configurator which allows you to customize it to your own needs</p>
</div>
</div>
</section>
<section aria-label=Config id=config>
<div class=container>
<article>
<header>
<hgroup>
<h2>Configurator</h2>
<h3>Configure frequencies and voltages to suit your hardware and preferences.</h3>
</hgroup>
</header>
<form id=form>
<nav role=tablist><button type=button role=tab id=tab_all data-platform=0 disabled>All</button> <button type=button role=tab class=outline id=tab_erista data-platform=1 disabled>Erista</button> <button type=button role=tab class=outline id=tab_mariko data-platform=2 disabled>Mariko</button></nav><label for=file><input id=file type=file> <small id=cust_rev>Upload loader.kip here</small></label>
<div id=config-list-basic></div>
<div id=config-list-advanced></div>
<div id=config-list-gpu></div>
</form>
<footer>
<div class=grid><button type=button id=load_default role=button disabled>Load Default</button> <button type=button id=load_saved role=button disabled>Load Last Saved</button> <button type=submit id=save role=button disabled>Save</button></div>
</footer>
</article>
</div>
</section>
<footer class=container><small>Build with <a href=https://picocss.com target=_blank>Pico</a>. All trademarks, logos and brand names are the property of their respective owners, used for identification purposes only.</small></footer>
<script src=./main.js></script>
</section>
<!-- Download -->
<section id="download" class="text-center py-24 popin" data-aos="popin" data-aos-delay="500">
<h2 class="text-3xl font-bold mb-6">Get Horizon OC</h2>
<a href="#" class="liquid-button">Download Latest Release</a>
<p class="text-gray-400 mt-4">Ensure to use the latest version of Atmosphere</p>
</section>
<!-- Footer -->
<footer class="bg-black bg-opacity-60 text-center py-6 text-gray-500 text-sm popin" data-aos="popin">
This website is open source!
</footer>
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script>
AOS.init({ once: true, duration: 800 });
// Background image cycling with gradient
const slides = document.querySelectorAll('.bg-slide');
const gradientOverlay = document.getElementById('gradient-overlay');
const gradients = [
'linear-gradient(135deg, rgba(80,0,150,0.6), rgba(0,0,60,0.6))',
'linear-gradient(135deg, rgba(150,50,0,0.6), rgba(50,0,0,0.6))',
'linear-gradient(135deg, rgba(0,100,150,0.6), rgba(0,30,50,0.6))'
];
let current = 0;
function cycleBg() {
slides.forEach((s,i)=>s.classList.remove('active'));
slides[current].classList.add('active');
gradientOverlay.style.background = gradients[current];
current = (current+1)%slides.length;
}
cycleBg();
setInterval(cycleBg, 6000); // every 6s
</script>
</body>
</html>