mirror of
https://github.com/rvtr/wiki.git
synced 2025-10-31 06:31:13 -04:00
A lot of minor spelling and formatting tweaks
Also rewrote the first sentence of retail-roms.md#assembly to be more correct. Assembly is a programming language, machine code is the native code, assembly is just very closely linked to machine code.
Also sorry translators, I shoulda done this before the big update 😅
This commit is contained in:
parent
28d311bdb2
commit
7a298bed9f
@ -64,8 +64,8 @@ Examples include:
|
||||
### Keep names exclusively alphanumeric, to keep them easy to read and tag.
|
||||
|
||||
- Users with an (normally) unmentionable or unreadable username/nickname by normal means will be assigned a new nickname.
|
||||
- If we have to flip our displays to read your name, it's an abnormal way.
|
||||
- If we have to get your User ID in order to mention you, it's an abnormal way.
|
||||
- If we have to flip our displays to read your name, it's an abnormal way.
|
||||
- If we have to get your User ID in order to mention you, it's an abnormal way.
|
||||
- Avoid purposely putting characters in the beginning of the name to change your spot in the member list. You'll get those characters removed.
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: community
|
||||
title: Home
|
||||
description: Coming Soon™
|
||||
description: Information about the DS-Homebrew community
|
||||
---
|
||||
|
||||
You can find information about our community here, such as the rules for our Discord server. We have the following places:
|
||||
|
||||
@ -3,7 +3,7 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: ds-index
|
||||
category: guides
|
||||
title: DS game forwarders (3DS)
|
||||
title: DS Game Forwarders (3DS)
|
||||
description: How to create CIA forwarders to have your DS games on your 3DS's home menu
|
||||
---
|
||||
|
||||
@ -29,8 +29,8 @@ Compatible:
|
||||
- [DSTT Advance](http://kaze-tado.way-nifty.com/moo/images/2008/11/19/200811202.jpg)
|
||||
- Galaxy Eagle
|
||||
- M3 DS Real
|
||||
- [M3 DS Simply](https://farm2.static.flickr.com/1333/752793411_d91b182eb7.jpg) (uses <2GB microSD card)
|
||||
- [R4 DS](http://www.nds-card.com/ProShow.asp?ProID=141) (Original Non-SDHC version, uses <2GB microSD card)
|
||||
- [M3 DS Simply](https://farm2.static.flickr.com/1333/752793411_d91b182eb7.jpg) (uses < 2 GB microSD card)
|
||||
- [R4 DS](http://www.nds-card.com/ProShow.asp?ProID=141) (Original Non-SDHC version, uses < 2 GB microSD card)
|
||||
- [R4 SDHC Snoopy](http://www.nds-card.com/ProShow.asp?ProID=567)
|
||||
- [R4 SDHC RTS LITE](http://www.nds-card.com/ProShow.asp?ProID=450) ([www.r4isdhc.com](http://www.r4isdhc.com/))
|
||||
- R4 SDHC Upgrade ([www.r4i-sdhc.com](http://www.r4i-sdhc.com/))
|
||||
@ -56,7 +56,7 @@ Partially compatible:
|
||||
Incompatible:
|
||||
- CycloDS (i)Evolution (Can autoboot ROMs, but it works differently than other flashcards.)
|
||||
- (i)Edge (Unable to autoboot a .nds ROM)
|
||||
- R4 Gold Pro ([www.r4i-gold.com](http://www.r4i-gold.com)/[www.r4i-gold.me](http://www.r4i-gold.me)) (YSMenu (not the forwarder process) bricks the card)
|
||||
- R4 Gold Pro ([www.r4i-gold.com](http://www.r4i-gold.com) / [www.r4i-gold.me](http://www.r4i-gold.me)) (YSMenu (not the forwarder process) bricks the card)
|
||||
- R4i3D (2012)
|
||||
- R4 Infinity Dual Core
|
||||
- R4 SDHC
|
||||
@ -76,24 +76,24 @@ PC:
|
||||
- Java 8 Update 251
|
||||
- **Linux users:** JavaFX. On Debian based systems run [this](https://gist.githubusercontent.com/puntillol59/7532b6583380baca236dcaf2d8f75b5c/raw/e8b9d193f8b24de941160c7292ec0bb3b997e98e/main.sh), or if you're on Arch run: `sudo pacman -S java8-openjfx && sudo archlinux-java set java-8-openjdk/jre`.
|
||||
|
||||
### Part 1: Getting Started
|
||||
### Part 1: Getting started
|
||||
{% capture tab-sd-card %}
|
||||
1. Download the [SD card forwarder pack](https://www.dropbox.com/s/k5uaa4jzbtkgm0z/DS%20Game%20Forwarder%20pack%20%283DS%20SD%20Card%29.7z?dl=0)
|
||||
1. Extract the contents of the `for SD card root` folder to the root of your 3DS's SD card
|
||||
|
||||
After you extract the pack, you can edit `sd:/_nds/nds-bootstrap.ini` and change the settings:
|
||||
- `BOOST_CPU`: If set to 1, TWL clock speed is used, so lags begone
|
||||
- `SOUND_FREQ`: If set to 1, sound will play at 48khz, instead of 32khz
|
||||
- `SOUND_FREQ`: If set to 1, sound will play at 48 kHz, instead of 32 kHz
|
||||
{% endcapture%}
|
||||
|
||||
{% capture tab-flashcard %}
|
||||
1. Download one of these packs:
|
||||
- [Original R4/M3 Simply](https://www.dropbox.com/s/juxzri7h8bttunh/DS%20Game%20Forwarder%20pack%20%28Original%20R4%2C%20M3%20Simply%29.7z?dl=0)
|
||||
- [Acekard 2(i)/M3DS Real](https://www.dropbox.com/s/5elogf885sd62hu/DS%20Game%20Forwarder%20pack%20%28M3DS%20Real%29.7z?dl=0)
|
||||
- [Original R4 / M3 Simply](https://www.dropbox.com/s/juxzri7h8bttunh/DS%20Game%20Forwarder%20pack%20%28Original%20R4%2C%20M3%20Simply%29.7z?dl=0)
|
||||
- [Acekard 2(i) / M3DS Real](https://www.dropbox.com/s/5elogf885sd62hu/DS%20Game%20Forwarder%20pack%20%28M3DS%20Real%29.7z?dl=0)
|
||||
- [DSTT / R4i Gold / R4i-SDHC / R4 SDHC Upgrade / SC DSONE](https://www.dropbox.com/s/xxfmvikwmnvsu63/DS%20Game%20Forwarder%20pack%20%28DSTT%2C%20R4i%20Gold%2C%20R4i-SDHC%2C%20SC%20DSONE%29.7z?dl=0)
|
||||
- [Acekard RPG](https://drive.google.com/file/d/0B2_1xHkEp2_6OHVuZEJwU1BKbEU/view?usp=sharing)
|
||||
- [R4iDSN / R4i Gold RTS / R4i Gold 3DS Plus](https://www.dropbox.com/s/j8nquh073k9y0h7/DS%20Game%20Forwarder%20pack%20%28R4iDSN%2C%20R4i%20Gold%20RTS%29.7z?dl=0)
|
||||
- [Ace 3DS+/Gateway Blue Card/R4iLS/R4iTT](https://www.dropbox.com/s/fd7dzhn8burcq02/DS%20Game%20Forwarder%20pack%20%28Ace3DS%2C%20GW%20Blue%20Card%2C%20R4iTT%29.7z?dl=0)
|
||||
- [Ace 3DS+ / Gateway Blue Card / R4iLS / R4iTT](https://www.dropbox.com/s/fd7dzhn8burcq02/DS%20Game%20Forwarder%20pack%20%28Ace3DS%2C%20GW%20Blue%20Card%2C%20R4iTT%29.7z?dl=0)
|
||||
- [SC DSTWO](https://www.dropbox.com/s/pyyg0vq8b0nmhqd/DS%20Game%20Forwarder%20pack%20%28SC%20DSTWO%29.7z?dl=0)
|
||||
|
||||
1. Extract the contents of the `for Slot-1 microSD` folder to the root of your flashcard's microSD card, and (if the folder exists) the contents of the `for 3DS SD card` folder to the root of your 3DS's SD card.
|
||||
@ -106,11 +106,11 @@ After you extract the pack for your card, you can edit `sd:/_nds/ntr_forwarder.i
|
||||
|
||||
<div class="tab-container">
|
||||
<div class="pb-3">
|
||||
<a class="tab-link btn btn-outline-secondary tab-default" href="#tab-sd-card" onclick="openTab(event, event.currentTarget)" data-tab-name="sd-card">SD Card</a>
|
||||
<a class="tab-link btn btn-outline-secondary tab-default" href="#tab-sd-card" onclick="openTab(event, event.currentTarget)" data-tab-name="sd-card">SD card</a>
|
||||
<a class="tab-link btn btn-outline-secondary" href="#tab-flashcard" onclick="openTab(event, event.currentTarget)" data-tab-name="flashcard">Flashcard</a>
|
||||
</div>
|
||||
<div id="tab-sd-card">
|
||||
<noscript><h4>SD Card</h4></noscript>
|
||||
<noscript><h4>SD card</h4></noscript>
|
||||
{{ tab-sd-card | markdownify }}
|
||||
</div>
|
||||
<div id="tab-flashcard">
|
||||
|
||||
@ -7,36 +7,36 @@ title: Nintendo DSi / Nintendo 3DS TWL_FIRM
|
||||
description: Information about the Nintendo DSi and the Nintendo 3DS's TWL_FIRM
|
||||
---
|
||||
|
||||
### 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.
|
||||
### 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`
|
||||
- Lightning command: `mod 3ds`
|
||||
- Kuriisu command: `guide 3ds`
|
||||
- [DSi Hacking Guide](https://dsi.cfw.guide)
|
||||
- Lightning command: `mod dsi cfw`
|
||||
- Kuriisu command: `guide dsi`
|
||||
- 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.
|
||||
### CPU speeds
|
||||
The Nintendo DS shipped with a 67 MHz processor in 2004. The Nintendo DSi shipped with an 133 MHz 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 67 MHz. 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 amount of free space on the device. Using a device source that goes above the 32-bit integer limit, this counter is overflowed into a negative number, which crashes into an "An error has occurred" black screen.
|
||||
### Nintendo DSi system menu
|
||||
The Nintendo DSi system menu uses a signed 32-bit integer to determine the amount of free space on the device. Using a device source that goes above the 32-bit integer limit, this counter is overflowed into a negative number, which crashes into an "An error has occurred" black screen.
|
||||
|
||||
The ranges that make it overflow is 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.
|
||||
|
||||
This crash will never occur if the System Menu is launched from an actual NAND chip (since it maxes out at 128 MB), but a redirection system (such as hiyaCFW) would cause this to trigger. Fortunately, this bug can easily by fixed by placing dummy files to set the counter at a positive number. hiyaCFW will automatically do this for you in the latest version.
|
||||
This crash will never occur if the system menu is launched from an actual NAND chip (since it maxes out at 128 MB), but a redirection system (such as hiyaCFW) would cause this to trigger. Fortunately, this bug can easily by fixed by placing dummy files to set the counter at a positive number. hiyaCFW will automatically do this for you in the latest version.
|
||||
|
||||
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.
|
||||
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.
|
||||
### 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)
|
||||
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.
|
||||
|
||||
@ -45,8 +45,8 @@ The Nintendo DSi Camera application has the ability to take pictures in the JPEG
|
||||
|
||||
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
|
||||
### 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.
|
||||
|
||||
### RTCom
|
||||
RTCom is the use of the 3DS's RTC to allow the ARM7 and ARM11 CPUs to communicate with each other, even while in TWL_FIRM. This allows 3DS features to be used while in DS(i) mode. This includes the circle pad's analog input, enabling widescreen, and having gyro support. Currently, the only public ds homebrew that make use of RTCom is certain builds of gbarunner2 that have support for the 3DS's gyro feature. To enable RTCom, you will need to use [TWPatch](https://gbatemp.net/threads/542694/).
|
||||
RTCom is the use of the 3DS's RTC to allow the ARM7 and ARM11 CPUs to communicate with each other, even while in TWL_FIRM. This allows 3DS features to be used while in DS(i) mode. This includes the circle pad's analog input, enabling widescreen, and having gyro support. Currently, the only public ds homebrew that make use of RTCom is certain builds of GBARunner2 that have support for the 3DS's gyro feature. To enable RTCom, you will need to use [TWPatch](https://gbatemp.net/threads/542694/).
|
||||
|
||||
@ -63,7 +63,7 @@ You will first need to remove the NOCASH footer from the backup you are flashing
|
||||
1. Open HxD and drag both files into the editor. Go to the top bar, click "Analysis", click "File compare" from the drop down menu, then click "Compare".
|
||||
1. Choose to compare both files then click OK when done
|
||||
- If it says "The chosen files are identical.", you are good to go to the next section
|
||||
- If it doesn't say that, and both NANDs aren't around 240MB, dump NAND_1/NAND_0 again
|
||||
- If it doesn't say that, and both NANDs aren't around 240 MB, dump NAND_1 / NAND_0 again
|
||||
1. Open Win32DiskImager, click the folder icon and choose your existing NAND backup you created before
|
||||
1. Flash it with the `Write` button
|
||||
1. Unplug the SD card adapter and attempt to turn on the DSi
|
||||
|
||||
@ -11,9 +11,9 @@ description: Information about homebrew on the Nintendo DS
|
||||
|
||||
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](https://devkitpro.org/) recommends [libfat](https://github.com/devkitPro/libfat). We recommend using [libslim](https://github.com/DS-Homebrew/libslim/) instead, as it allows usage of different partitions, quicker speeds, and non-blocking
|
||||
- **Graphic Library:** We recommend using [easyGL2D](http://rel.phatcode.net/junk.php?id=117), which comes shipped with libnds. However, you can use [NightFox Lib](https://github.com/knightfox75/nds_nflib)
|
||||
- **Entire Toolchains:** We recommend using [devkitARM](https://devkitpro.org/wiki/Getting_Started) and [libnds](https://libnds.devkitpro.org/), 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](https://bitbucket.org/Coto88/toolchaingenericds)
|
||||
- **SD card libraries:** [DevkitPro](https://devkitpro.org/) recommends [libfat](https://github.com/devkitPro/libfat). We recommend using [libslim](https://github.com/DS-Homebrew/libslim/) instead, as it allows usage of different partitions, quicker speeds, and non-blocking
|
||||
- **Graphics libraries:** We recommend using [easyGL2D](http://rel.phatcode.net/junk.php?id=117), which comes shipped with libnds. However, you can use [NightFox Lib](https://github.com/knightfox75/nds_nflib)
|
||||
- **Entire toolchains:** We recommend using [devkitARM](https://devkitpro.org/wiki/Getting_Started) and [libnds](https://libnds.devkitpro.org/), 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](https://bitbucket.org/Coto88/toolchaingenericds)
|
||||
|
||||
### Flashcards
|
||||
|
||||
@ -25,22 +25,22 @@ DS mode flashcards are a slot-1 method of running Nintendo DS applications. Flas
|
||||
|
||||
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
|
||||
### 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
|
||||
- [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 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
|
||||
|
||||
@ -7,7 +7,7 @@ title: Retail ROMs
|
||||
description: Information related to retail DS games
|
||||
---
|
||||
|
||||
### Anti-Piracy
|
||||
### 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++.
|
||||
@ -20,7 +20,7 @@ Cloneboot is when a game sends it's own loaded ARM7 and ARM9 binaries to another
|
||||
|
||||
Currently, nds-bootstrap's cloneboot patches is broken due to the ARM7 and ARM9 binaries being patched, which makes the RSA signatures invalid.
|
||||
|
||||
### Save Files
|
||||
### Save files
|
||||
Nintendo DS cartridges have 4 known save types:
|
||||
|
||||
- EEPROM - Electrically Erasable Programmable Read-Only Memory
|
||||
@ -33,31 +33,31 @@ Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam
|
||||
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
|
||||
|
||||
### Assembly
|
||||
Assembly is the native language used for all DS software. Assembly code comes in the form of either ARM or THUMB instructions. THUMB instructions are a subset of the ARM instructions. THUMB is useful to save memory bandwidth as it uses 16-bit instrcutions over the regular 32-bit instructions that ARM uses.
|
||||
You can find more info on Assembly instructions, as well as a lot more technical information for the DS and DSi, at [gbatek](https://problemkaputt.de/gbatek.htm).
|
||||
Assembly language is any low-level programming language with a strong connection between the language's instructions and the processor's instructions. On the DS, assembly code comes in the form of either ARM or THUMB instructions, THUMB instructions being a subset of the ARM instructions. THUMB is useful to save memory bandwidth as it uses 16-bit instructions over the regular 32-bit instructions that ARM uses.
|
||||
You can find more information on assembly instructions, as well as a lot more technical information for the DS and DSi, on [GBATEK](https://problemkaputt.de/gbatek.htm).
|
||||
|
||||
### Card Read DMA
|
||||
### Card read DMA
|
||||
Card DMA (stands for Direct Memory Access) is a more efficient way to read cartridge data than by software. When there isn't any data available, code can still execute. In software cartridge 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`
|
||||
|
||||
### Action Replay Cheats
|
||||
### 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.
|
||||
|
||||
Flashcards can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcard 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:
|
||||
Homebrew / digital based solutions can also take advantage of the cheat databases, the software currently available can use the following:
|
||||
- [NitroHax](https://www.chishm.com/NitroHax) (`cheats.xml`)
|
||||
- NitroHax lets you use cheats with real game cards from a flashcard. The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and tries 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
|
||||
- NitroHax lets you use cheats with real game cards from a flashcard. The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and tries 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
|
||||
- [NitroHax3DS](https://github.com/ahezard/NitroHax3DS/releases) ([usrcheat.dat fork](https://github.com/Epicpkmn11/NitroHax3DS/releases)) (`cheats.xml` or `usrcheat.dat`)
|
||||
- NitroHax3DS is a version of NitroHax that runs from the system's SD card on DSi or 3DS. The original version uses cheats.xml with the same 2.4 MB limit as the original NitroHax, but there is also a fork that loads cheats from a usrcheat.dat database with no size limitation
|
||||
- NitroHax3DS is a version of NitroHax that runs from the system's SD card on DSi or 3DS. The original version uses cheats.xml with the same 2.4 MB limit as the original NitroHax, but there is also a fork that loads cheats from a usrcheat.dat database with no size limitation
|
||||
- [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu/releases) (`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, there is only a limit to how many cheats can be enabled, not a limit on the database size
|
||||
- Bootstrap 4 DS (the nds-bootstrap version used on flashcards) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack
|
||||
- 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, there is only a limit to how many cheats can be enabled, not a limit on the database size
|
||||
- Bootstrap 4 DS (the nds-bootstrap version used on flashcards) 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).
|
||||
|
||||
|
||||
@ -12,12 +12,12 @@ description: Information on using Wi-Fi on the Nintendo DS
|
||||
|
||||
Hotspots are usable, so you don't need to change your router configuration.
|
||||
|
||||
### Creating a Hotspot
|
||||
### Creating a hotspot
|
||||
There are guides for creating a DS game compatible hotspot on macOS and Linux computers on GBAtemp. If you're on Windows you can use a Linux live boot.
|
||||
- [macOS](https://gbatemp.net/threads/571658)
|
||||
- [Linux](https://gbatemp.net/threads/543283)
|
||||
|
||||
### Nintendo DS WFC Restoration
|
||||
### 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:
|
||||
@ -28,7 +28,7 @@ There are guides for creating a DS game compatible hotspot on macOS and Linux co
|
||||
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
|
||||
|
||||
### Manually Patching Your DS ROMs
|
||||
### Manually patching your DS ROMs
|
||||
Follow the guide below in case your ISP blocks custom DNS servers, otherwise it is *strongly* recommended to follow the guide above.
|
||||
|
||||
Note: Users of GNU/Linux and macOS can follow very similar instructions, but will have to use mono
|
||||
@ -42,7 +42,7 @@ Note: Users of GNU/Linux and macOS can follow very similar instructions, but wil
|
||||
|
||||
Don't forget to remove any DNS you might have saved on your Wi-Fi settings before attempting to connect with the patched ROM
|
||||
|
||||
### Troubleshooting and Further Reading
|
||||
If you are recieving any errors, you can enter the error code in wiimmfi's [troubleshooter](https://wiimmfi.de/error) for ways to fix it.
|
||||
### Troubleshooting and further reading
|
||||
If you are receiving any errors, you can enter the error code in wiimmfi's [troubleshooter](https://wiimmfi.de/error) for ways to fix it.
|
||||
|
||||
For more specific troubleshooting and more information, such as how to connect to online on emulators, you can read this [Wiimmfi Guide](https://docs.google.com/document/d/1f3PChwQig40UaiPXlh-Gi5CggGiBPzyrpiecLZlT8ZE/edit?usp=sharing) written by members of the [Mario Kart DS Network](https://discord.gg/pa9bea6).
|
||||
|
||||
@ -2,23 +2,26 @@
|
||||
lang: en-US
|
||||
layout: wiki
|
||||
section: gbarunner2
|
||||
title: GBA BIOS info
|
||||
title: GBA BIOS Info
|
||||
description: Information on the GBA BIOS and how to dump it
|
||||
---
|
||||
|
||||
In order for GBARunner2 to load titles, a dump of the GBA BIOS is required. Newer builds of GBARunner2 (which come with the latest release of TWiLiight Menu++) have [Normatt's Open Source BIOS](https://github.com/Normmatt/gba_bios) built-in. Because it is not an exact copy, including a dump of the official BIOS increases compatilbity. You can dump an official GBA BIOS with one of the following methods.
|
||||
In order for GBARunner2 to load titles, a dump of the GBA BIOS is required. Newer builds of GBARunner2 (which come with the latest release of TWiLight Menu++) have [Normatt's Open Source BIOS](https://github.com/Normmatt/gba_bios) built-in. However, because it is not an exact copy, using a dump of the official BIOS increases compatibility. You can dump an official GBA BIOS with one of the following methods.
|
||||
|
||||
### Dumping Guides
|
||||
|
||||
- [Wii (not family edition)/GameCube + Link Cable Dumper](https://github.com/FIX94/gba-link-cable-dumper)
|
||||
- [3DS using most Virtual Console Titles](https://glazedbelmont.github.io/gbabiosdump/) (can't be GBA or non-nintendo (gamegear) Virtual Console Titles)
|
||||
- [GBA (Micro/SP)/DS (Phat/Lite) with a GBA Flashcard](https://glazedbelmont.github.io/gbabiosdump/)
|
||||
- [Wii (not family edition) / GameCube + link cable dumper](https://github.com/FIX94/gba-link-cable-dumper)
|
||||
- [3DS using most Virtual Console titles](https://glazedbelmont.github.io/gbabiosdump/) (Can't be GBA or non-Nintendo (Game Gear) Virtual Console Titles)
|
||||
- [GBA or DS Phat / Lite with a GBA flashcard](https://glazedbelmont.github.io/gbabiosdump/)
|
||||
|
||||
After dumping the BIOS, it must be renamed as `bios.bin` and then should be placed in `sd:/_gba/` for GBARunner2 to read it.
|
||||
After dumping the BIOS, it must be renamed to `bios.bin` and then should be placed in `sd:/`, `sd:/gba/`, or `sd:/_gba/` for GBARunner2 to read it.
|
||||
|
||||
You can verify that your BIOS is a proper dump by comparing it with the following checksums:
|
||||
|
||||
**CRC32**: 81977335
|
||||
**MD5**: a860e8c0b6d573d191e4ec7db1b1e4f6
|
||||
**SHA1**: 300c20df6731a33952ded8c436f7f186d25d3492
|
||||
**SHA256**: fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570
|
||||
**CRC32:** `81977335`
|
||||
|
||||
**MD5:** `a860e8c0b6d573d191e4ec7db1b1e4f6`
|
||||
|
||||
**SHA1:** `300c20df6731a33952ded8c436f7f186d25d3492`
|
||||
|
||||
**SHA256:** `fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570`
|
||||
|
||||
@ -14,12 +14,12 @@ You can read and follow [this guide](https://docs.google.com/document/d/1owjiW-1
|
||||
|
||||
Not right now. Instead, you can permanently inject cheat codes into your GBA ROM with [GBAATM](https://gbatemp.net/threads/gba-auto-trainer-maker-gbaatm.99334/).
|
||||
|
||||
#### How do I use Nightly GBARunner2 Builds in TWiLight Menu++?
|
||||
#### How do I use nightly GBARunner2 builds in TWiLight Menu++?
|
||||
|
||||
1. Download the nightly build
|
||||
1. Rename it to `GBARunner2_arm7dldi_3ds.nds` (or `GBARunner2_arm7dldi_dsi.nds` if you're on DSi)
|
||||
1. Place it in `sd:_nds`
|
||||
|
||||
#### How do I use Wifi Link features?
|
||||
#### How do I use Wi-Fi link features?
|
||||
|
||||
You will need a build from the [wifi_link](https://github.com/Gericom/GBARunner2/tree/wifi_link) branch to use the features. You can find detailed instructions on how to setup the builds on its [GBATemp Wiki page](https://wiki.gbatemp.net/wiki/GBARunner2/Link).
|
||||
You will need a build from the [wifi_link](https://github.com/Gericom/GBARunner2/tree/wifi_link) branch to use the features. You can find detailed instructions on how to setup the builds on its [GBATemp Wiki page](https://wiki.gbatemp.net/wiki/GBARunner2/Link).
|
||||
|
||||
@ -3,11 +3,11 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: gbarunner2
|
||||
title: Home
|
||||
description: Coming Soon™
|
||||
description: Information on how to use GBARunner2
|
||||
---
|
||||
|
||||
GBARunner2 is an [open-source](https://github.com/Gericom/GBARunner2) hypervisor that runs GBA games on DS/DSi/3DS in DS mode. Basically, like [Nintendont](https://github.com/FIX94/Nintendont) does for running Gamecube games on Wii.
|
||||
GBARunner2 is an [open-source](https://github.com/Gericom/GBARunner2) hypervisor that runs GBA games on DS / DSi / 3DS in DS mode. Basically, like [Nintendont](https://github.com/FIX94/Nintendont) does for running GameCube games on Wii.
|
||||
|
||||
Along with what this wiki has to offer, the GBARunner compability lists have a lot of userful infomation:
|
||||
- [DS/Flashcart](https://wiki.gbatemp.net/wiki/GBARunner2)
|
||||
- [DSi/3DS](https://wiki.gbatemp.net/wiki/GBARunner2/DSi_3DS_Compatibility_List)
|
||||
Along with what this wiki has to offer, the GBARunner compatibility lists have a lot of useful information:
|
||||
- [DS flashcard](https://wiki.gbatemp.net/wiki/GBARunner2)
|
||||
- [DSi / 3DS](https://wiki.gbatemp.net/wiki/GBARunner2/DSi_3DS_Compatibility_List)
|
||||
|
||||
@ -7,7 +7,7 @@ title: FAQ & Troubleshooting
|
||||
description: FAQ & Troubleshooting for nds-bootstrap
|
||||
---
|
||||
|
||||
#### Why do I get a white screen when trying to load a game from SD Card?
|
||||
#### Why do I get a white screen when trying to load a game from SD card?
|
||||
- First, check the [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
|
||||
- Try with all cheats disabled for that game as some cheats are not compatible with nds-bootstrap at the moment, you can use <kbd class="l">L</kbd> to disable all cheats for a game
|
||||
- If the game you’re trying to launch is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode`
|
||||
@ -22,7 +22,7 @@ To improve performance, nds-bootstrap also shrinks the game's heap in memory, wh
|
||||
- Certain compatible ROMs are loaded into RAM, allowing for load times to be faster than even normal cartridges
|
||||
- You can expand the VRAM memory bus to 32-bit
|
||||
- Utilize the DSi's additional CPU speed
|
||||
- Enhance your audio with 48 KHz
|
||||
- Enhance your audio with 48 kHz
|
||||
- Use DSi mode, allowing for DSi features
|
||||
- Using certain cartridges, you are able to use IR in your application
|
||||
- nds-bootstrap is open source meaning devs can always update it to fix bugs and other things even if the company gets discontinued
|
||||
@ -33,20 +33,21 @@ Most SDK5 games can be selected as a Donor ROM (which can be done via TWiLight M
|
||||
|
||||
#### What is a nightly and where do I get it?
|
||||
A nightly build is build for the latest commit. Nightly builds may be unstable, but has the most recent bugfixes added.
|
||||
You can get nightly builds for nds-bootstap [here](https://github.com/TWLBot/Builds/raw/master/nds-bootstrap.7z).
|
||||
You can get nightly builds for nds-bootstrap [here](https://github.com/TWLBot/Builds/raw/master/nds-bootstrap.7z).
|
||||
|
||||
#### Why do my cheats not work?
|
||||
The way E cheat types are implemented in nds-bootstrap is broken, meaning they'd only work half of the time.
|
||||
Your cheat probably uses that type. It is not a fault of the cheat database, but rather a fault of nds-bootstrap. Please do not request these cheats to get deleted from the DB.
|
||||
|
||||
#### Is there anything else I should know about cheats?
|
||||
You can set heap shrink to `Hi` in settings for slightly better cheat support.<br>
|
||||
You can set heap shrink to `Hi` in settings for slightly better cheat support.
|
||||
|
||||
For more info on cheats, look [here](https://wiki.ds-homebrew.com/ds-index/retail-roms#action-replay-cheats).
|
||||
|
||||
#### nds-bootstrap troubleshooting
|
||||
If you get issues with using the latest version of nds-bootstrap, here's how you could troubleshoot it.
|
||||
|
||||
1. Run everything in 67mhz, DS Mode, with 32 KHz of audio, etc. Basically, keep everything to DS settings. Don't try to improve it with DSi stuff
|
||||
1. Run everything in 67 MHz, DS Mode, with 32 kHz of audio, etc. Basically, keep everything to DS settings. Don't try to improve it with DSi stuff
|
||||
2. Delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/`
|
||||
3. It's probably not that big of an issue; ask in the [Discord server](https://discord.gg/yD3spjv)
|
||||
|
||||
|
||||
@ -3,9 +3,9 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: nds-bootstrap
|
||||
title: Home
|
||||
description: nds-bootstrap wiki
|
||||
description: Information on how to use nds-bootstrap
|
||||
---
|
||||
|
||||
# Welcome to the nds-bootstrap Wiki
|
||||
|
||||
nds-bootstrap is an open-source application that allows Nintendo DS/DSi ROMs and homebrew to be natively utilised rather than using an emulator. nds-bootstrap works on Nintendo DSi/3DS SD cards through CFW and on Nintendo DS through flashcarts.
|
||||
nds-bootstrap is an open-source application that allows Nintendo DS / DSi ROMs and homebrew to be natively utilized rather than using an emulator. nds-bootstrap works on Nintendo DSi / 3DS SD cards through CFW and on Nintendo DS through flashcards.
|
||||
|
||||
@ -4,7 +4,7 @@ layout: wiki
|
||||
section: nds-bootstrap
|
||||
category: other
|
||||
title: Compatibility List & Testing Tips
|
||||
description: Compatibility List & Testing Tips
|
||||
description: Compatibility list and tips for testing games
|
||||
---
|
||||
|
||||
### Compatibility List
|
||||
|
||||
@ -3,7 +3,7 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: other
|
||||
title: GodMode9i
|
||||
description: Info for GodMode9i
|
||||
description: Information about GodMode9i
|
||||
---
|
||||
|
||||
Information for [GodMode9i](https://github.com/DS-Homebrew/GodMode9i), a full access file browser for the Nintendo DS, Nintendo DSi and the Nintendo 3DS's TWL_FIRM.
|
||||
@ -14,4 +14,4 @@ Information for [GodMode9i](https://github.com/DS-Homebrew/GodMode9i), a full ac
|
||||
This happens when you launch GodMode9i from [hiyaCFW](https://wiki.ds-homebrew.com/other/hiyacfw). You can hold X while launching GodMode9i to skip NAND mounting. Alternatively, you can launch GodMode9i directly from unlaunch to be able to mount the NAND.
|
||||
|
||||
#### Why can't I dump games on DSi?
|
||||
You need unlaunch installed in order to be able to dump games onto your SD card. You can install unlaunch by following (dsi.cfw.guide)[https://dsi.cfw.guide/]
|
||||
You need unlaunch installed in order to be able to dump games onto your SD card. You can install unlaunch by following [dsi.cfw.guide](https://dsi.cfw.guide/).
|
||||
|
||||
@ -3,12 +3,12 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: other
|
||||
title: hiyaCFW
|
||||
description: Info for hiyaCFW
|
||||
description: Information about hiyaCFW
|
||||
---
|
||||
|
||||
Information for [hiyaCFW](https://github.com/RocketRobz/hiyaCFW), the world's first CFW for DSi.
|
||||
|
||||
### Custom Splash Screens
|
||||
### Custom splash screens
|
||||
With hiyaCFW you can use custom splashes in either `.bmp` or `.gif` formats. They need to go in the `sd:/hiya` folder and need to be named `splashtop` for the top screen and `splashbottom` for the bottom, with the appropriate file extension, then make sure the splash screen is enabled in the configuration. The images do not need to be the same format, so one can be BMP and the other GIF, GIFs have priority over BMPs. Below are some details on the requirements for your images to work:
|
||||
|
||||
#### BMP
|
||||
@ -17,7 +17,7 @@ With hiyaCFW you can use custom splashes in either `.bmp` or `.gif` formats. The
|
||||
|
||||
#### GIF
|
||||
- Simple answer: Most GIFs 256 x 192 or smaller will work
|
||||
- They can be animated, but should stay under 1MB for ideal performance and must be under around 10MB between the two absolute maximum
|
||||
- They can be animated, but should stay under 1 MiB for ideal performance and must be under around 10 MiB between the two absolute maximum
|
||||
- If both loop infinitely then they will be shown for 3 seconds, otherwise they will be shown until both are complete
|
||||
- If a frame has the user input flag set it will wait until the delay runs out or any button is pressed, whichever comes first
|
||||
- Interlaced and plain text frames are ***not*** supported
|
||||
|
||||
@ -3,7 +3,7 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: other
|
||||
title: Home
|
||||
description: Coming Soon™
|
||||
description: Information about other DS-Homebrew projects
|
||||
---
|
||||
|
||||
This section has information on other DS-Homebrew projects that aren't big enough to need a full section of the wiki.
|
||||
|
||||
@ -10,10 +10,10 @@ description: How to use custom splash screens for TWiLight Menu++
|
||||
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)
|
||||
- GIF files over 1 MiB (DSi Mode) or 256 KiB (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 10 MB (DSi Mode) or about 2 MB (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
|
||||
- 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
|
||||
|
||||
@ -27,12 +27,12 @@ The sound effect bank contains sound effects such as the icon select sound, etc.
|
||||
|
||||
You can then run `make` to make the sound effect bank. All files listed above, except *bgm.pcm.raw* 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.
|
||||
Your resulting *sfx.bin* **must be under 512000B = 512 kB**. 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**.
|
||||
The startup.wav file must be **16-bit 16 kHz**. 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**.
|
||||
|
||||
@ -41,7 +41,7 @@ You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to
|
||||
|
||||
## Menu BGM
|
||||
|
||||
Menu BGM needs to be a **16-bit 16kHz Mono** raw PCM file. 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**.
|
||||
Menu BGM needs to be a **16-bit 16 kHz Mono** raw PCM file. 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**.
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ lang: en-US
|
||||
layout: wiki
|
||||
section: twilightmenu
|
||||
category: customization
|
||||
title: How to create DSi / 3DS skins
|
||||
title: How to Create DSi / 3DS Skins
|
||||
description: How to make custom DSi and 3DS skins for TWiLight Menu++
|
||||
---
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ As the GIF's palette is loaded to the same area of VRAM as the text palettes it
|
||||
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. Try different compression levels until you find the best one under 15,472 bytes (15.11 KiB), 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
|
||||
|
||||
@ -16,13 +16,13 @@ Follow this guide to fix the issue: <https://3ds.hacks.guide/troubleshooting#dsi
|
||||
|
||||
#### How do I fix getting a white screen when booting TWiLight Menu++?
|
||||
- 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 doesn't work, format your SD card to FAT32 with 32 KB cluster/allocation size
|
||||
- If that also doesn't work, try a different SD card
|
||||
|
||||
#### How do I fix TWiLight Menu++ restarting or giving a Guru Meditation Error when launching a game?
|
||||
Go into TWLMenu++ Settings, and disable `Update recently played list`.
|
||||
|
||||
#### Why do I get a white screen when trying to load a game from SD Card?
|
||||
#### Why do I get a white screen when trying to load a game from SD card?
|
||||
- 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
|
||||
- Try with all cheats disabled for that game as some cheats are not compatible with nds-bootstrap at the moment, you can use <kbd class="l">L</kbd> to disable all cheats for a game
|
||||
- If the game you're trying to launch is a DSi Enhanced game, then make sure that TWiLight Menu++ is set to use `DS Mode`
|
||||
|
||||
@ -24,7 +24,7 @@ description: How to get box art / game covers in TWiLight Menu++
|
||||
1. Click `Start`
|
||||
1. Make sure box art is set to be shown in TWiLight Menu++ settings
|
||||
|
||||
### macOS/Linux
|
||||
### 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
|
||||
|
||||
@ -49,16 +49,16 @@ You will first need to have Custom Firmware on your 3DS, follow [3ds.hacks.guide
|
||||
### Installing
|
||||
<div class="tab-container">
|
||||
<div class="pb-3">
|
||||
<a class="tab-link btn btn-outline-secondary tab-default" href="#tab-working-camera" onclick="openTab(event, event.currentTarget)" data-tab-name="working-camera">Working Camera</a>
|
||||
<a class="tab-link btn btn-outline-secondary" href="#tab-non-working-camera" onclick="openTab(event, event.currentTarget)" data-tab-name="non-working-camera">Non-Working Camera</a>
|
||||
<a class="tab-link btn btn-outline-secondary tab-default" href="#tab-working-camera" onclick="openTab(event, event.currentTarget)" data-tab-name="working-camera">Working camera</a>
|
||||
<a class="tab-link btn btn-outline-secondary" href="#tab-non-working-camera" onclick="openTab(event, event.currentTarget)" data-tab-name="non-working-camera">Non-working camera</a>
|
||||
<a class="tab-link btn btn-outline-secondary" href="#tab-manual" onclick="openTab(event, event.currentTarget)" data-tab-name="manual">Manual</a>
|
||||
</div>
|
||||
<div id="tab-working-camera">
|
||||
<noscript><h4>Working Camera</h4></noscript>
|
||||
<noscript><h4>Working camera</h4></noscript>
|
||||
{{ tab-working-camera | markdownify }}
|
||||
</div>
|
||||
<div id="tab-non-working-camera">
|
||||
<noscript><h4>Non-Working Camera</h4></noscript>
|
||||
<noscript><h4>Non-working camera</h4></noscript>
|
||||
{{ tab-non-working-camera | markdownify }}
|
||||
</div>
|
||||
<div id="tab-manual">
|
||||
|
||||
@ -7,7 +7,7 @@ title: Playing in Widescreen
|
||||
description: How to use TWiLight Menu++ in widescreen on the Nintendo 3DS
|
||||
---
|
||||
|
||||
Requires an Old / New Nintendo 3DS or 2DS console.
|
||||
Requires a Nintendo 3DS or 2DS console.
|
||||
{:.alert .alert-info}
|
||||
|
||||
### Preparation
|
||||
@ -31,7 +31,7 @@ Requires an Old / New Nintendo 3DS or 2DS console.
|
||||
|
||||
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.
|
||||
**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:**
|
||||
|
||||
@ -16,7 +16,7 @@ If updating from a version older than v16.4.0, please move your `.sav` files for
|
||||
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
|
||||
### 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.
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user