Created Exclusive dev-branch options and features (markdown)

TuxSH 2016-08-30 16:24:43 +02:00
parent 8f20b2e43b
commit 9ceec3f01d

@ -0,0 +1,28 @@
The `developer` branch of Luma3DS has its own unique options and features which are extremely useful for developers.
![Config menu](https://raw.githubusercontent.com/wiki/AuroraWright/Luma3DS/images/config_menu_dev.png)
## Options:
- **Developer options**:
- **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 that they are running on a developer unit. This makes ErrDisp diplay debugging information too, but prevents using the eShop, amiibo, etc.
- **None**: doesn't apply either patch; also disables the exception handlers (see below)
---
- **Disable access checks**: disables SVC, service, and exheader arm9 access checks
## 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/developer/exceptions/exception_dump_parser.py).
## Other exclusive features:
- **External firmware loading**: 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 of the one stored in CTRNAND.
- **External module loading**: loads standalone system modules located in `/luma/sysmodules` (except for SAFE_FIRM and NATIVE_FIRM versions older than 3.x)