diff --git a/_data/da-DK/nav.json b/_data/da-DK/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/da-DK/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/da-DK/strings.json b/_data/da-DK/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/da-DK/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/de-DE/nav.json b/_data/de-DE/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/de-DE/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/de-DE/strings.json b/_data/de-DE/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/de-DE/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/es-ES/nav.json b/_data/es-ES/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/es-ES/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/es-ES/strings.json b/_data/es-ES/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/es-ES/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/fr-FR/nav.json b/_data/fr-FR/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/fr-FR/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/fr-FR/strings.json b/_data/fr-FR/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/fr-FR/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/hu-HU/nav.json b/_data/hu-HU/nav.json new file mode 100644 index 00000000..60fe0f6c --- /dev/null +++ b/_data/hu-HU/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Kezdőlap", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/hu-HU/strings.json b/_data/hu-HU/strings.json new file mode 100644 index 00000000..449b1df9 --- /dev/null +++ b/_data/hu-HU/strings.json @@ -0,0 +1,9 @@ +{ + "by": "$1 által", + "description": "Wiki a DS-Homebrew projektekhez", + "discord-server": "Discord server (angol nyelven)", + "help-translate": "Help translate!", + "published-with": "GitHub Pages-szel publikálva, tekintsd meg a forrást a GitHub-on.", + "source": "Forrás", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/it-IT/nav.json b/_data/it-IT/nav.json new file mode 100644 index 00000000..526eafc6 --- /dev/null +++ b/_data/it-IT/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "Indice DS", + "url": "/ds-index" + } +] diff --git a/_data/it-IT/strings.json b/_data/it-IT/strings.json new file mode 100644 index 00000000..4029a5f0 --- /dev/null +++ b/_data/it-IT/strings.json @@ -0,0 +1,9 @@ +{ + "by": "Da: $1", + "description": "Wiki per progetti DS-Homebrew", + "discord-server": "Server Discord (solo in inglese)", + "help-translate": "Aiutaci a tradurre!", + "published-with": "Pubblicato con Pagine GitHub, visualizza il sorgente su GitHub.", + "source": "Fonte", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/ja-JP/nav.json b/_data/ja-JP/nav.json index 46a192ab..06182eaa 100644 --- a/_data/ja-JP/nav.json +++ b/_data/ja-JP/nav.json @@ -1,14 +1,14 @@ [ - { - "title": "ホーム", - "url": "/ja-JP" - }, - { - "title": "TWiLight Menu++", - "url": "/ja-JP/twilightmenu" - }, - { - "title": "DSインデックス", - "url": "/ja-JP/ds-index" - } + { + "title": "ホーム", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DSインデックス", + "url": "/ds-index" + } ] diff --git a/_data/ja-JP/strings.json b/_data/ja-JP/strings.json index f90153b3..ed1a5471 100644 --- a/_data/ja-JP/strings.json +++ b/_data/ja-JP/strings.json @@ -1,8 +1,9 @@ { - "title": "DS-Homebrew ウィキ", + "by": "$1による", "description": "DS-Homebrewのプロジェクトためのウィキ", "discord-server": "Discordサーバ(英語のみ)", + "help-translate": "翻訳を手伝う!", + "published-with": "GitHub Pagesで公開され、GitHubでソースを表示します。", "source": "ソース", - "by": "$1による", - "published-with": "GitHub Pagesで公開しています、GitHubにソースを表示します。" + "title": "DS-Homebrewウィキ" } \ No newline at end of file diff --git a/_data/ko-KR/nav.json b/_data/ko-KR/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/ko-KR/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/ko-KR/strings.json b/_data/ko-KR/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/ko-KR/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/no-NO/nav.json b/_data/no-NO/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/no-NO/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/no-NO/strings.json b/_data/no-NO/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/no-NO/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/pl-PL/nav.json b/_data/pl-PL/nav.json new file mode 100644 index 00000000..bd1ec358 --- /dev/null +++ b/_data/pl-PL/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Strona Główna", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "Indeks DS", + "url": "/ds-index" + } +] diff --git a/_data/pl-PL/strings.json b/_data/pl-PL/strings.json new file mode 100644 index 00000000..f4122f22 --- /dev/null +++ b/_data/pl-PL/strings.json @@ -0,0 +1,9 @@ +{ + "by": "Przez: $1", + "description": "Wiki dla projektów DS-Homebrew", + "discord-server": "Serwer Discord (tylko po angielsku)", + "help-translate": "Help translate!", + "published-with": "Opublikowane za pomocą GitHub Pages, przeglądnij kod źródłowy na GitHubie.", + "source": "Źródło", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/pt-PT/nav.json b/_data/pt-PT/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/pt-PT/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/pt-PT/strings.json b/_data/pt-PT/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/pt-PT/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/ru-RU/nav.json b/_data/ru-RU/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/ru-RU/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/ru-RU/strings.json b/_data/ru-RU/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/ru-RU/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/sv-SE/nav.json b/_data/sv-SE/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/sv-SE/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/sv-SE/strings.json b/_data/sv-SE/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/sv-SE/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/tr-TR/nav.json b/_data/tr-TR/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/tr-TR/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/tr-TR/strings.json b/_data/tr-TR/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/tr-TR/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/uk-UA/nav.json b/_data/uk-UA/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/uk-UA/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/uk-UA/strings.json b/_data/uk-UA/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/uk-UA/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/zh-CN/nav.json b/_data/zh-CN/nav.json new file mode 100644 index 00000000..4a6e946a --- /dev/null +++ b/_data/zh-CN/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "主页", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/zh-CN/strings.json b/_data/zh-CN/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/zh-CN/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/_data/zh-TW/nav.json b/_data/zh-TW/nav.json new file mode 100644 index 00000000..40ea1363 --- /dev/null +++ b/_data/zh-TW/nav.json @@ -0,0 +1,14 @@ +[ + { + "title": "Home", + "url": "/" + }, + { + "title": "TWiLight Menu++", + "url": "/twilightmenu" + }, + { + "title": "DS Index", + "url": "/ds-index" + } +] diff --git a/_data/zh-TW/strings.json b/_data/zh-TW/strings.json new file mode 100644 index 00000000..8108fc35 --- /dev/null +++ b/_data/zh-TW/strings.json @@ -0,0 +1,9 @@ +{ + "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", + "title": "DS-Homebrew Wiki" +} \ No newline at end of file diff --git a/pages/_da-DK/ds-index/dsi-twl-firm.md b/pages/_da-DK/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_da-DK/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_da-DK/ds-index/hardmod.md b/pages/_da-DK/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_da-DK/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_da-DK/ds-index/homebrew.md b/pages/_da-DK/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_da-DK/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_da-DK/ds-index/index.md b/pages/_da-DK/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_da-DK/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_da-DK/ds-index/retail-roms.md b/pages/_da-DK/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_da-DK/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_da-DK/ds-index/wifi.md b/pages/_da-DK/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_da-DK/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_da-DK/index.md b/pages/_da-DK/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_da-DK/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_da-DK/twilightmenu/creating-ram-disks.md b/pages/_da-DK/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_da-DK/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_da-DK/twilightmenu/custom-boot-splashes.md b/pages/_da-DK/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_da-DK/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_da-DK/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_da-DK/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_da-DK/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_da-DK/twilightmenu/custom-dsi-3ds-skins.md b/pages/_da-DK/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_da-DK/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_da-DK/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_da-DK/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_da-DK/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_da-DK/twilightmenu/download-play-pictochat.md b/pages/_da-DK/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_da-DK/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_da-DK/twilightmenu/faq.md b/pages/_da-DK/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_da-DK/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_da-DK/twilightmenu/how-to-get-box-art.md b/pages/_da-DK/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_da-DK/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_da-DK/twilightmenu/index.md b/pages/_da-DK/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_da-DK/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_da-DK/twilightmenu/installing-3ds-manual.md b/pages/_da-DK/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_da-DK/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_da-DK/twilightmenu/installing-3ds-universal-updater.md b/pages/_da-DK/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_da-DK/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_da-DK/twilightmenu/installing-3ds.md b/pages/_da-DK/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_da-DK/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_da-DK/twilightmenu/installing-dsi.md b/pages/_da-DK/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_da-DK/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_da-DK/twilightmenu/installing-flashcard.md b/pages/_da-DK/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_da-DK/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_da-DK/twilightmenu/playing-in-widescreen.md b/pages/_da-DK/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_da-DK/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_da-DK/twilightmenu/updating-3ds-manual.md b/pages/_da-DK/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_da-DK/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_da-DK/twilightmenu/updating-3ds-universal-updater.md b/pages/_da-DK/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_da-DK/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_da-DK/twilightmenu/updating-3ds.md b/pages/_da-DK/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_da-DK/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_da-DK/twilightmenu/updating-dsi.md b/pages/_da-DK/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_da-DK/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_da-DK/twilightmenu/updating-flashcard.md b/pages/_da-DK/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_da-DK/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_de-DE/ds-index/dsi-twl-firm.md b/pages/_de-DE/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_de-DE/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_de-DE/ds-index/hardmod.md b/pages/_de-DE/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_de-DE/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_de-DE/ds-index/homebrew.md b/pages/_de-DE/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_de-DE/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_de-DE/ds-index/index.md b/pages/_de-DE/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_de-DE/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_de-DE/ds-index/retail-roms.md b/pages/_de-DE/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_de-DE/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_de-DE/ds-index/wifi.md b/pages/_de-DE/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_de-DE/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_de-DE/index.md b/pages/_de-DE/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_de-DE/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_de-DE/twilightmenu/creating-ram-disks.md b/pages/_de-DE/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_de-DE/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_de-DE/twilightmenu/custom-boot-splashes.md b/pages/_de-DE/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_de-DE/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_de-DE/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_de-DE/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_de-DE/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_de-DE/twilightmenu/custom-dsi-3ds-skins.md b/pages/_de-DE/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_de-DE/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_de-DE/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_de-DE/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_de-DE/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_de-DE/twilightmenu/download-play-pictochat.md b/pages/_de-DE/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_de-DE/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_de-DE/twilightmenu/faq.md b/pages/_de-DE/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_de-DE/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_de-DE/twilightmenu/how-to-get-box-art.md b/pages/_de-DE/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_de-DE/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_de-DE/twilightmenu/index.md b/pages/_de-DE/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_de-DE/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_de-DE/twilightmenu/installing-3ds-manual.md b/pages/_de-DE/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_de-DE/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_de-DE/twilightmenu/installing-3ds-universal-updater.md b/pages/_de-DE/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_de-DE/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_de-DE/twilightmenu/installing-3ds.md b/pages/_de-DE/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_de-DE/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_de-DE/twilightmenu/installing-dsi.md b/pages/_de-DE/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_de-DE/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_de-DE/twilightmenu/installing-flashcard.md b/pages/_de-DE/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_de-DE/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_de-DE/twilightmenu/playing-in-widescreen.md b/pages/_de-DE/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_de-DE/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_de-DE/twilightmenu/updating-3ds-manual.md b/pages/_de-DE/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_de-DE/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_de-DE/twilightmenu/updating-3ds-universal-updater.md b/pages/_de-DE/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_de-DE/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_de-DE/twilightmenu/updating-3ds.md b/pages/_de-DE/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_de-DE/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_de-DE/twilightmenu/updating-dsi.md b/pages/_de-DE/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_de-DE/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_de-DE/twilightmenu/updating-flashcard.md b/pages/_de-DE/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_de-DE/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_es-ES/ds-index/dsi-twl-firm.md b/pages/_es-ES/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_es-ES/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_es-ES/ds-index/hardmod.md b/pages/_es-ES/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_es-ES/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_es-ES/ds-index/homebrew.md b/pages/_es-ES/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_es-ES/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_es-ES/ds-index/index.md b/pages/_es-ES/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_es-ES/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_es-ES/ds-index/retail-roms.md b/pages/_es-ES/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_es-ES/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_es-ES/ds-index/wifi.md b/pages/_es-ES/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_es-ES/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_es-ES/index.md b/pages/_es-ES/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_es-ES/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_es-ES/twilightmenu/creating-ram-disks.md b/pages/_es-ES/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_es-ES/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_es-ES/twilightmenu/custom-boot-splashes.md b/pages/_es-ES/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_es-ES/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_es-ES/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_es-ES/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_es-ES/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_es-ES/twilightmenu/custom-dsi-3ds-skins.md b/pages/_es-ES/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_es-ES/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_es-ES/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_es-ES/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_es-ES/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_es-ES/twilightmenu/download-play-pictochat.md b/pages/_es-ES/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_es-ES/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_es-ES/twilightmenu/faq.md b/pages/_es-ES/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_es-ES/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_es-ES/twilightmenu/how-to-get-box-art.md b/pages/_es-ES/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_es-ES/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_es-ES/twilightmenu/index.md b/pages/_es-ES/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_es-ES/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_es-ES/twilightmenu/installing-3ds-manual.md b/pages/_es-ES/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_es-ES/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_es-ES/twilightmenu/installing-3ds-universal-updater.md b/pages/_es-ES/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_es-ES/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_es-ES/twilightmenu/installing-3ds.md b/pages/_es-ES/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_es-ES/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_es-ES/twilightmenu/installing-dsi.md b/pages/_es-ES/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_es-ES/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_es-ES/twilightmenu/installing-flashcard.md b/pages/_es-ES/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_es-ES/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_es-ES/twilightmenu/playing-in-widescreen.md b/pages/_es-ES/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_es-ES/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_es-ES/twilightmenu/updating-3ds-manual.md b/pages/_es-ES/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_es-ES/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_es-ES/twilightmenu/updating-3ds-universal-updater.md b/pages/_es-ES/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_es-ES/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_es-ES/twilightmenu/updating-3ds.md b/pages/_es-ES/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_es-ES/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_es-ES/twilightmenu/updating-dsi.md b/pages/_es-ES/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_es-ES/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_es-ES/twilightmenu/updating-flashcard.md b/pages/_es-ES/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_es-ES/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_fr-FR/ds-index/dsi-twl-firm.md b/pages/_fr-FR/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_fr-FR/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_fr-FR/ds-index/hardmod.md b/pages/_fr-FR/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_fr-FR/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_fr-FR/ds-index/homebrew.md b/pages/_fr-FR/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_fr-FR/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_fr-FR/ds-index/index.md b/pages/_fr-FR/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_fr-FR/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_fr-FR/ds-index/retail-roms.md b/pages/_fr-FR/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_fr-FR/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_fr-FR/ds-index/wifi.md b/pages/_fr-FR/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_fr-FR/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_fr-FR/index.md b/pages/_fr-FR/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_fr-FR/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_fr-FR/twilightmenu/creating-ram-disks.md b/pages/_fr-FR/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_fr-FR/twilightmenu/custom-boot-splashes.md b/pages/_fr-FR/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_fr-FR/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_fr-FR/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_fr-FR/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_fr-FR/twilightmenu/custom-dsi-3ds-skins.md b/pages/_fr-FR/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_fr-FR/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_fr-FR/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_fr-FR/twilightmenu/download-play-pictochat.md b/pages/_fr-FR/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_fr-FR/twilightmenu/faq.md b/pages/_fr-FR/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_fr-FR/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_fr-FR/twilightmenu/how-to-get-box-art.md b/pages/_fr-FR/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_fr-FR/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_fr-FR/twilightmenu/index.md b/pages/_fr-FR/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_fr-FR/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_fr-FR/twilightmenu/installing-3ds-manual.md b/pages/_fr-FR/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_fr-FR/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_fr-FR/twilightmenu/installing-3ds-universal-updater.md b/pages/_fr-FR/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_fr-FR/twilightmenu/installing-3ds.md b/pages/_fr-FR/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_fr-FR/twilightmenu/installing-dsi.md b/pages/_fr-FR/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_fr-FR/twilightmenu/installing-flashcard.md b/pages/_fr-FR/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_fr-FR/twilightmenu/playing-in-widescreen.md b/pages/_fr-FR/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_fr-FR/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_fr-FR/twilightmenu/updating-3ds-manual.md b/pages/_fr-FR/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_fr-FR/twilightmenu/updating-3ds-universal-updater.md b/pages/_fr-FR/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_fr-FR/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_fr-FR/twilightmenu/updating-3ds.md b/pages/_fr-FR/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_fr-FR/twilightmenu/updating-dsi.md b/pages/_fr-FR/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_fr-FR/twilightmenu/updating-flashcard.md b/pages/_fr-FR/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_fr-FR/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_hu-HU/ds-index/dsi-twl-firm.md b/pages/_hu-HU/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..1bb8deea --- /dev/null +++ b/pages/_hu-HU/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: hu-HU +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_hu-HU/ds-index/hardmod.md b/pages/_hu-HU/ds-index/hardmod.md new file mode 100644 index 00000000..daf59ab6 --- /dev/null +++ b/pages/_hu-HU/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: hu-HU +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_hu-HU/ds-index/homebrew.md b/pages/_hu-HU/ds-index/homebrew.md new file mode 100644 index 00000000..5ffe66b4 --- /dev/null +++ b/pages/_hu-HU/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: hu-HU +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_hu-HU/ds-index/index.md b/pages/_hu-HU/ds-index/index.md new file mode 100644 index 00000000..d4d843d1 --- /dev/null +++ b/pages/_hu-HU/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: hu-HU +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_hu-HU/ds-index/retail-roms.md b/pages/_hu-HU/ds-index/retail-roms.md new file mode 100644 index 00000000..e7772777 --- /dev/null +++ b/pages/_hu-HU/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: hu-HU +layout: wiki +section: ds-index +title: Kereskedelmi ROM-ok +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_hu-HU/ds-index/wifi.md b/pages/_hu-HU/ds-index/wifi.md new file mode 100644 index 00000000..12da7239 --- /dev/null +++ b/pages/_hu-HU/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: hu-HU +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC helyreállítás + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_hu-HU/index.md b/pages/_hu-HU/index.md new file mode 100644 index 00000000..b51a5183 --- /dev/null +++ b/pages/_hu-HU/index.md @@ -0,0 +1,11 @@ +--- +lang: hu-HU +layout: default +title: Kezdőlap +--- + +# Köszöntjük a DS-Homebrew Wiki-ben! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_hu-HU/twilightmenu/creating-ram-disks.md b/pages/_hu-HU/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..38bcca80 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: RAM Disk létrehozása +category: Egyéb +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_hu-HU/twilightmenu/custom-boot-splashes.md b/pages/_hu-HU/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..79ba2f3d --- /dev/null +++ b/pages/_hu-HU/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_hu-HU/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_hu-HU/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..d566d593 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_hu-HU/twilightmenu/custom-dsi-3ds-skins.md b/pages/_hu-HU/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..d46da701 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: DSi / 3DS skinek létrehozása +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Háttér texturák (`background_grit` mappa) +| Textúra | Leírás | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Palettás texturák (`grit` mappa) +| Textúra | Leírás | Paletta korlátozások (ha kevesebb, mint 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 szín | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 szín | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 szín | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 szín | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 szín | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 szín | + +### UI texturák (`ui` mappa) +| Textúra | Leírás | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Videó texturák (`video` mappa) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Betűkészletek (`font` mappa) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| Fájl | Leírás | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Érték | Leírás | Alapértelmezés (3DS) | Alapértelmezés (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | -------------------- | -------------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_hu-HU/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_hu-HU/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..f68d8353 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_hu-HU/twilightmenu/download-play-pictochat.md b/pages/_hu-HU/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..9b25ad0a --- /dev/null +++ b/pages/_hu-HU/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Download Play / Pictochat a DS Classic Menu-ben +category: Egyéb +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_hu-HU/twilightmenu/faq.md b/pages/_hu-HU/twilightmenu/faq.md new file mode 100644 index 00000000..b726cb33 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: GYIK & hibaelhárítás +category: Egyéb +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_hu-HU/twilightmenu/how-to-get-box-art.md b/pages/_hu-HU/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..f1dbb91e --- /dev/null +++ b/pages/_hu-HU/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Egyéb +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_hu-HU/twilightmenu/index.md b/pages/_hu-HU/twilightmenu/index.md new file mode 100644 index 00000000..9d16a309 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Kezdőlap +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_hu-HU/twilightmenu/installing-3ds-manual.md b/pages/_hu-HU/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..1ab4d3ba --- /dev/null +++ b/pages/_hu-HU/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Telepítés (3DS, kézi) +category: Telepítés +--- + +### Telepítés +1. Töltsd le a `TWiLightMenu-3DS.7z` legfrissebb verzióját [a kiadások (Releases) oldalról](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Csomagold ki `TWiLightMenu-3DS.7z` fájlt +1. Másold az `_nds` mappát a microSD kártyád gyökerébe +1. Másold a `BOOT.NDS` fájlt a microSD kártyád gyökerébe +1. Másold a `roms` mappát a microSD kártyád gyökerébe +1. Másold a két `.cia` fájlt a microSD kártyád gyökerébe +1. A 3DS-eden telepítés a két CIA fájlt az FBI-jal diff --git a/pages/_hu-HU/twilightmenu/installing-3ds-universal-updater.md b/pages/_hu-HU/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..22ad68a3 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Telepítés (3DS, Universal-Updater) +category: Telepítés +--- + +### Telepítés +1. Telepítsd az [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases)-t +1. Nyisd meg az Universal-Updater-t és keresd meg a TWiLight Menu++-t az alkalmazásokok között; kereshetsz is ha problémát okoz megtalálni + - Ez az ikonja: ![TWiLight Menu++ ikon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Nyomj `A`-t vagy érintsd meg a letöltés ikont az oldalsávon, és válaszd a `TWiLight Menu++`-t a telepítéséhez + - Ez eltart egy ideig diff --git a/pages/_hu-HU/twilightmenu/installing-3ds.md b/pages/_hu-HU/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..a2edc8ac --- /dev/null +++ b/pages/_hu-HU/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- Az [FBI](https://github.com/Steveice10/FBI/releases) legfrissebb verziója +- A [Luma3DS](https://github.com/lumateam/luma3ds/releases) legfrissebb verziója + +### Telepítés (működő kamera) +1. Nyisd meg az FBI-t és válaszd a `Remote Install`, majd a `Scan QR Code` opciót +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Telepítés (nem működő kamera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_hu-HU/twilightmenu/installing-dsi.md b/pages/_hu-HU/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..a120e015 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_hu-HU/twilightmenu/installing-flashcard.md b/pages/_hu-HU/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..58d9e581 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Telepítés (Flashcard) +category: Telepítés +--- + +### Telepítés +1. Töltsd le a `TWiLightMenu-Flashcard.7z` legfrissebb verzióját [a kiadások (Releases) oldalról](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Csomagold ki `TWiLightMenu-Flashcard.7z` fájlt +1. Másold az `_nds` mappát a flash kártyád microSD kártyájának gyökerébe +1. Másold az `BOOT.NDS` fájlt a flash kártyád microSD kártyájának gyökerébe +1. Másold a `roms` mappát a flash kártyád microSD kártyájának gyökerébe +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com kártyák + - r4isdhc.hk kártyák + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_hu-HU/twilightmenu/playing-in-widescreen.md b/pages/_hu-HU/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..60de425d --- /dev/null +++ b/pages/_hu-HU/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Játék széles képenyőn +category: Egyéb +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_hu-HU/twilightmenu/updating-3ds-manual.md b/pages/_hu-HU/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_hu-HU/twilightmenu/updating-3ds-universal-updater.md b/pages/_hu-HU/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_hu-HU/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_hu-HU/twilightmenu/updating-3ds.md b/pages/_hu-HU/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..6eac8222 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Frissítés (3DS) +category: Frissítés +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Frissítés +1. Indítsd el a TWiLight Menu++ Updater-t + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Válaszd a `Release`-t az `TWLMenu++` mellett + - Ez eltart egy ideig +1. Válaszd a `Release`-t az `nds-bootstrap` mellett + +### További lépések a flashcard oldalán + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_hu-HU/twilightmenu/updating-dsi.md b/pages/_hu-HU/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_hu-HU/twilightmenu/updating-flashcard.md b/pages/_hu-HU/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..2ce05da0 --- /dev/null +++ b/pages/_hu-HU/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: hu-HU +layout: wiki +section: twilightmenu +title: Frissítés (Flashcard) +category: Frissítés +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Töltsd le a `TWiLightMenu-Flashcard.7z` legfrissebb verzióját [a kiadások (Releases) oldalról](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Csomagold ki `TWiLightMenu-Flashcard.7z` fájlt +1. Másold az `_nds` mappát a flash kártyád microSD kártyájának gyökerébe +1. Másold az `BOOT.NDS` fájlt a flash kártyád microSD kártyájának gyökerébe + +### További lépések a DSi/3DS SD kártya oldaláról + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_it-IT/ds-index/dsi-twl-firm.md b/pages/_it-IT/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..12b03a8f --- /dev/null +++ b/pages/_it-IT/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: it-IT +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: Una spiegazione di tutte le cose del modding del DS +--- + +### Configurare CFW +Mentre la maggior parte dei vantaggi del Custom Firmware sono per il Nintendo DSi e la famiglia dei sistemi del Nintendo 3DS, ti permette di sbloccare le possibilità della tua console. Installare il Custom Firmware è abbastanza facile, e nella maggior parte dei casi, tutto ciò di cui hai bisogno è una scheda (micro)SD. Abbiamo le migliori guide da seguire, con istruzioni passo per passo. + +- [Guida all'Hacking del 3DS](https://3ds.hacks.guide) + - Comando Lightning: `mod 3ds` + - Comando Kuriisu: `guida 3ds` +- [Guida all'Hacking del DSi](https://dsi.cfw.guide) + - Comando Lightning: `mod dsi cfw` + - Comando Kuriisu: `guide dsi` + +### Velocità CPU +Il Nintendo DS era composto da un processore a 67Mhz nel 2004. Il Nintendo DSi era composto da un processore a 133Mhz nel 2009. La maggior parte dei giochi del parco titoli del Nintendo DS sono stati fatti prima che il Nintendo DSi uscì, e pertanto l'unico processore a loro disposizione era a 67Mhz. Alcune applicazioni si sono legate a quella velocità e di conseguenza, non funzionerebbero bene con una maggiore velocità. La maggior parte dei giochi, tuttavia, supererebbe l'originale con una maggiore velocità. + +nds-bootstrap ha TWL Clock Speed come opzione, ma non cercherà di regolare le ROM per farle funzionare a velocità maggiore. Questo è colpa dell'applicazione in sé, e perciò le applicazioni che non funzionano ad una velocità più alta NON è un bug di nds-bootstrap. + +### Menu di Sistema Nintendo DSi +Il menu di sistema del Nintendo DSi utilizza un numero intero firmato a 32 bit per determinare lo spazio libero sulla NAND. Utilizzando la NAND atti, il totale non andrà mai oltre 128 MB in modo tale che sia sicuro. Tuttavia, quando reindirizziamo la NAND alla scheda SD, va al di sopra del limite intero a 32 bit, la quale la fa eccedere ad un numero negativo. Il numero negativo di spazio libero purtroppo causerà un messaggio di errore "Si è verificato un errore", non permettendoti di avviare il menu. Fortunatamente, questo può essere risolto creando un file fittizio per farlo diventare un numero positivo. + +I numeri positivi e negativi sono determinati da coppie di due. Ad esempio, 1-2 GB di spazio libero è consentito mentre 3-4 no. 5-6 GB di spazio libero è consentito mentre 7-8 no. + +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. + +### Accesso alla Slot-1 del Nintendo DSi & Blockout +L'accesso alla Slot-1 è bloccato quando si avviano applicazioni dal menu di sistema, tranne se tali applicazioni sono o il launcher della Slot-1 o le Impostazioni di Sistema. Per avviare le cartucce slot-1 normalmente non avviabili, è necessario creare un exploit nelle Impostazioni di sistema o installare Unlaunch. Senza una di queste, non è possibile avviare flashcard non avviabili e non è possibile fare dump di ROM sulla scheda SD. + +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 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 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, 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 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/_it-IT/ds-index/hardmod.md b/pages/_it-IT/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_it-IT/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_it-IT/ds-index/homebrew.md b/pages/_it-IT/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_it-IT/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_it-IT/ds-index/index.md b/pages/_it-IT/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_it-IT/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_it-IT/ds-index/retail-roms.md b/pages/_it-IT/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_it-IT/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_it-IT/ds-index/wifi.md b/pages/_it-IT/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_it-IT/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_it-IT/index.md b/pages/_it-IT/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_it-IT/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_it-IT/twilightmenu/creating-ram-disks.md b/pages/_it-IT/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_it-IT/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_it-IT/twilightmenu/custom-boot-splashes.md b/pages/_it-IT/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_it-IT/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_it-IT/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_it-IT/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_it-IT/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_it-IT/twilightmenu/custom-dsi-3ds-skins.md b/pages/_it-IT/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_it-IT/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_it-IT/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_it-IT/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_it-IT/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_it-IT/twilightmenu/download-play-pictochat.md b/pages/_it-IT/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_it-IT/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_it-IT/twilightmenu/faq.md b/pages/_it-IT/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_it-IT/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_it-IT/twilightmenu/how-to-get-box-art.md b/pages/_it-IT/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_it-IT/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_it-IT/twilightmenu/index.md b/pages/_it-IT/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_it-IT/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_it-IT/twilightmenu/installing-3ds-manual.md b/pages/_it-IT/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_it-IT/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_it-IT/twilightmenu/installing-3ds-universal-updater.md b/pages/_it-IT/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_it-IT/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_it-IT/twilightmenu/installing-3ds.md b/pages/_it-IT/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_it-IT/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_it-IT/twilightmenu/installing-dsi.md b/pages/_it-IT/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_it-IT/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_it-IT/twilightmenu/installing-flashcard.md b/pages/_it-IT/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_it-IT/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_it-IT/twilightmenu/playing-in-widescreen.md b/pages/_it-IT/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_it-IT/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_it-IT/twilightmenu/updating-3ds-manual.md b/pages/_it-IT/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_it-IT/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_it-IT/twilightmenu/updating-3ds-universal-updater.md b/pages/_it-IT/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_it-IT/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_it-IT/twilightmenu/updating-3ds.md b/pages/_it-IT/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_it-IT/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_it-IT/twilightmenu/updating-dsi.md b/pages/_it-IT/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_it-IT/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_it-IT/twilightmenu/updating-flashcard.md b/pages/_it-IT/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_it-IT/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_ja-JP/ds-index/dsi-twl-firm.md b/pages/_ja-JP/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_ja-JP/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_ja-JP/ds-index/hardmod.md b/pages/_ja-JP/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_ja-JP/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_ja-JP/ds-index/homebrew.md b/pages/_ja-JP/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_ja-JP/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_ja-JP/ds-index/index.md b/pages/_ja-JP/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_ja-JP/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_ja-JP/ds-index/retail-roms.md b/pages/_ja-JP/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_ja-JP/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_ja-JP/ds-index/wifi.md b/pages/_ja-JP/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_ja-JP/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_ja-JP/index.md b/pages/_ja-JP/index.md index 37bea4b5..2acc7ef8 100644 --- a/pages/_ja-JP/index.md +++ b/pages/_ja-JP/index.md @@ -4,6 +4,8 @@ layout: default title: ホーム --- -# DS-Homebrewのウィキへようこそ! +# DS-Homebrewウィキへようこそ! -TODO: インデックスページを書く…… ;P \ No newline at end of file +このサイトでは、TWiLight Menu++と他のDS-Homebrewプロジェクトのウィキを見つけることができます。 上部にのいずれかのセクションをクリックすると、ページのリストが左側に表示されます。 + +貢献したい場合は、[GitHub](https://github.com/{{ site.repo }})でソースコードを見つけるか、[Crowdin](https://crowdin.com/project/ds-homebrew-wiki)で翻訳を手伝うことができます。 これについて話し会ったり、何か助けを得るには、[DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discordサーバに参加してください。(英語のみ) diff --git a/pages/_ja-JP/twilightmenu/creating-ram-disks.md b/pages/_ja-JP/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_ja-JP/twilightmenu/custom-boot-splashes.md b/pages/_ja-JP/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_ja-JP/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_ja-JP/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_ja-JP/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_ja-JP/twilightmenu/custom-dsi-3ds-skins.md b/pages/_ja-JP/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_ja-JP/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_ja-JP/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_ja-JP/twilightmenu/download-play-pictochat.md b/pages/_ja-JP/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_ja-JP/twilightmenu/faq.md b/pages/_ja-JP/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_ja-JP/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_ja-JP/twilightmenu/how-to-get-box-art.md b/pages/_ja-JP/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_ja-JP/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_ja-JP/twilightmenu/index.md b/pages/_ja-JP/twilightmenu/index.md index 0d81d46c..5b66fb9f 100644 --- a/pages/_ja-JP/twilightmenu/index.md +++ b/pages/_ja-JP/twilightmenu/index.md @@ -1,10 +1,11 @@ --- -lang: ja-JP +lang: en-US layout: wiki section: twilightmenu -title: ホーム +title: Home --- -# TWiLight Menu++のウィキへようこそ! + +# Welcome to the TWiLight Menu++ wiki! TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. diff --git a/pages/_ja-JP/twilightmenu/installing-3ds-manual.md b/pages/_ja-JP/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..5c5cc493 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: ja-JP +layout: wiki +section: twilightmenu +title: インストール(3DS、手動) +category: インストール +--- + +### インストール +1. [リリースページ](https://github.com/DS-Homebrew/TWiLightMenu/releases)から`TWiLightMenu-3DS.7z`の最新バージョンをダウンロードする +1. `TWiLightMenu-3DS.7z`を抽出する +1. `_nds`フォルダをSDカードのルートにコピーする +1. `BOOT.NDS`ファイルをSDカードのルートにコピーする +1. `roms`フォルダをSDカードのルートにコピーする +1. 2つの`.cia`ファイルをSDカードのルートにコピーする +1. 3DSに、FBIと2つのCIAをインストールする diff --git a/pages/_ja-JP/twilightmenu/installing-3ds-universal-updater.md b/pages/_ja-JP/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..3fadc99e --- /dev/null +++ b/pages/_ja-JP/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: ja-JP +layout: wiki +section: twilightmenu +title: インストール(3DS、Universal-Updater) +category: インストール +--- + +### インストール +1. [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases)をインストールする +1. Universal-Updaterを開き、アプリのグリッドでTWiLight Menu++を見つける。見つからない場合は、検索できます。 + - 次のアイコンがあります:![TWiLight Menu++のアイコン](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. `A`を押すか、サイドバーのダウンロードアイコンをタップし、`TWiLight Menu++`を選択してインストールする + - しばらく時間がかかります diff --git a/pages/_ja-JP/twilightmenu/installing-3ds.md b/pages/_ja-JP/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_ja-JP/twilightmenu/installing-dsi.md b/pages/_ja-JP/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..2ee28a09 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: ja-JP +layout: wiki +section: twilightmenu +title: インストール(DSi) +category: インストール +--- + +### インストール +1. [リリースページ](https://github.com/DS-Homebrew/TWiLightMenu/releases)から最新の`TWiLightMenu-DSi.7z`をダウンロードする +1. `TWiLightMenu-DSi.7z`を抽出する +1. `_nds`フォルダをSDカードのルートにコピーする +1. `BOOT.NDS`ファイルをSDカードのルートにコピーする +1. `roms`フォルダをSDカードのルートにコピーする +1. **hiyaCFWユーザー:**`title`フォルダをSDカードのルートにコピーする + +### Unlaunchで自動起動 +1. ABを押したままDSiをオンにする +1. Unlaunchメニューで`OPTIONS`に移動します +1. `NO BUTTON`または選択されるボタンを下部画面に「`BOOT.NDS`」を表示された`TWiLight Menu++`に設定します diff --git a/pages/_ja-JP/twilightmenu/installing-flashcard.md b/pages/_ja-JP/twilightmenu/installing-flashcard.md index 43ee755a..6f278757 100644 --- a/pages/_ja-JP/twilightmenu/installing-flashcard.md +++ b/pages/_ja-JP/twilightmenu/installing-flashcard.md @@ -5,23 +5,24 @@ section: twilightmenu title: インストール(フラッシュカード) category: インストール --- -### Installing -1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) -1. Extract `TWiLightMenu-Flashcard.7z` -1. Copy the `_nds` folder to your flashcard's microSD card root -1. Copy the `BOOT.NDS` file to your flashcard's microSD card root -1. Copy the `roms` folder to your flashcard's microSD card root -1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location. -1. - 1. **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again. - 1. **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` - - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### インストール +1. [リリースページ](https://github.com/DS-Homebrew/TWiLightMenu/releases)から`TWiLightMenu-Flashcard.7z`の最新バージョンをダウンロードする +1. `TWiLightMenu-Flashcard.7z`を抽出する +1. `_nds`フォルダをフラッシュカードのmicroSDカードのルートにコピーする +1. `BOOT.NDS`ファイルをフラッシュカードのmicroSDカードのルートにコピーする +1. `roms`フォルダをフラッシュカードのmicroSDカードのルートにコピーする +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card ### To run games using your flashcard firmware 1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card - - If you done so, continue to step 3. If not, follow the steps below the flashcard list below. + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below - For these flashcards: +1. For these flashcards: - R4i-SDHC - r4isdhc.com cards - r4isdhc.hk cards @@ -33,7 +34,8 @@ category: インストール - R4(i) Pocket - R4i Gold (v1.4.1) (3DS) - R4xDS - 1. Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root 1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap diff --git a/pages/_ja-JP/twilightmenu/playing-in-widescreen.md b/pages/_ja-JP/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_ja-JP/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_ja-JP/twilightmenu/updating-3ds-manual.md b/pages/_ja-JP/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ja-JP/twilightmenu/updating-3ds-universal-updater.md b/pages/_ja-JP/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_ja-JP/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ja-JP/twilightmenu/updating-3ds.md b/pages/_ja-JP/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ja-JP/twilightmenu/updating-dsi.md b/pages/_ja-JP/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ja-JP/twilightmenu/updating-flashcard.md b/pages/_ja-JP/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_ja-JP/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_ko-KR/ds-index/dsi-twl-firm.md b/pages/_ko-KR/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_ko-KR/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_ko-KR/ds-index/hardmod.md b/pages/_ko-KR/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_ko-KR/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_ko-KR/ds-index/homebrew.md b/pages/_ko-KR/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_ko-KR/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_ko-KR/ds-index/index.md b/pages/_ko-KR/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_ko-KR/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_ko-KR/ds-index/retail-roms.md b/pages/_ko-KR/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_ko-KR/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_ko-KR/ds-index/wifi.md b/pages/_ko-KR/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_ko-KR/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_ko-KR/index.md b/pages/_ko-KR/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_ko-KR/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_ko-KR/twilightmenu/creating-ram-disks.md b/pages/_ko-KR/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_ko-KR/twilightmenu/custom-boot-splashes.md b/pages/_ko-KR/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_ko-KR/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_ko-KR/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_ko-KR/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_ko-KR/twilightmenu/custom-dsi-3ds-skins.md b/pages/_ko-KR/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_ko-KR/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_ko-KR/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_ko-KR/twilightmenu/download-play-pictochat.md b/pages/_ko-KR/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_ko-KR/twilightmenu/faq.md b/pages/_ko-KR/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_ko-KR/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_ko-KR/twilightmenu/how-to-get-box-art.md b/pages/_ko-KR/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_ko-KR/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_ko-KR/twilightmenu/index.md b/pages/_ko-KR/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_ko-KR/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_ko-KR/twilightmenu/installing-3ds-manual.md b/pages/_ko-KR/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_ko-KR/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_ko-KR/twilightmenu/installing-3ds-universal-updater.md b/pages/_ko-KR/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_ko-KR/twilightmenu/installing-3ds.md b/pages/_ko-KR/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_ko-KR/twilightmenu/installing-dsi.md b/pages/_ko-KR/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_ko-KR/twilightmenu/installing-flashcard.md b/pages/_ko-KR/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_ko-KR/twilightmenu/playing-in-widescreen.md b/pages/_ko-KR/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_ko-KR/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_ko-KR/twilightmenu/updating-3ds-manual.md b/pages/_ko-KR/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ko-KR/twilightmenu/updating-3ds-universal-updater.md b/pages/_ko-KR/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_ko-KR/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ko-KR/twilightmenu/updating-3ds.md b/pages/_ko-KR/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ko-KR/twilightmenu/updating-dsi.md b/pages/_ko-KR/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ko-KR/twilightmenu/updating-flashcard.md b/pages/_ko-KR/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_ko-KR/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_no-NO/ds-index/dsi-twl-firm.md b/pages/_no-NO/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_no-NO/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_no-NO/ds-index/hardmod.md b/pages/_no-NO/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_no-NO/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_no-NO/ds-index/homebrew.md b/pages/_no-NO/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_no-NO/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_no-NO/ds-index/index.md b/pages/_no-NO/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_no-NO/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_no-NO/ds-index/retail-roms.md b/pages/_no-NO/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_no-NO/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_no-NO/ds-index/wifi.md b/pages/_no-NO/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_no-NO/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_no-NO/index.md b/pages/_no-NO/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_no-NO/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_no-NO/twilightmenu/creating-ram-disks.md b/pages/_no-NO/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_no-NO/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_no-NO/twilightmenu/custom-boot-splashes.md b/pages/_no-NO/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_no-NO/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_no-NO/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_no-NO/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_no-NO/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_no-NO/twilightmenu/custom-dsi-3ds-skins.md b/pages/_no-NO/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_no-NO/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_no-NO/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_no-NO/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_no-NO/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_no-NO/twilightmenu/download-play-pictochat.md b/pages/_no-NO/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_no-NO/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_no-NO/twilightmenu/faq.md b/pages/_no-NO/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_no-NO/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_no-NO/twilightmenu/how-to-get-box-art.md b/pages/_no-NO/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_no-NO/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_no-NO/twilightmenu/index.md b/pages/_no-NO/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_no-NO/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_no-NO/twilightmenu/installing-3ds-manual.md b/pages/_no-NO/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_no-NO/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_no-NO/twilightmenu/installing-3ds-universal-updater.md b/pages/_no-NO/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_no-NO/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_no-NO/twilightmenu/installing-3ds.md b/pages/_no-NO/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_no-NO/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_no-NO/twilightmenu/installing-dsi.md b/pages/_no-NO/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_no-NO/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_no-NO/twilightmenu/installing-flashcard.md b/pages/_no-NO/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_no-NO/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_no-NO/twilightmenu/playing-in-widescreen.md b/pages/_no-NO/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_no-NO/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_no-NO/twilightmenu/updating-3ds-manual.md b/pages/_no-NO/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_no-NO/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_no-NO/twilightmenu/updating-3ds-universal-updater.md b/pages/_no-NO/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_no-NO/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_no-NO/twilightmenu/updating-3ds.md b/pages/_no-NO/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_no-NO/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_no-NO/twilightmenu/updating-dsi.md b/pages/_no-NO/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_no-NO/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_no-NO/twilightmenu/updating-flashcard.md b/pages/_no-NO/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_no-NO/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_pl-PL/ds-index/dsi-twl-firm.md b/pages/_pl-PL/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..9e52d1f4 --- /dev/null +++ b/pages/_pl-PL/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: pl-PL +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Przygotowywanie CFW +Chociaż większość korzyści z Custom Firmware dotyczy systemów Nintendo DSi i Nintendo 3DS, to umożliwia ono także odblokowanie możliwości konsoli. Instalowanie Custom Firmware jest dosyć łatwe, a w większości przypadków potrzebujesz tylko karty (micro)SD. Mamy dla Ciebie najlepsze poradniki z instrukcjami krok po kroku. + +- [Poradnik Hakowania 3DS](https://3ds.hacks.guide) + - Komenda Lightning: `mod 3ds` + - Komenda Kuriisu: `guide 3ds` +- [Poradnik Hakowania DSi](https://dsi.cfw.guide) + - Komenda Lightning: `mod dsi cfw` + - Komenda Kuriisu: `guide dsi` + +### Szybkości CPU +Nintendo DS było sprzedawane w 2004 z procesorem 67MHz. Nintendo DSi było sprzedawane w 2009 z procesorem 133MHz. Większość gier z biblioteki Nintendo DS wyszło na rynek przed premierą Nintendo DSi. Z tego powodu mogły korzystać one tylko z procesora o prędkośći 67MHz. Niektóre aplikacje wiązały się z tą prędkością i w rezultacie nie działałyby one poprawnie z wyższymi taktowaniami zegara procesora. Większość gier wykorzystywałaby większy potencjał nowego procesora, aby uzyskać wyższą wydajność. + +nds-bootstrap ma opcje TWL Clock Speed, ale nie bedzie on próbował dostosować naszego ROM do pracy z większym taktowaniem zegara procesora. To zadanie leży w rękach aplikacji, więc aplikacje nie działające z wyższymi taktowaniami NIE są problemem ze strony nds-bootstrap. + +### Menu systemu Nintendo DSi +Menu systemu Nintendo DSi używa 32-bitowy signed integer, aby określić dostępne miejsce w pamięci NAND. Korzystając z faktycznego NAND, ilość ta nigdy nie przekroczy 128MB, więc jest to bezpieczne. Gdy jednak przekierujemy NAND do karty SD, dostępna pamięć przekracza limit 32-bitowego signed integer i jako rezultat następuje overflow do liczby ujemnej. Negatywna ilość wolnego miejsca spowoduje komunikat "Wystąpił błąd" i nie pozwoli Ci uruchomić menu. Na szczęście można to naprawić, tworząc plik który oszukuje system, aby ten myślał że miejsce wolne jest dodatnie. + +Wartości dodatnie i ujemne określa się na podstawie par. Na przykład 1-2 GB wolnego miejsca jest dozwolone gdy 3-4 nie jest. 5-6GB wolnego miejsca jest dozwolone, a 7-8 znowu nie. + +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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_pl-PL/ds-index/hardmod.md b/pages/_pl-PL/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_pl-PL/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_pl-PL/ds-index/homebrew.md b/pages/_pl-PL/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_pl-PL/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_pl-PL/ds-index/index.md b/pages/_pl-PL/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_pl-PL/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_pl-PL/ds-index/retail-roms.md b/pages/_pl-PL/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_pl-PL/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_pl-PL/ds-index/wifi.md b/pages/_pl-PL/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_pl-PL/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_pl-PL/index.md b/pages/_pl-PL/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_pl-PL/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_pl-PL/twilightmenu/creating-ram-disks.md b/pages/_pl-PL/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_pl-PL/twilightmenu/custom-boot-splashes.md b/pages/_pl-PL/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_pl-PL/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_pl-PL/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_pl-PL/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_pl-PL/twilightmenu/custom-dsi-3ds-skins.md b/pages/_pl-PL/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_pl-PL/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_pl-PL/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_pl-PL/twilightmenu/download-play-pictochat.md b/pages/_pl-PL/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_pl-PL/twilightmenu/faq.md b/pages/_pl-PL/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_pl-PL/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_pl-PL/twilightmenu/how-to-get-box-art.md b/pages/_pl-PL/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_pl-PL/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_pl-PL/twilightmenu/index.md b/pages/_pl-PL/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_pl-PL/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_pl-PL/twilightmenu/installing-3ds-manual.md b/pages/_pl-PL/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_pl-PL/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_pl-PL/twilightmenu/installing-3ds-universal-updater.md b/pages/_pl-PL/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_pl-PL/twilightmenu/installing-3ds.md b/pages/_pl-PL/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_pl-PL/twilightmenu/installing-dsi.md b/pages/_pl-PL/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_pl-PL/twilightmenu/installing-flashcard.md b/pages/_pl-PL/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_pl-PL/twilightmenu/playing-in-widescreen.md b/pages/_pl-PL/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_pl-PL/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_pl-PL/twilightmenu/updating-3ds-manual.md b/pages/_pl-PL/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pl-PL/twilightmenu/updating-3ds-universal-updater.md b/pages/_pl-PL/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_pl-PL/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pl-PL/twilightmenu/updating-3ds.md b/pages/_pl-PL/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pl-PL/twilightmenu/updating-dsi.md b/pages/_pl-PL/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pl-PL/twilightmenu/updating-flashcard.md b/pages/_pl-PL/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_pl-PL/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_pt-PT/ds-index/dsi-twl-firm.md b/pages/_pt-PT/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_pt-PT/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_pt-PT/ds-index/hardmod.md b/pages/_pt-PT/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_pt-PT/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_pt-PT/ds-index/homebrew.md b/pages/_pt-PT/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_pt-PT/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_pt-PT/ds-index/index.md b/pages/_pt-PT/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_pt-PT/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_pt-PT/ds-index/retail-roms.md b/pages/_pt-PT/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_pt-PT/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_pt-PT/ds-index/wifi.md b/pages/_pt-PT/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_pt-PT/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_pt-PT/index.md b/pages/_pt-PT/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_pt-PT/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_pt-PT/twilightmenu/creating-ram-disks.md b/pages/_pt-PT/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_pt-PT/twilightmenu/custom-boot-splashes.md b/pages/_pt-PT/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_pt-PT/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_pt-PT/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_pt-PT/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_pt-PT/twilightmenu/custom-dsi-3ds-skins.md b/pages/_pt-PT/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_pt-PT/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_pt-PT/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_pt-PT/twilightmenu/download-play-pictochat.md b/pages/_pt-PT/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_pt-PT/twilightmenu/faq.md b/pages/_pt-PT/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_pt-PT/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_pt-PT/twilightmenu/how-to-get-box-art.md b/pages/_pt-PT/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_pt-PT/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_pt-PT/twilightmenu/index.md b/pages/_pt-PT/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_pt-PT/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_pt-PT/twilightmenu/installing-3ds-manual.md b/pages/_pt-PT/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_pt-PT/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_pt-PT/twilightmenu/installing-3ds-universal-updater.md b/pages/_pt-PT/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_pt-PT/twilightmenu/installing-3ds.md b/pages/_pt-PT/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_pt-PT/twilightmenu/installing-dsi.md b/pages/_pt-PT/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_pt-PT/twilightmenu/installing-flashcard.md b/pages/_pt-PT/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_pt-PT/twilightmenu/playing-in-widescreen.md b/pages/_pt-PT/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_pt-PT/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_pt-PT/twilightmenu/updating-3ds-manual.md b/pages/_pt-PT/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pt-PT/twilightmenu/updating-3ds-universal-updater.md b/pages/_pt-PT/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_pt-PT/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pt-PT/twilightmenu/updating-3ds.md b/pages/_pt-PT/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pt-PT/twilightmenu/updating-dsi.md b/pages/_pt-PT/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_pt-PT/twilightmenu/updating-flashcard.md b/pages/_pt-PT/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_pt-PT/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_ru-RU/ds-index/dsi-twl-firm.md b/pages/_ru-RU/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_ru-RU/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_ru-RU/ds-index/hardmod.md b/pages/_ru-RU/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_ru-RU/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_ru-RU/ds-index/homebrew.md b/pages/_ru-RU/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_ru-RU/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_ru-RU/ds-index/index.md b/pages/_ru-RU/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_ru-RU/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_ru-RU/ds-index/retail-roms.md b/pages/_ru-RU/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_ru-RU/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_ru-RU/ds-index/wifi.md b/pages/_ru-RU/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_ru-RU/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_ru-RU/index.md b/pages/_ru-RU/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_ru-RU/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_ru-RU/twilightmenu/creating-ram-disks.md b/pages/_ru-RU/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_ru-RU/twilightmenu/custom-boot-splashes.md b/pages/_ru-RU/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_ru-RU/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_ru-RU/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_ru-RU/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_ru-RU/twilightmenu/custom-dsi-3ds-skins.md b/pages/_ru-RU/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_ru-RU/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_ru-RU/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_ru-RU/twilightmenu/download-play-pictochat.md b/pages/_ru-RU/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_ru-RU/twilightmenu/faq.md b/pages/_ru-RU/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_ru-RU/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_ru-RU/twilightmenu/how-to-get-box-art.md b/pages/_ru-RU/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_ru-RU/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_ru-RU/twilightmenu/index.md b/pages/_ru-RU/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_ru-RU/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_ru-RU/twilightmenu/installing-3ds-manual.md b/pages/_ru-RU/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_ru-RU/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_ru-RU/twilightmenu/installing-3ds-universal-updater.md b/pages/_ru-RU/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_ru-RU/twilightmenu/installing-3ds.md b/pages/_ru-RU/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_ru-RU/twilightmenu/installing-dsi.md b/pages/_ru-RU/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_ru-RU/twilightmenu/installing-flashcard.md b/pages/_ru-RU/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_ru-RU/twilightmenu/playing-in-widescreen.md b/pages/_ru-RU/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_ru-RU/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_ru-RU/twilightmenu/updating-3ds-manual.md b/pages/_ru-RU/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ru-RU/twilightmenu/updating-3ds-universal-updater.md b/pages/_ru-RU/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_ru-RU/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ru-RU/twilightmenu/updating-3ds.md b/pages/_ru-RU/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ru-RU/twilightmenu/updating-dsi.md b/pages/_ru-RU/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_ru-RU/twilightmenu/updating-flashcard.md b/pages/_ru-RU/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_ru-RU/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_sv-SE/ds-index/dsi-twl-firm.md b/pages/_sv-SE/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_sv-SE/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_sv-SE/ds-index/hardmod.md b/pages/_sv-SE/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_sv-SE/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_sv-SE/ds-index/homebrew.md b/pages/_sv-SE/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_sv-SE/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_sv-SE/ds-index/index.md b/pages/_sv-SE/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_sv-SE/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_sv-SE/ds-index/retail-roms.md b/pages/_sv-SE/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_sv-SE/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_sv-SE/ds-index/wifi.md b/pages/_sv-SE/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_sv-SE/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_sv-SE/index.md b/pages/_sv-SE/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_sv-SE/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_sv-SE/twilightmenu/creating-ram-disks.md b/pages/_sv-SE/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_sv-SE/twilightmenu/custom-boot-splashes.md b/pages/_sv-SE/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_sv-SE/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_sv-SE/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_sv-SE/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_sv-SE/twilightmenu/custom-dsi-3ds-skins.md b/pages/_sv-SE/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_sv-SE/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_sv-SE/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_sv-SE/twilightmenu/download-play-pictochat.md b/pages/_sv-SE/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_sv-SE/twilightmenu/faq.md b/pages/_sv-SE/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_sv-SE/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_sv-SE/twilightmenu/how-to-get-box-art.md b/pages/_sv-SE/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_sv-SE/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_sv-SE/twilightmenu/index.md b/pages/_sv-SE/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_sv-SE/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_sv-SE/twilightmenu/installing-3ds-manual.md b/pages/_sv-SE/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_sv-SE/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_sv-SE/twilightmenu/installing-3ds-universal-updater.md b/pages/_sv-SE/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_sv-SE/twilightmenu/installing-3ds.md b/pages/_sv-SE/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_sv-SE/twilightmenu/installing-dsi.md b/pages/_sv-SE/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_sv-SE/twilightmenu/installing-flashcard.md b/pages/_sv-SE/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_sv-SE/twilightmenu/playing-in-widescreen.md b/pages/_sv-SE/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_sv-SE/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_sv-SE/twilightmenu/updating-3ds-manual.md b/pages/_sv-SE/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_sv-SE/twilightmenu/updating-3ds-universal-updater.md b/pages/_sv-SE/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_sv-SE/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_sv-SE/twilightmenu/updating-3ds.md b/pages/_sv-SE/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_sv-SE/twilightmenu/updating-dsi.md b/pages/_sv-SE/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_sv-SE/twilightmenu/updating-flashcard.md b/pages/_sv-SE/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_sv-SE/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_tr-TR/ds-index/dsi-twl-firm.md b/pages/_tr-TR/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_tr-TR/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_tr-TR/ds-index/hardmod.md b/pages/_tr-TR/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_tr-TR/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_tr-TR/ds-index/homebrew.md b/pages/_tr-TR/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_tr-TR/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_tr-TR/ds-index/index.md b/pages/_tr-TR/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_tr-TR/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_tr-TR/ds-index/retail-roms.md b/pages/_tr-TR/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_tr-TR/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_tr-TR/ds-index/wifi.md b/pages/_tr-TR/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_tr-TR/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_tr-TR/index.md b/pages/_tr-TR/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_tr-TR/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_tr-TR/twilightmenu/creating-ram-disks.md b/pages/_tr-TR/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_tr-TR/twilightmenu/custom-boot-splashes.md b/pages/_tr-TR/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_tr-TR/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_tr-TR/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_tr-TR/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_tr-TR/twilightmenu/custom-dsi-3ds-skins.md b/pages/_tr-TR/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_tr-TR/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_tr-TR/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_tr-TR/twilightmenu/download-play-pictochat.md b/pages/_tr-TR/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_tr-TR/twilightmenu/faq.md b/pages/_tr-TR/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_tr-TR/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_tr-TR/twilightmenu/how-to-get-box-art.md b/pages/_tr-TR/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_tr-TR/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_tr-TR/twilightmenu/index.md b/pages/_tr-TR/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_tr-TR/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_tr-TR/twilightmenu/installing-3ds-manual.md b/pages/_tr-TR/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_tr-TR/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_tr-TR/twilightmenu/installing-3ds-universal-updater.md b/pages/_tr-TR/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_tr-TR/twilightmenu/installing-3ds.md b/pages/_tr-TR/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_tr-TR/twilightmenu/installing-dsi.md b/pages/_tr-TR/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_tr-TR/twilightmenu/installing-flashcard.md b/pages/_tr-TR/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_tr-TR/twilightmenu/playing-in-widescreen.md b/pages/_tr-TR/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_tr-TR/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_tr-TR/twilightmenu/updating-3ds-manual.md b/pages/_tr-TR/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_tr-TR/twilightmenu/updating-3ds-universal-updater.md b/pages/_tr-TR/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_tr-TR/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_tr-TR/twilightmenu/updating-3ds.md b/pages/_tr-TR/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_tr-TR/twilightmenu/updating-dsi.md b/pages/_tr-TR/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_tr-TR/twilightmenu/updating-flashcard.md b/pages/_tr-TR/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_tr-TR/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_uk-UA/ds-index/dsi-twl-firm.md b/pages/_uk-UA/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_uk-UA/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_uk-UA/ds-index/hardmod.md b/pages/_uk-UA/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_uk-UA/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_uk-UA/ds-index/homebrew.md b/pages/_uk-UA/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_uk-UA/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_uk-UA/ds-index/index.md b/pages/_uk-UA/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_uk-UA/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_uk-UA/ds-index/retail-roms.md b/pages/_uk-UA/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_uk-UA/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_uk-UA/ds-index/wifi.md b/pages/_uk-UA/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_uk-UA/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_uk-UA/index.md b/pages/_uk-UA/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_uk-UA/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_uk-UA/twilightmenu/creating-ram-disks.md b/pages/_uk-UA/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_uk-UA/twilightmenu/custom-boot-splashes.md b/pages/_uk-UA/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_uk-UA/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_uk-UA/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_uk-UA/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_uk-UA/twilightmenu/custom-dsi-3ds-skins.md b/pages/_uk-UA/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_uk-UA/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_uk-UA/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_uk-UA/twilightmenu/download-play-pictochat.md b/pages/_uk-UA/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_uk-UA/twilightmenu/faq.md b/pages/_uk-UA/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_uk-UA/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_uk-UA/twilightmenu/how-to-get-box-art.md b/pages/_uk-UA/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_uk-UA/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_uk-UA/twilightmenu/index.md b/pages/_uk-UA/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_uk-UA/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_uk-UA/twilightmenu/installing-3ds-manual.md b/pages/_uk-UA/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_uk-UA/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_uk-UA/twilightmenu/installing-3ds-universal-updater.md b/pages/_uk-UA/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_uk-UA/twilightmenu/installing-3ds.md b/pages/_uk-UA/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_uk-UA/twilightmenu/installing-dsi.md b/pages/_uk-UA/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_uk-UA/twilightmenu/installing-flashcard.md b/pages/_uk-UA/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_uk-UA/twilightmenu/playing-in-widescreen.md b/pages/_uk-UA/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_uk-UA/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_uk-UA/twilightmenu/updating-3ds-manual.md b/pages/_uk-UA/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_uk-UA/twilightmenu/updating-3ds-universal-updater.md b/pages/_uk-UA/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_uk-UA/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_uk-UA/twilightmenu/updating-3ds.md b/pages/_uk-UA/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_uk-UA/twilightmenu/updating-dsi.md b/pages/_uk-UA/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_uk-UA/twilightmenu/updating-flashcard.md b/pages/_uk-UA/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_uk-UA/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_zh-CN/ds-index/dsi-twl-firm.md b/pages/_zh-CN/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_zh-CN/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_zh-CN/ds-index/hardmod.md b/pages/_zh-CN/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_zh-CN/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_zh-CN/ds-index/homebrew.md b/pages/_zh-CN/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_zh-CN/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_zh-CN/ds-index/index.md b/pages/_zh-CN/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_zh-CN/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_zh-CN/ds-index/retail-roms.md b/pages/_zh-CN/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_zh-CN/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_zh-CN/ds-index/wifi.md b/pages/_zh-CN/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_zh-CN/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_zh-CN/index.md b/pages/_zh-CN/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_zh-CN/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_zh-CN/twilightmenu/creating-ram-disks.md b/pages/_zh-CN/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_zh-CN/twilightmenu/custom-boot-splashes.md b/pages/_zh-CN/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_zh-CN/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_zh-CN/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_zh-CN/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_zh-CN/twilightmenu/custom-dsi-3ds-skins.md b/pages/_zh-CN/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_zh-CN/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_zh-CN/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_zh-CN/twilightmenu/download-play-pictochat.md b/pages/_zh-CN/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_zh-CN/twilightmenu/faq.md b/pages/_zh-CN/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_zh-CN/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_zh-CN/twilightmenu/how-to-get-box-art.md b/pages/_zh-CN/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_zh-CN/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_zh-CN/twilightmenu/index.md b/pages/_zh-CN/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_zh-CN/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_zh-CN/twilightmenu/installing-3ds-manual.md b/pages/_zh-CN/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_zh-CN/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_zh-CN/twilightmenu/installing-3ds-universal-updater.md b/pages/_zh-CN/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_zh-CN/twilightmenu/installing-3ds.md b/pages/_zh-CN/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_zh-CN/twilightmenu/installing-dsi.md b/pages/_zh-CN/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_zh-CN/twilightmenu/installing-flashcard.md b/pages/_zh-CN/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_zh-CN/twilightmenu/playing-in-widescreen.md b/pages/_zh-CN/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_zh-CN/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_zh-CN/twilightmenu/updating-3ds-manual.md b/pages/_zh-CN/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-CN/twilightmenu/updating-3ds-universal-updater.md b/pages/_zh-CN/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_zh-CN/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-CN/twilightmenu/updating-3ds.md b/pages/_zh-CN/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-CN/twilightmenu/updating-dsi.md b/pages/_zh-CN/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-CN/twilightmenu/updating-flashcard.md b/pages/_zh-CN/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_zh-CN/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD` diff --git a/pages/_zh-TW/ds-index/dsi-twl-firm.md b/pages/_zh-TW/ds-index/dsi-twl-firm.md new file mode 100644 index 00000000..eb02a124 --- /dev/null +++ b/pages/_zh-TW/ds-index/dsi-twl-firm.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DSi / Nintendo 3DS TWL_FIRM +description: An explanation of all things DS modding +--- + +### Setting-up CFW +While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD Card. We have the best of guides for you to follow, with step-by-step instructions. + +- [3DS Hacking Guide](https://3ds.hacks.guide) + - Lightning command: `mod 3ds` + - Kuriisu command: `guide 3ds` +- [DSi Hacking Guide](https://dsi.cfw.guide) + - Lightning command: `mod dsi cfw` + - Kuriisu command: `guide dsi` + +### CPU Speeds +The Nintendo DS shipped with a 67Mhz processor in 2004. The Nintendo DSi shipped with an 133Mhz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67Mhz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed. + +nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end. + +### Nintendo DSi System Menu +The Nintendo DSi System Menu uses a signed 32-bit integer to determine the free space on the NAND. Using the actual NAND, amount will never go above 128 MB so it was safe. However, when we redirect the NAND to the SD Card, it goes above the 32-bit integer limit, which makes it overflow to a negative number. The negative number of free space will unfortunately cause an "An error has occurred" error message, not letting you boot into the menu. Fortunately, this can be fixed by making a dummy file to put it in a positive number. + +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 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 flashcards and you cannot dump ROMs to your SD card. + +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 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 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, 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 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/_zh-TW/ds-index/hardmod.md b/pages/_zh-TW/ds-index/hardmod.md new file mode 100644 index 00000000..8295fab0 --- /dev/null +++ b/pages/_zh-TW/ds-index/hardmod.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Hardmod +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 +![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. diff --git a/pages/_zh-TW/ds-index/homebrew.md b/pages/_zh-TW/ds-index/homebrew.md new file mode 100644 index 00000000..7dba7a89 --- /dev/null +++ b/pages/_zh-TW/ds-index/homebrew.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Homebrew +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: + +- **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. 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** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links. + +### DLDI + +Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device. + +### Time Bomb + +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 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, 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 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 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 +- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments diff --git a/pages/_zh-TW/ds-index/index.md b/pages/_zh-TW/ds-index/index.md new file mode 100644 index 00000000..3ac8a540 --- /dev/null +++ b/pages/_zh-TW/ds-index/index.md @@ -0,0 +1,13 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Nintendo DS Modding Index +description: An explanation of all things DS modding +--- + +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. + + diff --git a/pages/_zh-TW/ds-index/retail-roms.md b/pages/_zh-TW/ds-index/retail-roms.md new file mode 100644 index 00000000..182f531c --- /dev/null +++ b/pages/_zh-TW/ds-index/retail-roms.md @@ -0,0 +1,71 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Retail ROMs +description: An explanation of all things DS modding +--- + +### Anti-Piracy + +AP (short for anti-piracy) is a method used by developers to enforce legitimate purchases and prevent piracy. This can be circumvented either from the loader or the ROM itself. + +- For nds-bootstrap's purposes, you can load an `.IPS` file in order to circumvent said patches. This `.IPS` file will be patched inside nds-bootstrap, so you can keep the ROM files intact. A pack of `.IPS` files are automatically included with TWiLight Menu++. +- For Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself. + +In case there isn't a `.IPS` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/) + +### CloneBoot + +Cloneboot is when a game sends it's own loaded arm9/arm7 binary to another console. It is used for DS Download Play, for single-card multiplayer. Not all games that have single-card multiplayer uses cloneboot though. + +Currently, nds-bootstrap's cloneboot patches is broken due to arm9/7 binaries being patched, which makes the RSA signatures invalid. + +### Thumb instructions +Instead of the 32-bit regular ARM instructions, THUMB use 16-bit instructions. This is useful when memory bandwidth is a bottleneck. + +### Save Files +Nintendo DS cartridges have 4 known save types: + +- EEPROM - Electrically Erasable Programmable Read-Only Memory +- FLASH +- FRAM - Ferroelectric Random-Access Memory +- NAND - NOT-AND + +Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers + +There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php + +### Card Read DMA +Card DMA (stands for Direct Memory Access) is a more efficient way to read catridge data than by software. When there isn't any data available, code can still execute. In software catridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data. + +You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter. +- For example: `DMA2: 04100010 023C18C0 AF000001` + +### Donor ROM + +In previous nds-bootstrap versions, a Mario Kart DS ROM was needed for SDK3-4 games to work or save. The ROM acted as a Donor ROM. nds-bootstrap grabs the donor's arm7 binary, replacing the original ROM's arm7 binary, in order for the save patches to work, and there was a few side effects as a result. In later nds-bootstrap versions, a Donor ROM is needed for certain THUMB or SDK5 games to boot, as well as save. + +### Action Replay Cheats + +Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether. + +Flashcarts can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcart kernel respectively. The following kernels can utilize cheats: +- Wood R4 (`usrcheat.dat`) +- YSMenu (`usrcheat.dat`) + +Homebrew/digital based solutions can also take advantage of the cheat databases, the software currently available can use the following: +- NitroHax (`cheats.xml`) + - The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and trys to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB +- TWiLight Menu++ (`usrcheat.dat`) + - TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up + - The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, the cheats file does not have a real limit. + - Bootstrap 4 DS (aka the nds-bootstrap version used on flashcarts) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack. + +For the most complete cheat database, we recommend using the one made by DeadSkullzJr titled [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711/page-38#post-9090779) + +Cheat codes generally have types A through E, and here is a description of them: + +- The 0xE code type is a 32-bit code type that allows you to make multiple writes in many consecutives addresses all at once. Essentially, it is like the basic 32-bit RAM write code type (0x0), except this doesn't have addresses listed next the the values you want to write. Instead, the 0xE code type is programmed to automatically branch from a starting address, then determine the addresses to write to. From there, you just have to tack in the amount to write to in order for it to do the job. + +Credits: (`DeadSkullzJr`) diff --git a/pages/_zh-TW/ds-index/wifi.md b/pages/_zh-TW/ds-index/wifi.md new file mode 100644 index 00000000..08277195 --- /dev/null +++ b/pages/_zh-TW/ds-index/wifi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: ds-index +title: Wi-Fi +description: An explanation of all things DS modding +--- + +- On Nintendo DS applications, you can only use WEP and Open WiFi +- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA2 support + +Hotspots are usable, so you don't need to change your router configuration. + +### Nintendo DS WFC Restoration + +1. Launch the Nintendo WFC settings +1. Connect to your access point +1. Set your Primary DNS value as one of the values below, depending on which service you want to use: + - **Wiimmfi** - `164.132.44.106` + - **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87` + - **BenFi** - `24.218.177.103` + - **Twilit WFC** - `34.66.49.81` +1. Set `1.1.1.1` as your secondary DNS +1. You might need to NoSSL patch your game at this point, depending on the game diff --git a/pages/_zh-TW/index.md b/pages/_zh-TW/index.md new file mode 100644 index 00000000..fd0acca0 --- /dev/null +++ b/pages/_zh-TW/index.md @@ -0,0 +1,11 @@ +--- +lang: en-US +layout: default +title: Home +--- + +# Welcome to the DS-Homebrew Wiki! + +This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left. + +If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS(i) Mode Hacking](https://ds-hombrew.com/discord) Discord server (English only). diff --git a/pages/_zh-TW/twilightmenu/creating-ram-disks.md b/pages/_zh-TW/twilightmenu/creating-ram-disks.md new file mode 100644 index 00000000..66b81411 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/creating-ram-disks.md @@ -0,0 +1,27 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Creating RAM Disks +category: Other +--- + +NOTE: You do not need to follow this if you're using a flashcard. + +To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below. + +Instructions by @Dakkon7, modified by RocketRobz: + +1. Run RAMDisk +1. Click **View** -> **Advanced** +1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB** +1. Un-mark **Create TEMP Directory**, if it's already marked +1. Click **Load/Save** +1. Click `Start RAMDisk`, and a new window for your .img should appear +1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use +1. In the RAMDisk program, click `Save Disk Image Now` +1. Save `romname.img` to a folder called `ramdisks` in the .nds file location +1. Click `Stop RAMDisk` when you're done +1. In TWiLight Menu++, open per-game settings for your homebrew +1. Set RAM disk to 0 +1. Launch your homebrew, and it should read your RAM disk diff --git a/pages/_zh-TW/twilightmenu/custom-boot-splashes.md b/pages/_zh-TW/twilightmenu/custom-boot-splashes.md new file mode 100644 index 00000000..7e4b3845 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/custom-boot-splashes.md @@ -0,0 +1,18 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Boot Splashes +category: Customization +--- + +You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings. + +Most GIF files up to 256x192 should work, with a few exceptions: +- GIF files over 1MiB (DSi Mode) or 256KiB (DS Mode) may not play at full speed as they will be decompressed on the fly +- Between the two, the GIFs must be less than about 10MB (DSi Mode) or about 2MB (DS Mode) +- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time +- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults + - Only the GIF waiting for input will be paused, so the other can continue animating +- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame +- Interlaced and text frames will not work diff --git a/pages/_zh-TW/twilightmenu/custom-dsi-3ds-sfx.md b/pages/_zh-TW/twilightmenu/custom-dsi-3ds-sfx.md new file mode 100644 index 00000000..99dd7cfb --- /dev/null +++ b/pages/_zh-TW/twilightmenu/custom-dsi-3ds-sfx.md @@ -0,0 +1,51 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: DSi / 3DS skins - Custom SFX +category: Customization +--- + +TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme". + +These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started). + +## Sound Effect Bank +The sound effect bank contains sound effects such as the icon select sound, etc. + +| File | Description | +| ----------- | -------------------------------------------------------------------------------------- | +| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details | +| back.wav | Back | +| launch.wav | Played when launching a game | +| select.wav | Played when moving the select cursor | +| wrong.wav | Played when reaching the end of the page | +| switch.wav | Played when switching pages | +| stop.wav | Played on the DSi Theme when the select cursor stops moving | +| menu.wav | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details | + +You can then run `make` to make the sound effect bank. All files listed above, except *menu.wav* are required, but you can make them silent. + +Your resulting *sfx.bin* **must be under 512000B = 512KB**. Any larger will result in either crashes or some sounds not playing fully. + +### Startup sound +While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins. + +The startup.wav file must be **16-bit 16kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play. + + +## Menu BGM + +To create custom menu BGM, you will need to install [SoX](https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2-win32.exe/download). + +Menu BGM is created from **menu.wav**, which must be **16-bit 16kHz Mono**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**. + +If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**. + +If SoX is installed, once you run `make`, you will get a `bgm.pcm.raw` file, that can be copied to the *sound* subfolder in your theme folder. + +Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large. diff --git a/pages/_zh-TW/twilightmenu/custom-dsi-3ds-skins.md b/pages/_zh-TW/twilightmenu/custom-dsi-3ds-skins.md new file mode 100644 index 00000000..f8a3f276 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/custom-dsi-3ds-skins.md @@ -0,0 +1,134 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to create DSi / 3DS skins +category: Customization +--- + +The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below). + +Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run +```bash +$ make +``` +in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the advanced theming section below. + +Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below). + +## Theme file descriptions + +The `volume` and `battery` textures are self explanatory. + +### Background textures (`background_grit` folder) +| Texture | Description | +| ------------------ | ------------------------------------------------------------------------------------------------- | +| bottom | The bottom background texture when not hovering over an icon | +| bottom_bubble | The bottom background texture when hovering over an icon | +| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite | +| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite | +| top | The top background | + +### Paletted textures (`grit` folder) +| Texture | Description | Palette Restrictions (if less than 16) | +| ------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | | +| box | The box texture, containing both full and empty textures (for DSi Theme) | | +| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default | +| brace | The brace texture shown past the first and last icon (DSi theme) | 4 Colors | +| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors | +| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | | +| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Menu) (The name is based on an old use) | | +| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | | +| dialogbox | The background of the dialog box that slides down | | +| folder | The icon for folders | | +| icon_gb | The icon for Game Boy games | | +| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` | +| icon_gbamode | The icon for native GBA Mode | | +| icon_gg | The icon for Game Gear games | | +| icon_manual | The icon for the manual | | +| icon_md | The icon for Mega Drive games | | +| icon_nes | The icon for NES games | | +| icon_plg | The icon for DSTWO plugins | | +| icon_settings | The icon for Nintendo DSi Settings | | +| icon_sms | The icon for Sega Master System games | | +| icon_snes | The icon for SNES games | | +| icon_unk | The icon displayed when a game is missing an icon | | +| launch_dot | The dots displayed when a game is launched (DSi Theme) | | +| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | | +| progress | The progress loading animation with 8 frames | 9 Colors | +| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors | +| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | | +| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | | +| start_text | The text displayed for the start border on the (DSi Theme) | 4 Colors | +| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors | + +### UI textures (`ui` folder) +| Texture | Description | +| ---------------- | ------------------------------------------------------- | +| date_time_font | The font to display the date and time | +| Lshoulder | The left shoulder | +| Lshoulder_greyed | The left shoulder when there are no pages to the left | +| Rshoulder | The right shoulder | +| Rshoulder_greyed | The right shoulder when there are no pages to the right | + +### Video texture (`video` folder) + +`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it. + +### Fonts (`font` folder) + +You can add custom fonts in NFTR (Nitro FonT Resource) format, these are not in the example themes, but you can download the default fonts from [here](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/nitrofiles/graphics/font). One utility you can use to edit NFTR files is Pk11's [nftr-editor](https://pk11.us/nftr-editor/) (works in any modern browser). + +| File | Description | +| ---------- | ----------------------------------------- | +| large.nftr | The large font used for titles | +| small.nftr | The smaller font used for most other text | + +## Theme configuration + +You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures. + +| Value | Description | Default (3DS) | Default (DSi) | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- | +| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 | +| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 | +| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 | +| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 | +| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 | +| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 | +| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 | +| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 | +| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A | +| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 | +| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 | +| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 | +| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 | +| `VolumeRenderX` | The X position on the top screen to draw the right shoulder | 4 | 4 | +| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 | +| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 | +| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 | +| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 | +| `StartTextUserPalette` | Assign the DSi Profile Theme to the palette of the start text | N/A | 1 | +| `StartBorderUserPalette` | Assign the DSi Profile Theme Palette to the palette of the start border | N/A | 1 | +| `ButtonArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow buttons on the bottom of the screen | N/A | 1 | +| `MovingArrowUserPalette` | Assign the DSi Profile Theme Palette to the palette of the arrow shown when moving icons | N/A | 1 | +| `LaunchDotsUserPalette` | Assign the DSi Profile Theme Palette to the palette of the launch dots | N/A | 1 | +| `DialogBoxUserPalette` | Assign the DSi Profile Theme Palette to the palette of the dialog box | N/A | 1 | + +## Advanced theming + +Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette. + +For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results. + +Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of palettes to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes. + +Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences. + +Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all. + +## Custom background music and sound fonts. + +The DSi Menu and 3DS themes also support custom music. See [Adding custom music / SFX](Adding-custom-music-sfx) for more details. diff --git a/pages/_zh-TW/twilightmenu/custom-unlaunch-backgrounds.md b/pages/_zh-TW/twilightmenu/custom-unlaunch-backgrounds.md new file mode 100644 index 00000000..dc8b7d05 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/custom-unlaunch-backgrounds.md @@ -0,0 +1,48 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Custom Unlaunch Backgrounds +category: Customization +--- + +Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions: +- Only the first frame will be shown, no animated backgrounds +- The file must be less than or equal to 15,472 bytes +- GIFs with more than 31 colors require specially made palettes to prevent breaking the text + +### Installing +1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds` +1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card +1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want +1. Exit settings and launch `Unlaunch DSi Installer` + - It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above +1. Choose `Install Now` + +### Using GIFs with more than 31 colors +As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work. +1. Open your image in GIMP and make sure it's 256 x 192 pixels +1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...` +1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors +1. Select a dithering pattern from the `Color dithering` dropdown + - Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size +1. Click `Convert` +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` + - If it gives any warnings, click the accept button +1. In the next popup, disable the `GIF comment` and click `Export` +1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13 +1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it + - These instructions will use ezgif as its simpler, being a website +1. Open https://ezgif.com/optimize, and upload your GIF +1. Try different compression levels until you find the best one under 15,472 bytes (15.11KiB), ideally a bit under as GIMP may increase the size a bit +1. Save the optimized GIF and open it in GIMP +1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap` +1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button + - If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots +1. Right click a color in the Colormap and select `Rearrange Colormap...` +1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)
![Palette with correct text colors](https://cdn.discordapp.com/attachments/614278143527878658/770777177904906240/unlaunch-palette.png) +1. Use the color picker to make your new colors match those in the above image +1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export` +1. In the next popup, make sure `GIF comment` is off and click `Export` +1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level +1. You're done! Follow the [installing](#installing) section above to use your image! diff --git a/pages/_zh-TW/twilightmenu/download-play-pictochat.md b/pages/_zh-TW/twilightmenu/download-play-pictochat.md new file mode 100644 index 00000000..8a8b9731 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/download-play-pictochat.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Download Play / Pictochat in DS Classic Menu +category: Other +--- + +If you're using a DSi console, you should already be able to launch those apps. +Otherwise, if you have a 3DS, proceed below. + +In GodMode9: +- Press R+A on SYSNAND TWLN +- Select `Search for titles` +- Select `DS Download Play (NTR-HNDA).tmd` +- Select `TMD file options...` +- Select `Dump CXI/NDS file` +- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds` + +Copy to `sd:/_nds/`, and rename to `dlplay.nds`. + +The above steps will increase DLP boot speed. + +To run Pictochat on 3DS (DSi required): +- Copy `pictochat.nds` from `sd:/_nds/` on the DSi SD card, on the 3DS SD card, also in `sd:/_nds/` You must first access the DS Classic Menu in TWiLight Menu++ on the DSi. diff --git a/pages/_zh-TW/twilightmenu/faq.md b/pages/_zh-TW/twilightmenu/faq.md new file mode 100644 index 00000000..a9074f6c --- /dev/null +++ b/pages/_zh-TW/twilightmenu/faq.md @@ -0,0 +1,39 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: FAQ & Troubleshooting +category: Other +--- + +For more FAQs, please visit the [GBAtemp thread](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/). + +#### Q: Why is my 3DS/2DS stuck on black screens when launching TWiLight Menu++, or why is my 3DS/2DS powering off when launching TWiLight Menu++? +A: TWL_FIRM might've somehow got corrupted. Follow this guide to fix the issue: https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide + +#### Q: I get a white screen when booting TWiLight Menu++. How do I fix this? +A: +- First, try putting the console in sleep mode (e.g. closing the console's lid, or pressing the sleep button on the O2DS), then wake up the console from it +- If that doesn't work, format your SD card to FAT32 with 32kb cluster/allocation size +- If that also doesn't work, try a different SD card + +#### Q: Why do I get a white screen when trying to load a game from SD Card? +A: +- First, check [the nds-bootstrap compatibility list](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) and make sure your game is compatible +- If the game that's attempted to be launched is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode` +- If it worked before, delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/` + +#### Q: How do I use cheats? +A: You need to have a cheat DB in the form of a `usrcheat.dat` file in the `sd:/_nds/TWiLightMenu/extras/` folder. The most updated cheat database is [DeadSkullzJr's](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB. + +#### Q: How do I show a custom picture on the top screen of the DSi theme? +A: A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded. + +- The file(s) must be no bigger than 208x156 +- If you have errors, it's most likely an error with the image size. Please use tinypng to reduce the size + +#### Q: Why isn't touch input working on sudokuhax? +A: Depending on the save file of sudokuhax, the touch screen inputs may not work. + +#### Q: Can The Biggest Loser boot TWiLight Menu++? +A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards. diff --git a/pages/_zh-TW/twilightmenu/how-to-get-box-art.md b/pages/_zh-TW/twilightmenu/how-to-get-box-art.md new file mode 100644 index 00000000..72e498bd --- /dev/null +++ b/pages/_zh-TW/twilightmenu/how-to-get-box-art.md @@ -0,0 +1,46 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: How to Get Box Art +category: Other +--- + +### 3DS +1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases) + - This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++ +1. Select `Extras`, `Boxart`, then press X to scan the full SD card or A to select a folder to scan +1. Choose a box art size +1. Choose a border style +1. Make sure box art is set to be shown in TWiLight Menu++ settings + +### Windows +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe` +1. Click `Detect SD` + - If it doesn't find the correct SD card click `Browse...` and select the right one +1. Change the size, border, etc options to your liking +1. Click `Start` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### macOS/Linux +1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases) +1. Extract the `.zip` +1. Open `TwilightBoxart.ini` in the extracted folder in a text editor, then save the file +1. Type the path to your SD card after `SdRoot=` + - On macOS this is `/Volumes/` then the name of your SD card +1. Open the terminal +1. In the terminal, type `cd ` then drag drop the folder with `TwilightBoxart.CLI` in it onto your terminal +1. Run `chmod +x TwilightBoxart.CLI` +1. Run `./TwilightBoxart.CLI` file by drag dropping it onto your terminal +1. Say `Yes` if it shows your SD path correctly +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +### Manual +1. Download a png box art pack from [GameTDB](https://www.gametdb.com/DS/Downloads#cover_packs) +1. Extract the .png files to `sd:/_nds/TWiLightMenu/boxart` +1. On your DS, make sure box art is set to be shown in TWiLight Menu++ settings + +**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143. + +Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category. diff --git a/pages/_zh-TW/twilightmenu/index.md b/pages/_zh-TW/twilightmenu/index.md new file mode 100644 index 00000000..5b66fb9f --- /dev/null +++ b/pages/_zh-TW/twilightmenu/index.md @@ -0,0 +1,12 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Home +--- + +# Welcome to the TWiLight Menu++ wiki! + +TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards. + +For info on how to install, click on the page in the sidebar for your console in the Installing section. diff --git a/pages/_zh-TW/twilightmenu/installing-3ds-manual.md b/pages/_zh-TW/twilightmenu/installing-3ds-manual.md new file mode 100644 index 00000000..74ea166e --- /dev/null +++ b/pages/_zh-TW/twilightmenu/installing-3ds-manual.md @@ -0,0 +1,16 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Manual) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI diff --git a/pages/_zh-TW/twilightmenu/installing-3ds-universal-updater.md b/pages/_zh-TW/twilightmenu/installing-3ds-universal-updater.md new file mode 100644 index 00000000..13df5620 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/installing-3ds-universal-updater.md @@ -0,0 +1,14 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS, Universal-Updater) +category: Installing +--- + +### Installing +1. Install [Universal-Updater](https://github.com/Universal-Team/Universal-Updater/releases) +1. Open Universal-Updater and find TWiLight Menu++ in the app grid, you can search for it if your having trouble finding it + - It has this icon: ![TWiLight Menu++ icon](https://raw.githubusercontent.com/DS-Homebrew/TWiLightMenu/master/booter/icon.bmp) +1. Press `A` or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while diff --git a/pages/_zh-TW/twilightmenu/installing-3ds.md b/pages/_zh-TW/twilightmenu/installing-3ds.md new file mode 100644 index 00000000..60a83155 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/installing-3ds.md @@ -0,0 +1,33 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (3DS) +category: Installing +--- + +### Requirements + +- The latest version of [FBI](https://github.com/Steveice10/FBI/releases) +- The latest version of [Luma3DS](https://github.com/lumateam/luma3ds/releases) + +### Installing (Working Camera) +1. Open FBI and select `Remote Install`, then `Scan QR Code` +1. Scan this QR code to install the latest version of the [TWiLight Menu++ Updater](https://github.com/RocketRobz/TWiLightMenu-Updater)
![TWiLight Menu++ Updater QR code](https://db.universal-team.net/assets/images/qr/twilightmenu-updater.cia.png) +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### Installing (Non-Working Camera) +1. Download the `TWiLightMenu-Updater.cia` file from the [TWiLight Menu++ Updater release page](https://github.com/RocketRobz/TWiLightMenu-Updater/releases) +1. Place the `TWiLightMenu-Updater.cia` file anywhere on your SD card +1. Launch FBI on your Nintendo 3DS +1. In FBI, go to the place you pasted the `TWiLightMenu-Updater.cia` file +1. Select the `TWiLightMenu-Updater.cia` file and hit "Install & Delete" +1. Close FBI and Launch the TWiLight Menu++ Updater + - If it doesn't show up on your home menu, reboot your 3DS +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` diff --git a/pages/_zh-TW/twilightmenu/installing-dsi.md b/pages/_zh-TW/twilightmenu/installing-dsi.md new file mode 100644 index 00000000..e63cd3e3 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/installing-dsi.md @@ -0,0 +1,20 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (DSi) +category: Installing +--- + +### Installing +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the `roms` folder to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### Autobooting with Unlaunch +1. Turn on your DSi while holding A and B +1. In the Unlaunch menu, go to `OPTIONS` +1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen diff --git a/pages/_zh-TW/twilightmenu/installing-flashcard.md b/pages/_zh-TW/twilightmenu/installing-flashcard.md new file mode 100644 index 00000000..e47fa641 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/installing-flashcard.md @@ -0,0 +1,47 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Installing (Flashcard) +category: Installing +--- + +### Installing +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root +1. Copy the `roms` folder to your flashcard's microSD card root +1. If you already have save data, move your `.sav` files, which are in your DS ROM location, to a new folder called `saves`, which also goes in the DS ROM location +1. ... + - **DS Phat/lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1` + - This will let you use TWL clock speed and/or VRAM boost on your flashcard games, as well as accessing the console's SD card + +### To run games using your flashcard firmware +1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card + - If you done so, continue to step 3. If not, follow the steps below the flashcard list below + +1. For these flashcards: + - R4i-SDHC + - r4isdhc.com cards + - r4isdhc.hk cards + - R4i SDHC Upgrade Revolution + - R4DSiXL3D + - R4i Advance + - R4-IIIi + - R4 SDHC Revolution + - R4(i) Pocket + - R4i Gold (v1.4.1) (3DS) + - R4xDS + + Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) + - Make sure you have `YSMenu.nds` and `TTMenu` folder (renamed from `YSMenu`, if existed) on the flashcard microSD root +1. Set `Use nds-bootstrap (B4DS)` to `No`, so the flashcard firmware will be used instead of nds-bootstrap + +### Autobooting TWiLight Menu++ +1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card + - Skip this, if you don't see your flashcard +1. ... + - **DS Phat/DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot + - **DSi/3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1` diff --git a/pages/_zh-TW/twilightmenu/playing-in-widescreen.md b/pages/_zh-TW/twilightmenu/playing-in-widescreen.md new file mode 100644 index 00000000..995668bc --- /dev/null +++ b/pages/_zh-TW/twilightmenu/playing-in-widescreen.md @@ -0,0 +1,31 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Playing in Widescreen +category: Other +--- + +Requires an Old/New Nintendo 3DS or 2DS console. + +**Preparation** +- Make sure Luma's `boot.firm` is on the SD root for this to work +- If you used TWiLight Menu++ Updater or Universal-Updater to update, please install the latest TWiLight Menu++ CIAs using FBI + +1. Download [TWPatch](https://puu.sh/GoWHS/9459f224fb.cia) ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/)) +1. In Luma config, enable external FIRMs and modules +1. Install the TWPatch CIA +1. Launch TWPatch +1. Press X+START to generate a `TwlBg.cxi` file with widescreen + - If the top screen doesn't indicate that wide patch is enabled, start from step 4 again + - If widescreen still doesn't work, wait for RTCom-activated widescreen to be released +1. In the TWiLight Menu++ settings, switch the page to `Misc settings`, and set `Screen Aspect Ratio` to `16:10` + - This can be done per-game as well + +You're all done! Enjoy your DS games in widescreen! + +**NOTE1**: Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released. + +**NOTE2:** Do not hold `START` or `SELECT` when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released. + +Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt) diff --git a/pages/_zh-TW/twilightmenu/updating-3ds-manual.md b/pages/_zh-TW/twilightmenu/updating-3ds-manual.md new file mode 100644 index 00000000..5b86ace3 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/updating-3ds-manual.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Manual) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-3DS.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. Copy the two `.cia` files to your SD card root +1. On your 3DS, install the two CIAs with FBI + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-TW/twilightmenu/updating-3ds-universal-updater.md b/pages/_zh-TW/twilightmenu/updating-3ds-universal-updater.md new file mode 100644 index 00000000..479aa2cd --- /dev/null +++ b/pages/_zh-TW/twilightmenu/updating-3ds-universal-updater.md @@ -0,0 +1,25 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS, Universal-Updater) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Open Universal-Updater + - If you don't have it, follow the [installing](installing-3ds-universal-updater) instructions +1. Find TWiLight Menu++ in the app grid, you can search for it if you're having trouble finding it +1. Press A or tap the download icon in the sidebar and select `TWiLight Menu++` to install it + - This will take a while + + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-TW/twilightmenu/updating-3ds.md b/pages/_zh-TW/twilightmenu/updating-3ds.md new file mode 100644 index 00000000..a671e6f7 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/updating-3ds.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (3DS) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Launch the TWiLight Menu++ Updater + - If you don't have it, follow the [installing](installing-%7C-3ds) instructions +1. Select `Release` next to `TWLMenu++` + - This will take a while +1. Select `Release` next to `nds-bootstrap` + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-TW/twilightmenu/updating-dsi.md b/pages/_zh-TW/twilightmenu/updating-dsi.md new file mode 100644 index 00000000..551c3592 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/updating-dsi.md @@ -0,0 +1,24 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (DSi) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-DSi.7z` +1. Copy the `_nds` folder to your SD card root +1. Copy the `BOOT.NDS` file to your SD card root +1. **hiyaCFW users:** Copy the `title` folder to your SD card root + +### More steps for the flashcard side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Console (micro)SD > Slot-1 microSD` diff --git a/pages/_zh-TW/twilightmenu/updating-flashcard.md b/pages/_zh-TW/twilightmenu/updating-flashcard.md new file mode 100644 index 00000000..cee3e010 --- /dev/null +++ b/pages/_zh-TW/twilightmenu/updating-flashcard.md @@ -0,0 +1,23 @@ +--- +lang: en-US +layout: wiki +section: twilightmenu +title: Updating (Flashcard) +category: Updating +--- + +**NOTE:** If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms. + +### Updating +1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases) +1. Extract `TWiLightMenu-Flashcard.7z` +1. Copy the `_nds` folder to your flashcard's microSD card root +1. Copy the `BOOT.NDS` file to your flashcard's microSD card root + +### More steps for the DSi/3DS SD Card side + +If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps. + +1. Go into TWLMenu++ Settings +1. Select `Update TWiLight Menu++` +1. Select `Slot-1 microSD > Console (micro)SD`