mirror of
https://github.com/hacks-guide/Guide_3DS.git
synced 2024-11-23 01:19:49 +00:00
add frankenfirm soundhax to troubleshooting
- add auto link replacement for frankenfirm troubleshooting
This commit is contained in:
parent
4ea44ce7bf
commit
649e52b5b3
@ -28,6 +28,11 @@ if (selectedVersion && window.MATCH && window.generateLink) {
|
||||
} else {
|
||||
replaceLink();
|
||||
}
|
||||
|
||||
if (!window.autoLinkAddedCustomEvent) {
|
||||
window.autoLinkAddedCustomEvent = true;
|
||||
document.addEventListener("customEventReplaceLink", replaceLink);
|
||||
}
|
||||
}
|
||||
|
||||
})();
|
||||
|
145
docs/public/assets/js/soundhax-frankenfirm-link.js
Normal file
145
docs/public/assets/js/soundhax-frankenfirm-link.js
Normal file
@ -0,0 +1,145 @@
|
||||
/*
|
||||
Copyright (C) 2024 DannyAAM
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
(() => {
|
||||
|
||||
const BASE = "https://github.com/danny8376/soundhax/raw/frankenfirmware/soundhax";
|
||||
|
||||
window.MATCH = "soundhax.686178.xyz/frankenfirm";
|
||||
|
||||
// adopt from https://github.com/danny8376/soundhax/blob/2a2c2499ad45d9216ae4c9d157dfb90dfd3b6bd4/docs/js/frankenfirm.js#L82-L237
|
||||
window.generateLink = (major, minor, nver, region, model, link) => {
|
||||
console.log("MATCH")
|
||||
const fileRegion = FILENAME_REGION_MAP[region];
|
||||
const errorIndex = link.lastIndexOf("?");
|
||||
if (errorIndex == -1) {
|
||||
return null;
|
||||
}
|
||||
const error = link.slice(errorIndex + 1);
|
||||
console.log(error);
|
||||
|
||||
if (model == DEVICE_N3DS || ["K", "C", "T"].includes(region)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
switch (parseInt(nver)) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
console.log("nver 0-3")
|
||||
if (major < 2 || (major == 2 && minor <= 1)) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
// very unlikely to have v1027 sound app in this case?
|
||||
return `${BASE}-${fileRegion}-o3ds-pre2.1.m4a`;
|
||||
case "crash":
|
||||
return null; // WTF
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if (major < 5) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
return `${BASE}-${fileRegion}-o3ds-pre2.1.m4a`;
|
||||
case "crash":
|
||||
return `${BASE}-${fileRegion}-o3ds-v2.1and2.2.m4a`;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if (major < 11 || (major == 11 && minor <= 3)) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
return `${BASE}-${fileRegion}-o3ds-pre2.1-post5franken.m4a`;
|
||||
case "crash":
|
||||
return `${BASE}-${fileRegion}-o3ds-v2.1and2.2-post5franken.m4a`;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if ((major == 11 && minor > 3) || major > 11) {
|
||||
return null;
|
||||
}
|
||||
case 4:
|
||||
console.log("nver 4")
|
||||
if (major < 2 || (major == 2 && minor < 1)) {
|
||||
return null; // WTF
|
||||
} else if (major == 2 && minor == 1) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
return `${BASE}-${fileRegion}-o3ds-v2.1and2.2.m4a`;
|
||||
case "crash":
|
||||
return null; // WTF
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if (major < 5) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
return null;
|
||||
case "crash":
|
||||
return `${BASE}-${fileRegion}-o3ds-v2.1and2.2.m4a`;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if (major < 11 || (major == 11 && minor <= 3)) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
return null;
|
||||
case "crash":
|
||||
return `${BASE}-${fileRegion}-o3ds-v2.1and2.2-post5franken.m4a`;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if ((major == 11 && minor > 3) || major > 11) {
|
||||
return null;
|
||||
}
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
console.log("nver 5-10");
|
||||
if (major < 5) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
case "crash":
|
||||
return null;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if (major < 11 || (major == 11 && minor <= 3)) {
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
case "crash":
|
||||
return null;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
} else if ((major == 11 && minor > 3) || major > 11) {
|
||||
return null;
|
||||
}
|
||||
default:
|
||||
if (nver < 37) {
|
||||
console.log("nver 11-36");
|
||||
switch (error) {
|
||||
case "unplayable":
|
||||
case "crash":
|
||||
return null;
|
||||
default:
|
||||
return `${BASE}-${fileRegion}-o3ds-post5.0.m4a`;
|
||||
}
|
||||
} else {
|
||||
console.log("nver 37+");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// workaround for link-common.js won't get loaded again if jump from other also loaded page
|
||||
document.dispatchEvent(new Event("customEventReplaceLink"));
|
||||
|
||||
})();
|
@ -1,3 +1,11 @@
|
||||
---
|
||||
head: [
|
||||
['script', {src: '/assets/js/common.js'}],
|
||||
['script', {src: '/assets/js/soundhax-frankenfirm-link.js'}],
|
||||
['script', {src: '/assets/js/link-common.js'}],
|
||||
]
|
||||
---
|
||||
|
||||
# Troubleshooting (Soundhax)
|
||||
|
||||
This page offers troubleshooting advice for commonly encountered issues with the "Installing boot9strap (Soundhax)" page, which is used on system versions between 1.0.0 and 11.3.0. If you are unable to solve your issue with the advice on this page, please join [Nintendo Homebrew on Discord](https://discord.gg/MWxPgEp) and describe your issue, including what you have already tried.
|
||||
@ -16,11 +24,19 @@ If your console is not on those firmwares, it likely indicates that you already
|
||||
|
||||
There is an issue with your `otherapp.bin` file (it is missing, misplaced, or corrupted). Download the latest release of [universal-otherapp](https://github.com/TuxSH/universal-otherapp/releases/latest) and place it on the root of your SD card.
|
||||
|
||||
If the above doesn't fix your issue, and you are using an Old 3DS / Old 3DS XL / Old 2DS, you may be encountering an issue involving cartridge updates. Take another look at the system version. If the last number is 4 or lower (e.g. 11.3.0-**4**U), replace the Soundhax file on the root of your SD card with the one from [here](http://soundhax.686178.xyz/frankenfirm.html?crash).
|
||||
|
||||
If none of these fix your issue, join [Nintendo Homebrew on Discord](https://discord.gg/MWxPgEp) for assistance.
|
||||
|
||||
:::
|
||||
|
||||
::: details "Could not play"
|
||||
|
||||
You have the wrong Soundhax file for your console and region, or your console is incompatible with Soundhax. In the latter case, your course of action will determine on what version your 3DS is currently on. Join [Nintendo Homebrew on Discord](https://discord.gg/MWxPgEp) for assistance.
|
||||
You have the wrong Soundhax file for your console, region and version. Double-check that you entered all the info correctly into the [Soundhax website](https://soundhax.com/), redownload your Soundhax file, and replace it with the one on the root of your SD card.
|
||||
|
||||
If the above doesn't fix your issue, and you are using an Old 3DS / Old 3DS XL / Old 2DS, you may be encountering an issue involving cartridge updates. Take another look at the system version. If the last number is 3 or lower (e.g. 11.3.0-**0**U), replace the Soundhax file on the root of your SD card with the one from [here](http://soundhax.686178.xyz/frankenfirm.html?unplayable).
|
||||
|
||||
If none of these fix your issue, join [Nintendo Homebrew on Discord](https://discord.gg/MWxPgEp) for assistance.
|
||||
|
||||
:::
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user