From fbcef7e9a5bae5f1e6814882b5cf344dfa123bcf Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 26 Sep 2016 15:31:03 +0200 Subject: [PATCH] Updated Options and usage (markdown) --- Options-and-usage.md | 52 ++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/Options-and-usage.md b/Options-and-usage.md index cefb7e0..1fc1576 100644 --- a/Options-and-usage.md +++ b/Options-and-usage.md @@ -30,57 +30,60 @@ A message can be displayed on the bottom screen when the PIN is being asked by p - **New 3DS CPU**: Exclusive to **New 3DS** consoles. This allows you to configure the processor the same way NTR CFW does: - - **Off** disables the patch, - - **Clock** enables New 3DS clock speed for all games - - **L2** adds extra cache to the CPU _(Don't use this if your device crashes)_ - - **Clock+L2** enables the N3DS clock speed and adds extra cache to the CPU. _(Pick **Clock** if your device crashes)_ + - **Off** disables the patch. + - **Clock** enables New 3DS clock speed for all games. + - **L2** adds extra cache to the CPU _(Don't use this if your device crashes)_. + - **Clock+L2** enables the N3DS clock speed and adds extra cache to the CPU. _(Pick **Clock** if your device crashes)_. --- - **Developer features**: - - **ErrDisp**: patches ErrDisp to display debugging information on the top screen + - **ErrDisp**: patches ErrDisp to display debugging information on the top screen. - **UNITINFO**: patches the value of CFG_UNITINFO sent to the ARM11 on boot to make applications believe they are running on a developer unit. This makes ErrDisp display debugging information and allows you to run certain system software for development units, but also prevents using the eShop, amiibo, etc. - - **None**: doesn't apply either patch; also disables the exception handlers (see below) + - **None**: doesn't apply either patch; also disables the exception handlers (refer to the [Other features and notes](https://github.com/AuroraWright/Luma3DS/wiki/Other-features-and-notes) page) --- -- **Autoboot SysNAND**: Determines if you want to boot **SysNAND** or **EmuNAND** by when **holding no buttons** on Luma3DS boot). +- **Autoboot SysNAND**: Determines if you want to boot **SysNAND** or **EmuNAND** by default (when **holding no buttons** on Luma3DS boot). - If the option is **on**, **holding L** boots **the default EmuNAND**. - If the option is **off**, **holding L** boots **SysNAND**. --- - **Use SysNAND FIRM if booting with R (A9LH)**: - - **On**: uses the **FIRM from SysNAND** to boot EmuNAND **with R** (You can't boot 10.x with 9.x NATIVE_FIRM). - - **Off**: uses the **FIRM from the default EmuNAND** to boot SysNAND **with R** (You can't boot 10.x with 9.x NATIVE_FIRM). You can override the EmuNAND to take the FIRM from on boot by holding down a button on the **directional pad**, **Up**, **Right**, **Down**, **Left** for EmuNANDs 1, 2, 3 and 4 respectively. + - **On**: uses the **FIRM from SysNAND** to boot EmuNAND **with R** (you usually can't boot a newer NAND with an older NATIVE_FIRM). + - **Off**: uses the **FIRM from the default EmuNAND** to boot SysNAND **with R** (you usually can't boot a newer NAND with an older NATIVE_FIRM). +You can override the EmuNAND to take the FIRM from on boot by holding down a button on the **directional pad**, **Up**, **Right**, **Down**, **Left** for EmuNANDs 1, 2, 3 and 4 respectively. --- - **Enable FIRMs and modules loading from SD**: If the option is **on**: - - If present in the `luma` folder, one of `firmware.bin`, `firmware_twl.bin`, `firmware_agb` and `firmware_safe.bin` (depending on the firmware being launched) will be used instead of the one stored in CTRNAND. If using NUS-encrypted FIRMs, a matching **cetk** file for each FIRM is needed a matching cetk file for each encrypted FIRM is needed (`/luma/cetk`, `/luma/cetk_twl`, `/luma/cetk_agb`, `/luma/cetk_safe` respectively). + - If present in the `luma` folder, one of `firmware.bin`, `firmware_twl.bin`, `firmware_agb` and `firmware_safe.bin` (depending on the firmware being launched) will be used instead of the one stored in CTRNAND. +If using NUS-encrypted FIRMs, a matching **cetk** file for each encrypted FIRM is needed (`/luma/cetk`, `/luma/cetk_twl`, `/luma/cetk_agb`, `/luma/cetk_safe` respectively). - If present in the `/luma/sysmodules` folder, standalone system modules will be loaded instead of the ones built-in to FIRM (not supported for SAFE_FIRM and NATIVE_FIRM versions older than 3.x). --- -- **Use custom path**: If the option is **on**, you can change the default location of the Luma3DS payload (which is `arm9loaderhax.bin` on the root of the SD) by typing it in a `path.txt` file in `luma`, it must start with a `/` and not exceed 55 characters. This path is also picked up if not booting via A9LH. +- **Use custom path**: If the option is **on**, you can change the default location of the Luma3DS payload (which is `arm9loaderhax.bin` on the root of the SD) by typing it in a `path.txt` file in `luma`, it must **start with a** `/` and not exceed **55 characters**. +This path is also picked up if not booting via A9LH. --- - **Enable region/language emulation and external .code**: Enables the following two features: - The region/language emulation feature allows some games which need a specific language to be set to work, and **DLCs for foreign games** to load. To use it: - - Create a folder named **locales** inside `luma` + - Create a folder named **locales** inside `luma`. - Create a .txt file with game's **title id** as the name (look them up on **www.3dsdb.com**). - Inside the file, - - Put **3 characters for the region** ("JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN") - - Put **an empty space** + - Put **3 characters for the region** ("JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN"). + - Put **an empty space**. - Put **2 characters for the language** ("JP", "EN", "FR", "DE", "IT", "ES", "ZH", "KO", "NL", "PT", "RU", "TW"). - For example, to play Pokémon™ Y in Japanese language and region: - - Create `0004000000055E00.txt` - - Put in `JPN JP` - - Save + - Create `0004000000055E00.txt`. + - Put in `JPN JP`. + - Save. - The external .code feature allows you to use patched binaries for games. To use it: - - Create a folder named **code_sections** inside `luma` + - Create a folder named **code_sections** inside `luma`. - Obtain a patched code.bin for the game, and rename it with game's **title id** as the file name (look them up on **www.3dsdb.com**). - For example, to use a patched binary with Pokémon™ Y, rename it to `0004000000055E00.bin`. @@ -95,7 +98,8 @@ This makes ErrDisp display debugging information and allows you to run certain s - **SyEX** (where **X** can be **2**, **3** or **4**): **SysNAND** booted with EmuNAND X's FIRM, - **EmuS**: **first EmuNAND** booted with **the SysNAND FIRM**, - **EmXS** (where **X** can be **2**, **3** or **4**): **EmuNAND X** booted with **the SysNAND FIRM**. - - You can also display a custom version string for each NAND, by creating text files named `customversion_sys.txt`, `customversion_emu.txt`, `customversion_emu2.txt`, `customversion_emu3.txt` or `customversion_emu4.txt` inside `luma`. The version strings can't exceed 39 characters. + - You can also display a custom version string for each NAND, by creating text files named `customversion_sys.txt`, `customversion_emu.txt`, `customversion_emu2.txt`, `customversion_emu3.txt` or `customversion_emu4.txt` inside `luma`. +The version strings can't exceed **39 characters**. --- @@ -103,12 +107,4 @@ This makes ErrDisp display debugging information and allows you to run certain s --- -- **Patch SVC/service/archive/ARM9 access**: disables SVC, service, archive and exHeader ARM9 access checks (the service and archive patches don't work on New 3DS FIRMs between 9.3 and 10.4) - -## Exception handlers - -Exception handlers give invaluable information when debugging crashes (reads/writes at invalid addresses, execution at invalid indresses, undefined instructions, etc.). - -Luma3DS handle CPU exceptions for itself, chainloaded arm9 payloads, and NATIVE_FIRM too. For NATIVE_FIRM, it handles `svcBreak` and kernel panics as well. - -To parse a crash dump produced by Luma3DS, use [this parser script](https://raw.githubusercontent.com/AuroraWright/Luma3DS/master/exceptions/exception_dump_parser.py). \ No newline at end of file +- **Patch SVC/service/archive/ARM9 access**: disables SVC, service, archive and exHeader ARM9 access checks (the service and archive patches don't work on New 3DS FIRMs between 9.3 and 10.4). \ No newline at end of file