From 03b6467e258acd9fe93b5a2aa02ce7ee3d11c258 Mon Sep 17 00:00:00 2001 From: Pk11 Date: Mon, 21 Dec 2020 13:46:10 -0600 Subject: [PATCH] Clean up spelling, grammar, markdown, etc --- .gitignore | 1 + _data/en-US/strings.json | 7 ++-- _includes/nav.html | 2 ++ pages/_en-US/ds-index/dsi-twl-firm.md | 16 ++++----- pages/_en-US/ds-index/hardmod.md | 6 ++-- pages/_en-US/ds-index/homebrew.md | 35 ++++++++++--------- pages/_en-US/ds-index/index.md | 4 +-- pages/_en-US/ds-index/retail-roms.md | 8 ++--- pages/_en-US/ds-index/wifi.md | 26 +++++++------- pages/_en-US/index.md | 4 ++- pages/_en-US/nds-bootstrap/index.md | 8 +++++ .../_en-US/twilightmenu/creating-ram-disks.md | 22 ++++++------ .../twilightmenu/download-play-pictochat.md | 14 ++++---- pages/_en-US/twilightmenu/faq.md | 30 ++++++++-------- .../_en-US/twilightmenu/how-to-get-box-art.md | 6 ++-- pages/_en-US/twilightmenu/installing-3ds.md | 4 +-- .../twilightmenu/installing-flashcard.md | 12 +++---- .../twilightmenu/playing-in-widescreen.md | 28 +++++++-------- .../twilightmenu/updating-3ds-manual.md | 2 +- .../updating-3ds-universal-updater.md | 8 ++--- pages/_en-US/twilightmenu/updating-3ds.md | 2 +- pages/_en-US/twilightmenu/updating-dsi.md | 2 +- .../_en-US/twilightmenu/updating-flashcard.md | 2 +- 23 files changed, 132 insertions(+), 117 deletions(-) create mode 100644 pages/_en-US/nds-bootstrap/index.md diff --git a/.gitignore b/.gitignore index e650b69..c675336 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.DS_Store +.vscode *_site *.sass-cache diff --git a/_data/en-US/strings.json b/_data/en-US/strings.json index 9917ae8..8108fc3 100644 --- a/_data/en-US/strings.json +++ b/_data/en-US/strings.json @@ -1,8 +1,9 @@ { - "title": "DS-Homebrew Wiki", + "by": "By: $1", "description": "Wikis for DS-Homebrew projects", "discord-server": "Discord server (English only)", + "help-translate": "Help translate!", + "published-with": "Published with GitHub Pages, view the source on GitHub.", "source": "Source", - "by": "By: $1", - "published-with": "Published with GitHub Pages, view the source on GitHub." + "title": "DS-Homebrew Wiki" } \ No newline at end of file diff --git a/_includes/nav.html b/_includes/nav.html index 725171f..ae038b0 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -49,6 +49,8 @@ {% endif %} {% endfor %} {% endfor %} +
  • +
  • {{ site.data[page.lang].strings.help-translate }}
  • diff --git a/pages/_en-US/ds-index/dsi-twl-firm.md b/pages/_en-US/ds-index/dsi-twl-firm.md index bc43c2a..eb02a12 100644 --- a/pages/_en-US/ds-index/dsi-twl-firm.md +++ b/pages/_en-US/ds-index/dsi-twl-firm.md @@ -3,7 +3,7 @@ lang: en-US layout: wiki section: ds-index title: Nintendo DSi / Nintendo 3DS TWL_FIRM -description: The complete guide to modding the Nintendo DS +description: An explanation of all things DS modding --- ### Setting-up CFW @@ -26,21 +26,21 @@ The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free The positive and negative numbers are determined by pairs of two. For example, 1-2 GB of free space is allowed while 3-4 isn't. 5-6 GB of free space is allowed while 7-8 isn't. -In version 1.4.0, RSA signatures in the DS Cart Whitelist aren't verified.there is an exploit regarding a vulnerability in the Nintendo DSi Flashcart whitelist that allows you to take access over the ARM9 processor, It requires version 1.4.0 (it was patched in future versions and didn't exist in prior versions) and a flashcart with a modified ROM +In version 1.4.0, RSA signatures in the DS Cart Whitelist aren't verified. There is an exploit regarding a vulnerability in the Nintendo DSi flashcard whitelist that allows you to take access over the ARM9 processor, It requires version 1.4.0 (it was patched in future versions and didn't exist in prior versions) and a flashcard with a modified ROM. ### Nintendo DSi Slot-1 Access & Blockout -Slot-1 access is blocked when launching applications from the System Menu, except if said applications is either the Slot-1 launcher itself or System Settings. In order to launch normally unlaunchable slot-1 cartridges, you'll need to either make a System Settings exploit or install Unlaunch. Without either of those, you cannot launch unlaunchable flashcarts and you cannot dump ROMs to your SD card. +Slot-1 access is blocked when launching applications from the System Menu, except if said applications is either the Slot-1 launcher itself or System Settings. In order to launch normally unlaunchable slot-1 cartridges, you'll need to either make a System Settings exploit or install Unlaunch. Without either of those, you cannot launch unlaunchable flashcards and you cannot dump ROMs to your SD card. -The flashcart white list is checked via RSA signatures are contained via RSA keys on every firmware expect 1.4.0. This means that people can white list their own carts +The flashcard white list is checked via RSA signatures are contained via RSA keys on every firmware expect 1.4.0. This means that people can white list their own carts -Before 1.4.0, the white list used to contain only two sections. In 1.4.0, they've introduced a third section which was made to block flashcarts that got around the first two. The third section loads up to eight different section of the rom and checks them with a hash to see if the rom has been tampered with. However, due to the forgetfullness of putting any sanity check, we can overflow into the exception vector/interrupt address using a large enough value. Best of all, this runs on ARM7 (aka the security processor) so this makes it the first exploit for the ARM7 processor. Since this happens before the lock out of the SFCG registers, we could run advanced homebrew (such as Slot-1 dumpers & external slot-1 dumpers) +Before 1.4.0, the white list used to contain only two sections. In 1.4.0, they've introduced a third section which was made to block flashcards that got around the first two. The third section loads up to eight different section of the rom and checks them with a hash to see if the rom has been tampered with. However, due to the forgetfulness of putting any sanity check, we can overflow into the exception vector/interrupt address using a large enough value. Best of all, this runs on ARM7 (aka the security processor) so this makes it the first exploit for the ARM7 processor. Since this happens before the lock out of the SCFG registers, we can run advanced homebrew (such as Slot-1 dumpers & external slot-1 dumpers) -Unfortunately, the requirements are tight. It requires version 1.4.0 and a flashcart with a modified ROM. Also, the expoit never officially came out, due to Unlaunch being much simpler to install and having less requirements (just a way to get into homebrew) with the same advantages. +Unfortunately, the requirements are tight. It requires version 1.4.0 and a flashcard with a modified ROM. Also, the exploit never officially came out, due to Unlaunch being much simpler to install and having less requirements (just a way to get into homebrew) with the same advantages. ### Nintendo DSi Camera -The Nintendo DSi Camera application has the ability to take pictures in the JPEG and save them to either the System Memory or the SD card. The way it's loaded restricts it to only DSi made images, due to lacking the proper HMAC stored inside a custom EXIF tag. Any custom images are not readable on the DSi, wther its PC taken or PC edited. +The Nintendo DSi Camera application has the ability to take pictures in the JPEG and save them to either the System Memory or the SD card. The way it's loaded restricts it to only DSi made images, due to lacking the proper HMAC stored inside a custom EXIF tag. Any custom images are not readable on the DSi, whether its PC taken or PC edited. A `pit.bin` file is used in order to load images. However, the header size at offset 0x16 is unchecked, so a big enough header size value can exceed boundaries and cause the buffer to overwrite and jump to unsigned code. This is how Memory Pit is powered. ### Nintendo DSi Bootstage 2 -The second bootstage of the Nintendo DSi loads launcher's "title.tmd" into memory. However, they do not specify a filesize limit check, meaning that the first 80k bytes are loaded into RAM while the rest can be a custom payload. This is the basis of Unlaunch exploit. +The second bootstage of the Nintendo DSi loads launcher's "title.tmd" into memory. However, they do not specify a file size limit check, meaning that the first 80k bytes are loaded into RAM while the rest can be a custom payload. This is the basis of Unlaunch exploit. diff --git a/pages/_en-US/ds-index/hardmod.md b/pages/_en-US/ds-index/hardmod.md index f69f556..8295fab 100644 --- a/pages/_en-US/ds-index/hardmod.md +++ b/pages/_en-US/ds-index/hardmod.md @@ -3,12 +3,12 @@ lang: en-US layout: wiki section: ds-index title: Hardmod -description: The complete guide to modding the Nintendo DS +description: An explanation of all things DS modding --- Hardmodding is when you physically solder the motherboard of the Nintendo DSi to an SD card adapter in order to be read on a computer. This is useful for restoring NAND backups, viewing NAND on your PC, etc... ### Nintendo DS -![](https://media.discordapp.net/attachments/547986366357700620/736370094392999947/mobo_pinout.png?width=893&height=603) +![Original DS motherboard with touch-points labeled](https://media.discordapp.net/attachments/547986366357700620/736370094392999947/mobo_pinout.png) ### Nintendo DSi -Follow the "Hardware NAND Mod Guide" and "Decrypting your NAND" of [this](https://gbatemp.net/threads/dsi-downgrading-the-complete-guide.393682/) guide +Follow the "Hardware NAND Mod Guide" and "Decrypting your NAND" of [this](https://gbatemp.net/threads/dsi-downgrading-the-complete-guide.393682/) guide. diff --git a/pages/_en-US/ds-index/homebrew.md b/pages/_en-US/ds-index/homebrew.md index 330afa7..7dba7a8 100644 --- a/pages/_en-US/ds-index/homebrew.md +++ b/pages/_en-US/ds-index/homebrew.md @@ -3,22 +3,22 @@ lang: en-US layout: wiki section: ds-index title: Homebrew -description: The complete guide to modding the Nintendo DS +description: An explanation of all things DS modding --- ### Development -Developing Nintendo DS Homebrew typically uses devKitPro tools, such as devKitARM, libnds, and libfat. However, there is the possibility to branch out and use alternative software: +Developing Nintendo DS Homebrew typically uses devkitPro tools, such as devkitARM, libnds, and libfat. However, there is the possibility to branch out and use alternative software: -- **SD Card libraries:** devKitPro recommends libfat. We recommend using libslim instead, as it allows usage of different partitions, quicker speeds and non-blocking. -- **Graphic Library:** We recommend using easyGL2D, which comes shipped with libnds. However, you could use NightFox Lib. -- **Entire Toolchains:** We recommend using devKitARM and libnds, as it includes DSi compatibility and has a larger ecosystem. However, if your target is exclusively flashcarts on a Nintendo DS, feel free to use ToolchainGenericDS. +- **SD Card libraries:** DevkitPro recommends libfat. We recommend using libslim instead, as it allows usage of different partitions, quicker speeds, and non-blocking +- **Graphic Library:** We recommend using easyGL2D, which comes shipped with libnds. However, you can use NightFox Lib +- **Entire Toolchains:** We recommend using devkitARM and libnds, as it includes DSi compatibility and has a larger ecosystem. However, if your target is exclusively flashcards on a Nintendo DS, feel free to use ToolchainGenericDS ### Flashcards -DS mode flashcards are a slot-1 method of running Nintendo DS applications. Flashcarts have the advantages of keeping console files and portable files separate, the ability to be used without modding your system and are usable on DS Phat/Lite consoles. However, unlike modding the actual console, there are multiple flashcarts on the market, each with different kernel requirements. The kernel you use is the most important. +DS mode flashcards are a slot-1 method of running Nintendo DS applications. Flashcards have the advantages of keeping console files and portable files separate, the ability to be used without modding your system and are usable on DS Phat/Lite consoles. However, unlike modding the actual console, there are multiple flashcards on the market, each with different kernel requirements. The kernel you use is the most important. -[There is a **work in progress** flashcart index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. +[There is a **work in progress** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. ### DLDI @@ -26,20 +26,21 @@ Different SD card slots have different hardware (most of the time) and code writ ### Time Bomb -A time bomb is a expiration date on flashcart kernels that manufacturers use to force users to buy a new card. Once your system clock goes beyond a certain date, the kernel will refuse to boot past the expiration screen. Thankfully, a flag is not set anywhere and it's handled in the flashcart firmware, giving us two options for work arounds: +A time bomb is a expiration date on flashcard kernels that manufacturers use to force users to buy a new card. Once your system clock goes beyond a certain date, the kernel will refuse to boot past the expiration screen. Thankfully, a flag is not set anywhere and it's handled in the flashcard firmware, giving us two options for workarounds: -- Since it relies on the system clock, you could set back the date. This will break any game that uses your system clock, but it will allow you to use the default kernel. -- Since it relies on the kernel and not the firmware, you could switch to an alternative kernel. There are two options available: - - [YSmenu](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) -- The menu is quite ugly and only displays `.nds` files, but it has far better game support, cheat support and no memory pak requirement. - - [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu) with B4DS -- This is useful if you'd like to have all your ROMs in the same menu that you could launch NES, GBA and other console titles too. However, it does require a Memory Expansion Pak for extended game compatibility and does not support cheats. +- Since it relies on the system clock, you can set back the date. This will break any game that uses your system clock, but it will allow you to use the default kernel. +- Since it relies on the kernel and not the firmware, you can switch to an alternative kernel. There are two options available: + - [YSmenu](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) -- The menu is quite ugly and only displays `.nds` files, but it has far better game support, cheat support and no memory pak requirement + - [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu) -- This is useful if you'd like to have all your ROMs from various consoles in the same menu, there are two ways to run DS games with TWiLight Menu++: + - With B4DS: Requires a Memory Expansion Pak for extended game compatibility and does not support cheats. But works on all flashcards that TWiLight Menu++ does + - With YSMenu: Gets the compatibility benefits of YSMenu with the better menu of TWiLight Menu++, however, cheats are not supported currently -We recommend YSMenu due to the higher compatibility, cheats and lack of need for a Memory Expansion Pak. If you want to setup YSMenu, DeadSkullzJr has made a [Dropbox repo](https://www.dropbox.com/sh/egadrhxj8gimu5t/AACv2KqWmeXEHkxoYRluobxha?dl=0) with all the primary boot kernels set up for your flashcart. All it requires is a drag and drop to your SD card root and you have completed. - - You could still lanuch into TWiLight Menu++ for an all-in-one menu for emulators, but you can't launch into YSMenu from TWiLight Menu++. +We recommend YSMenu, with TWiLight Menu++ if you prefer it, due to the higher compatibility, and lack of need for a Memory Expansion Pak. If you want to setup YSMenu, DeadSkullzJr has made a [Dropbox repo](https://www.dropbox.com/sh/egadrhxj8gimu5t/AACv2KqWmeXEHkxoYRluobxha?dl=0) with all the primary boot kernels set up for your flashcard. All it requires is a drag and drop to your SD card root and you have completed. Instructions on how to install TWiLight Menu++ are [on the flashcard install page](../twilightmenu/installing-flashcard). -In order to test whether your flashcart has a timebomb, set the date on your system to the latest value possible and launch the flashcart. +In order to test whether your flashcard has a time bomb, set the date on your system to the latest value possible and launch the flashcard. ### ARGV Support -ARGV is an information transmitter between two homebrew Nintendo DS applications. It could be used for forwarders or alternative menus. +ARGV is an information transmitter between two homebrew Nintendo DS applications. It can be used for forwarders or alternative menus. -- The homebrew needs to be programmed in order to take advantage of it. For example, GBARunner2, NesDS and GameYob all have ARGV implementation +- The homebrew needs to be programmed in order to take advantage of it. For example, GBARunner2, NesDS, and GameYob all have ARGV implementation - There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_en-US/ds-index/index.md b/pages/_en-US/ds-index/index.md index 00a71cb..3ac8a54 100644 --- a/pages/_en-US/ds-index/index.md +++ b/pages/_en-US/ds-index/index.md @@ -3,10 +3,10 @@ lang: en-US layout: wiki section: ds-index title: Nintendo DS Modding Index -description: The complete guide to modding the Nintendo DS +description: An explanation of all things DS modding --- -Welcome to the resources for Nintendo DS modding. This will attempt to explain most things related to Nintendo DS modding as well as be a basic introduction to the NTR firmware of the Nintendo DS, the TWL firmware of the Nintendo DSi and TWL_FIRM of the Nintendo 3DS +Welcome to the Nintendo DS modding resources section. This will attempt to explain most things related to Nintendo DS modding as well as be a basic introduction to the NTR firmware of the Nintendo DS, the TWL firmware of the Nintendo DSi, and TWL_FIRM of the Nintendo 3DS.