mirror of
https://github.com/rvtr/TwlNandTool.git
synced 2025-10-31 06:01:08 -04:00
created function list + descriptions
This commit is contained in:
parent
68b089a037
commit
911b2d6a9f
@ -12,6 +12,9 @@ Why do these matter? You can create a new working NAND from scratch! No backups
|
||||
|
||||

|
||||
|
||||
## Contributing
|
||||
I'm basing a lot of this off of my private DSi [NAND archive](https://nands.randommeaninglesscharacters.com/directory.html) and a lot of DSi [factory tools](https://randommeaninglesscharacters.com/dsidev/twl_eva.html). If you have any of the above, *especially a __bricked__ DSi*, please [contact me](https://randommeaninglesscharacters.com/contact.html). Having these as a reference is extremely helpful for covering more edge cases.
|
||||
|
||||
## Notes
|
||||
- I am including my own hostile and outdated fork of libfat. This is to block `nand_Startup()` during `fatMount()`. Without this having a NAND re-mount would run `nand_Startup()` more than once and break every NAND R/W function until reboot...
|
||||
- I do not use the release NandFirm/stage2/bootloader (v2435-8325). Instead I use newer NandFirms as listed below. These NandFirms are able to run unlaunch, however they will stop the installer from working ("unknown bootcode version"). Unlaunch installs carry a brick risk by sometimes erasing the Launcher TMD, so this will somewhat forcefully encourage users to move to a [safer installer](https://github.com/edo9300/unlaunch-installer). Normally I'm against intentionally breaking things but this will prevent future bricks.
|
||||
@ -23,4 +26,4 @@ Why do these matter? You can create a new working NAND from scratch! No backups
|
||||
- `0x794000`: Happened when I deleted HWInfo and let SystemUpdater create it
|
||||
|
||||
## Including system files
|
||||
*B-b-but you have system files like the bootloader!* Sorry, these files are required to boot a DSi and almost always cannot be custom made due to signing. This is a tool meant to fix every possible software brick, and to do so in an accessible way. Most people are not going to know how to recover a bootloader, find the right FontTable for their region, or get the correct and safe wlanfirm/sysmenuVersion. Even given a well written guide, I know the "what's a hex editor" or "what's a byte" messages all too well. It is not safe to force people to chase after things they may not understand. Especially when one wrong file will cause a brick, and the owner will be none the wiser.
|
||||
*B-b-but you have system files like the bootloader!* These files are required to boot a DSi and almost always cannot be custom made due to signing. This is a tool meant to fix every possible software brick, and to do so in an accessible way. Most people are not going to know how to recover a bootloader, find the right FontTable for their region, or get the correct and safe wlanfirm/sysmenuVersion. Even given a well written guide, I know the "what's a hex editor" or "what's a byte" messages all too well. It is not safe to force people to chase after things they may not understand. Especially when one wrong file will cause a brick, and the owner will be none the wiser.
|
||||
82
USAGE.md
Normal file
82
USAGE.md
Normal file
@ -0,0 +1,82 @@
|
||||
# TwlNandTool Usage
|
||||
|
||||
With great power (TwlNandTool) comes great resposibility. It can be easy to cause further damage to your console if you don't know what you're doing.
|
||||
|
||||
I will add a friendly built in "tutorial" at some point, but until then please do not use any function without reading this page first.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [FileSystem Menu](#filesystem-menu)
|
||||
- [Read MBR](#--read-mbr)
|
||||
- [Repair MBR](#--repair-mbr)
|
||||
- [Format TWL_MAIN](#--format-twl_main)
|
||||
- [Format TWL_PHOTO](#--format-twl_photo)
|
||||
- [Mount TWL_MAIN](#--mount-twl_main)
|
||||
- [Unmount TWL_MAIN](#--unmount-twl_main)
|
||||
- [Mount NitroFS](#--mount-nitrofs)
|
||||
- [NandFirm Menu](#nandfirm-menu)
|
||||
- [Check NandFirm](#--check-nandfirm)
|
||||
- [Import NandFirm](#--import-nandfirm)
|
||||
- [Import NandFirm (SDMC)](#--import-nandfirm-(sdmc))
|
||||
- [Sys File Menu](#sys-file-menu)
|
||||
- [Find HWINFO\_S.dat](#--find-hwinfo\_s.dat)
|
||||
- [Find HWINFO\_S.dat (deep)](#--find-hwinfo\_s.dat-(deep))
|
||||
- [Init HWINFO\_N.dat](#--init-hwinfo\_n.dat)
|
||||
- [Init HWINFO\_S.dat](#--init-hwinfo\_s.dat)
|
||||
- [Init cert.sys](#--init-cert.sys)
|
||||
- [Init TWLFontTable](#--init-twlfonttable)
|
||||
- [Chip Info Menu](#chip-info-menu)
|
||||
- [CID Info](#--cid-info)
|
||||
- [ConsoleID Info](#--consoleid-info)
|
||||
|
||||
## FileSystem Menu
|
||||
All of these functions deal with the filesystem. This includes MBR, partitions, and TwlNandTool's own included files.
|
||||
### - Read MBR
|
||||
Read and verify the Master Boot Record. This is the first 512b of NAND (encrypted) that determines where the partitions are.
|
||||
### - Repair MBR
|
||||
Repair the Master Boot Record if corrupted.
|
||||
### - Format TWL_MAIN
|
||||
Format TWL\_MAIN. This is the partition where firmware, system files, games, and saves are stored. **Formatting this is an immediate brick unless you know what you are doing.**
|
||||
### - Format TWL_PHOTO
|
||||
Format TWL\_PHOTO. This is the partition where all photos are stored.
|
||||
### - Mount TWL_MAIN
|
||||
Mount TWL\_MAIN in order to access NAND files and to lock the formatting options.
|
||||
### - Unmount TWL_MAIN
|
||||
Unmount TWL\_MAIN in order to unlock formatting, or to repair MBR. The unmount will prevent you from accessing NAND files.
|
||||
### - Mount NitroFS
|
||||
Mount TwlNandTool's filesystem in order to install included system files.
|
||||
|
||||
## NandFirm Menu
|
||||
These functions deal with the stage2 bootloader- officially called NandFirm. NandFirm is what boots the home menu.
|
||||
### - Check NandFirm
|
||||
Verifies that NandFirm is not corrupted.
|
||||
### - Import NandFirm
|
||||
Install the standard NandFirm. The versions I include are slightly updated for reasons mentioned in the [README](README.md).
|
||||
- `v2265-9336` (prod)
|
||||
- `v2725-9336` (dev)
|
||||
### - Import NandFirm (SDMC)
|
||||
Install the [SDMC Launcher](https://randommeaninglesscharacters.com/dsidev/sdmc_launcher.html) NandFirm. It is completely different from the standard NandFirm, and it will leave the home menu inaccessible. This is only for extreme edge cases and should be avoided.
|
||||
|
||||
**DO NOT INSTALL THIS UNLESS OTHERWISE TOLD.**
|
||||
|
||||
## Sys File Menu
|
||||
These functions deal with system files that are required for the DSi to boot. Much of this is focused around HWInfo Secure, the file that sets your region and serial number. It is impossible to recreate due to signing, and without it you will be permanently forced to use unlaunch.
|
||||
### - Find HWINFO\_S.dat
|
||||
Check if HWINFO_S.dat exists in TWL\_MAIN (requires [mounting](#--mount-twl_main)). If deleted, this function will check commonly used offsets (no mount). This is the quickest search and usually finds HWINFO\_S.dat.
|
||||
### - Find HWINFO\_S.dat (deep)
|
||||
Search the entire TWL\_MAIN (no mount) byte by byte until HWINFO\_S.dat is found. This is a last resort option and will take a very long time to complete.
|
||||
### - Init HWINFO\_N.dat
|
||||
Create a new HWINFO\_N.dat.
|
||||
### - Init HWINFO\_S.dat
|
||||
Create a new HWINFO\_S.dat in TWL\_MAIN by running the [Find HWINFO\_S.dat](#--find-hwinfo\_s.dat) function.
|
||||
### - Init cert.sys
|
||||
Create a new certificate chain.
|
||||
### - Init TWLFontTable
|
||||
Install the font files required by the firmware. This is region specific, so it will depend on [Init HWINFO\_S.dat](#--init-hwinfo\_s.dat) having recovered and saved a HWINFO\_S.dat (or it will use HWINFO_S.dat if already there). If no HWINFO\_S.dat exists, the region will default to USA and the respective TWLFontData will be installed.
|
||||
|
||||
## Chip Info Menu
|
||||
These functions show info on the DSi's chips.
|
||||
### - CID Info
|
||||
Displays the NAND ID, along with a breakdown of what it means (manufacturer ID, date, type, etc).
|
||||
### - ConsoleID Info
|
||||
Displays the CPU ID, and a guesstimate of the manufacturing date.
|
||||
Loading…
Reference in New Issue
Block a user