Updated Options and usage (markdown)

Aurora 2016-09-26 15:31:03 +02:00
parent 8ead285609
commit fbcef7e9a5

@ -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. - **New 3DS CPU**: Exclusive to **New 3DS** consoles.
This allows you to configure the processor the same way NTR CFW does: This allows you to configure the processor the same way NTR CFW does:
- **Off** disables the patch, - **Off** disables the patch.
- **Clock** enables New 3DS clock speed for all games - **Clock** enables New 3DS clock speed for all games.
- **L2** adds extra cache to the CPU _(Don't use this if your device crashes)_ - **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)_ - **Clock+L2** enables the N3DS clock speed and adds extra cache to the CPU. _(Pick **Clock** if your device crashes)_.
--- ---
- **Developer features**: - **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. - **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. 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 **on**, **holding L** boots **the default EmuNAND**.
- If the option is **off**, **holding L** boots **SysNAND**. - If the option is **off**, **holding L** boots **SysNAND**.
--- ---
- **Use SysNAND FIRM if booting with R (A9LH)**: - **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). - **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 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. - **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**: - **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). - 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: - **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: - 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**). - Create a .txt file with game's **title id** as the name (look them up on **www.3dsdb.com**).
- Inside the file, - Inside the file,
- Put **3 characters for the region** ("JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN") - Put **3 characters for the region** ("JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN").
- Put **an empty space** - Put **an empty space**.
- Put **2 characters for the language** ("JP", "EN", "FR", "DE", "IT", "ES", "ZH", "KO", "NL", "PT", "RU", "TW"). - 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: - For example, to play Pokémon™ Y in Japanese language and region:
- Create `0004000000055E00.txt` - Create `0004000000055E00.txt`.
- Put in `JPN JP` - Put in `JPN JP`.
- Save - Save.
- The external .code feature allows you to use patched binaries for games. To use it: - 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**). - 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`. - 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, - **SyEX** (where **X** can be **2**, **3** or **4**): **SysNAND** booted with EmuNAND X's FIRM,
- **EmuS**: **first EmuNAND** booted with **the SysNAND 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**. - **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) - **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).