From b8ca2e7db847385fa6c33abe5cfd89007fcce8d9 Mon Sep 17 00:00:00 2001 From: lifehackerhansol Date: Tue, 30 May 2023 18:11:39 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20hacks-gu?= =?UTF-8?q?ide/Guide=5F3DS@24466e39638fdcd477a3120502955305ba186f19=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/js/selecting.js | 72 +++++++++++++++++++++++------------------- feed.xml | 2 +- 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/assets/js/selecting.js b/assets/js/selecting.js index 0709b15d17..8f5d8167fe 100644 --- a/assets/js/selecting.js +++ b/assets/js/selecting.js @@ -5,6 +5,9 @@ SPDX-License-Identifier: MIT */ +const DEVICE_N3DS = 1; +const DEVICE_O3DS = 0; + // Soundhax // 1.0-11.3, all regions, all consoles function can_soundhax(major, minor, native, region, model) { @@ -45,11 +48,11 @@ function can_ssloth(major, minor, native, region, model) { } else if (region == "K") { if ( - (model && minor == 4 && native == 33) || - (model && minor == 5 && native == 34) || - (model && minor == 6 && native == 35) || - (model && minor == 7 && native == 35) || - (model && minor == 8 && native == 35) || + (model == DEVICE_N3DS && minor == 4 && native == 33) || + (model == DEVICE_N3DS && minor == 5 && native == 34) || + (model == DEVICE_N3DS && minor == 6 && native == 35) || + (model == DEVICE_N3DS && minor == 7 && native == 35) || + (model == DEVICE_N3DS && minor == 8 && native == 35) || (minor == 9 && native == 36) || (minor == 10 && native == 37) || (minor == 12 && native == 38) || @@ -73,7 +76,7 @@ function can_ssloth(major, minor, native, region, model) { // Soundhax and SSLoth should be validated before this function can_safecerthax(major, minor, native, region, model) { let do_redirect = false; - if (model == 0) { + if (model == DEVICE_O3DS) { if (major <= 10) do_redirect = true; else if (major == 11 && minor <= 14) do_redirect = true; } @@ -87,13 +90,13 @@ function can_safecerthax(major, minor, native, region, model) { // super-skaterhax // EUR/JPN/USA: 11.17 only -// KOR: 11.16 only, KOR does not have 11.17 +// KOR: 11.16 only, KOR does not have 11.17 (Do seedminer first though) // CHN/TWN has no N3DS function can_superskaterhax(major, minor, native, region, model) { let do_redirect_sysupdate = false; let do_redirect = false; // N3DS only - if(model == 1) { + if(model == DEVICE_N3DS) { if (major == 11) { if (["E", "J", "U"].includes(region)) { if (minor == 17) do_redirect = true; @@ -121,16 +124,19 @@ function can_superskaterhax(major, minor, native, region, model) { return false; } +// Mii mining +// Only do on 11.15 O3DS (except KOR and TWN, those don't have 11.17 and can update and do seedminer) function can_miimine(major, minor, native, region, model) { let do_redirect = false; - if (major == 11) { - if (model == 0 && minor == 15) { + if (model == DEVICE_O3DS) { + if (major == 11 && minor == 15) { // KOR and TWN can do normal seedminer // All other O3DS must Mii mine if (region != "K" && region != "T") do_redirect = true; } } + if (do_redirect) { window.location.href = "seedminer-(mii)"; return true; @@ -150,8 +156,8 @@ function can_seedminer(major, minor, native, region, model) { else if (region == "T") do_redirect_twn = true; } // KOR O3DS on any version should update to 11.16 - else if (model == 0 && region == "K") do_redirect_sysupdate_kor = true; - // KOR O3DS on any version should update to 11.16 + else if (model == DEVICE_O3DS && region == "K") do_redirect_sysupdate_kor = true; + // TWN on any version should update to 11.16 else if (region == "T") do_redirect_sysupdate_twn = true; if (do_redirect_sysupdate_twn) { @@ -182,29 +188,29 @@ function can_seedminer(major, minor, native, region, model) { General exploits are as follows: - 1.0 - 11.3 - Soundhax, compatible in all regions, all models - - 11.4 - 11.13 with matching NVer for each version: + - 11.4 - 11.13 with matching NVer for each version (and some KOR quirk): - SSLoth-Browser, doesn't work on cart-updated FW - O3DS & 11.4 - 11.14 & any cart-updated FW between said version: - safecerthax, compatible in all regions, O3DS only - This way O3DS still gets an easy way to install something if browser isn't functional - - N3DS & 11.14 - 11.15 (EUR / JPN) + - N3DS & 11.14 - 11.15 (EUR / JPN / USA) - Update and do 11.17 guide - O3DS & 11.15: - - Not implemented in this guide - - 11.16 (KOR is O3DS only): + - Mii mine + - 11.16: - Seedminer - - KOR N3DS 11.16, N3DS & 11.17 (EUR / JPN / USA): + - N3DS & 11.17 (EUR / JPN / USA): - super-skaterhax - O3DS & 11.17: - Unhackable */ function redirect() { - var major = document.getElementById("major"); - var minor = document.getElementById("minor"); - var nver = document.getElementById("nver"); - var region = document.getElementById("region"); - var isN3DS = document.getElementById("new3DS").checked; - var isO3DS = document.getElementById("old3DS").checked; + let major = document.getElementById("major"); + let minor = document.getElementById("minor"); + let nver = document.getElementById("nver"); + let region = document.getElementById("region"); + let isN3DS = document.getElementById("new3DS").checked; + let isO3DS = document.getElementById("old3DS").checked; document.getElementById("result_noneSelected").style.display = "none"; document.getElementById("result_invalidVersion").style.display = "none"; document.getElementById("result_methodUnavailable").style.display = "none"; @@ -217,18 +223,18 @@ function redirect() { return; } - // O3DS = 0 - // N3DS = 1 - var model = 0; - if(isN3DS) model = 1; + // Realistically only one of these should be possible with the given elements + let model = -1; + if(isO3DS) model = DEVICE_O3DS + else if(isN3DS) model = DEVICE_N3DS; let redirected = [ - can_soundhax, - can_ssloth, - can_safecerthax, - can_miimine, - can_seedminer, - can_superskaterhax, + can_soundhax, + can_ssloth, + can_safecerthax, + can_miimine, + can_seedminer, + can_superskaterhax, ].some(func => func(major.value, minor.value, nver.value, region.value, model)); if (redirected) return true; diff --git a/feed.xml b/feed.xml index 0da9d29542..94600afeb9 100644 --- a/feed.xml +++ b/feed.xml @@ -1 +1 @@ -Jekyll2023-05-30T17:44:28+00:00https://3ds.hacks.guide/feed.xml3DS Hacks GuideA complete guide to 3DS custom firmwareNintendo Homebrew \ No newline at end of file +Jekyll2023-05-30T18:11:25+00:00https://3ds.hacks.guide/feed.xml3DS Hacks GuideA complete guide to 3DS custom firmwareNintendo Homebrew \ No newline at end of file