Update tranlsations

I'll update again soon once there's been more time to translate, but for now so the pages all are up to date and such at least
This commit is contained in:
Pk11 2021-03-05 22:35:18 -06:00
parent 943906bac9
commit b64563d06f
435 changed files with 11138 additions and 2092 deletions

View File

@ -2,7 +2,7 @@
"ds-index": [
{
"key": "guides",
"title": "Guides"
"title": "Vejledninger"
},
{
"key": "reference",
@ -12,23 +12,37 @@
"twilightmenu": [
{
"key": "installing",
"title": "Installing"
"title": "Installation"
},
{
"key": "updating",
"title": "Updating"
"title": "Opdatering"
},
{
"key": "customization",
"title": "Customization"
"title": "Tilpasning"
},
{
"key": "other",
"title": "Other"
"title": "Andet"
},
{
"key": "uninstalling",
"title": "Uninstalling"
"title": "Afinstallation"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -1,14 +1,35 @@
[
{
"title": "Home",
"title": "Hjem",
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "DS Index",
"title": "DS Indeks",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -1,13 +1,13 @@
{
"by": "By: $1",
"close": "Close",
"description": "Wikis for DS-Homebrew projects",
"discord-server": "Discord server (English only)",
"published-with": "Published with <a href=\"https://pages.github.com\">GitHub Pages</a>, view <a href=\"https://github.com/$1\">the source</a> on GitHub.",
"select-language": "Select language",
"source": "Source",
"by": "Af: $1",
"close": "Luk",
"description": "Wikis til DS-Homebrew projekter",
"discord-server": "Discord server (kun engelsk)",
"published-with": "Udgivet med <a href=\"https://pages.github.com\">GitHub pages</a>, se <a href=\"https://github.com/$1\">kildekoden</a> på GitHub.",
"select-language": "Vælg sprog",
"source": "Kildekode",
"title": "DS-Homebrew Wiki",
"toggle-navigation": "Toggle navigation",
"translate-here": "Translate here",
"translate-on-crowdin": "Translate on Crowdin"
"toggle-navigation": "Vis/Skjul navigation",
"translate-here": "Oversæt her",
"translate-on-crowdin": "Oversæt på Crowdin"
}

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "Uninstalling"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menü++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "DS Index",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "Desinstalación"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "Índice DS",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "Désinstallation"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "Index DS",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "הסרת התקנה"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "אינדקס DS",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "Eltávolítás"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "DS Index",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "crwdns15656:0crwdne15656:0",
"title": "crwdns15658:0crwdne15658:0"
}
],
"nds-bootstrap": [
{
"key": "crwdns18290:0crwdne18290:0",
"title": "crwdns18292:0crwdne18292:0"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "crwdns18294:0crwdne18294:0",
"title": "crwdns18296:0crwdne18296:0"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "crwdns13752:0crwdne13752:0"
},
{
"title": "crwdns13756:0crwdne13756:0",
"url": "crwdns13760:0crwdne13760:0"
"title": "crwdns18856:0crwdne18856:0",
"items": [
{
"title": "crwdns18864:0crwdne18864:0",
"url": "crwdns18870:0crwdne18870:0"
},
{
"title": "crwdns18874:0crwdne18874:0",
"url": "crwdns18884:0crwdne18884:0"
},
{
"title": "crwdns18894:0crwdne18894:0",
"url": "crwdns18906:0crwdne18906:0"
},
{
"title": "crwdns18918:0crwdne18918:0",
"url": "crwdns18930:0crwdne18930:0"
}
]
},
{
"title": "crwdns13764:0crwdne13764:0",
"url": "crwdns13768:0crwdne13768:0"
},
{
"title": "crwdns18960:0crwdne18960:0",
"url": "crwdns18962:0crwdne18962:0"
}
]

View File

@ -0,0 +1,48 @@
{
"ds-index": [
{
"key": "guides",
"title": "Panduan"
},
{
"key": "reference",
"title": "Referensi"
}
],
"twilightmenu": [
{
"key": "installing",
"title": "Memasang"
},
{
"key": "updating",
"title": "Memperbaharui"
},
{
"key": "customization",
"title": "Kustomisasi"
},
{
"key": "other",
"title": "Lainnya"
},
{
"key": "uninstalling",
"title": "Mencopot Pemasangan"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

35
_data/id-ID/nav.json Normal file
View File

@ -0,0 +1,35 @@
[
{
"title": "Beranda",
"url": "/"
},
{
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "Indeks DS",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

13
_data/id-ID/strings.json Normal file
View File

@ -0,0 +1,13 @@
{
"by": "By: $1",
"close": "Tutup",
"description": "Wiki untuk Proyek DS-Homebrew",
"discord-server": "Server Discord (Bahasa Inggris)",
"published-with": "Dipublikasikan dengan <a href=\"https://pages.github.com\">Laman GitHub</a>, Lihat<a href=\"https://github.com/$1\">sumbernya</a> di GitHub.",
"select-language": "Pilih bahasa",
"source": "Sumber",
"title": "DS-Homebrew Wiki",
"toggle-navigation": "Alihkan navigasi",
"translate-here": "Terjemahkan disini",
"translate-on-crowdin": "Terjemahkan di Crowdin"
}

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "Disinstallazione"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "Indice DS",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "アンインストール"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "その他"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "プロジェクト",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "その他のプロジェクト",
"url": "/other"
}
]
},
{
"title": "DSインデックス",
"url": "/ds-index"
},
{
"title": "コミュニティ情報",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "제거"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "DS 인덱스",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "Dezinstalacja"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "Indeks DS",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "Uninstalling"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "Индекс DS",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -2,33 +2,47 @@
"ds-index": [
{
"key": "guides",
"title": "Guides"
"title": "Guider"
},
{
"key": "reference",
"title": "Reference"
"title": "Referens"
}
],
"twilightmenu": [
{
"key": "installing",
"title": "Installing"
"title": "Installation"
},
{
"key": "updating",
"title": "Updating"
"title": "Uppdatering"
},
{
"key": "customization",
"title": "Customization"
"title": "Anpassning"
},
{
"key": "other",
"title": "Other"
"title": "Annat"
},
{
"key": "uninstalling",
"title": "Uninstalling"
"title": "Avinstallering"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "DS Index",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -1,13 +1,13 @@
{
"by": "Vid: $1",
"close": "Close",
"close": "Stäng",
"description": "Wikis för DS-Homebrew projekt",
"discord-server": "Discord server (endast engelska)",
"published-with": "Publicerat med <a href=\"https://pages.github.com\">GitHub Pages</a>, visa<a href=\"https://github.com/$1\">källan</a> på GitHub.",
"select-language": "Select language",
"published-with": "Publicerat med <a href=\"https://pages.github.com\">GitHub Pages</a>, visa <a href=\"https://github.com/$1\">källan</a> på GitHub.",
"select-language": "Välj språk",
"source": "Källa",
"title": "DS-Homebrew Wiki",
"toggle-navigation": "Toggle navigation",
"toggle-navigation": "Visa/dölj navigering",
"translate-here": "Översätt här",
"translate-on-crowdin": "Översätt på Crowdin"
}

View File

@ -30,5 +30,19 @@
"key": "uninstalling",
"title": "卸载"
}
],
"nds-bootstrap": [
{
"key": "other",
"title": "Other"
}
],
"gbarunner2": [],
"other": [],
"community": [
{
"key": "discord",
"title": "Discord"
}
]
}

View File

@ -4,11 +4,32 @@
"url": "/"
},
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
"title": "Projects",
"items": [
{
"title": "TWiLight Menu++",
"url": "/twilightmenu"
},
{
"title": "nds-bootstrap",
"url": "/nds-bootstrap"
},
{
"title": "GBARunner2",
"url": "/gbarunner2"
},
{
"title": "Other Projects",
"url": "/other"
}
]
},
{
"title": "DS Index",
"url": "/ds-index"
},
{
"title": "Community Info",
"url": "/community"
}
]

View File

@ -1,5 +1,5 @@
{
"by": "By: $1",
"by": "作者:$1",
"close": "Close",
"description": "Wikis for DS-Homebrew projects",
"discord-server": "Discord 服务器(仅限英语)",

1
assets/js/i18n/da-DK.js Normal file
View File

@ -0,0 +1 @@
export default { 'pageIsInYourLanguage': 'Denne side er tilgængelig på dansk!' };

1
assets/js/i18n/id-ID.js Normal file
View File

@ -0,0 +1 @@
export default { 'pageIsInYourLanguage': 'Halaman ini tersedia dalam Bahasa Indonesia!' };

View File

@ -0,0 +1,103 @@
---
lang: en-US
layout: wiki
section: community
category: discord
title: DS⁽ⁱ⁾ Mode Hacking Info
description: Information for the DS⁽ⁱ⁾ Mode Hacking Discord server
---
### Welcome to the <u>DS⁽ⁱ⁾ Mode Hacking</u>!
We specialize in all things related to Nintendo DS(i) modding and homebrew. Here are a few examples of what we can help you do in this server:
- Setting up the best kernel for your flashcart
- Installing Custom Firmware (CFW) to your Nintendo DSi
- Helping modify the TWL_FIRM on your Nintendo 3DS (allowing you to use widescreen, changing screen filtering amongst other things)
We also focus on other things such as creating ROM hacks, developing homebrew, and general chatter.
## Discord Channels
We have plenty of channels for different topics, so make sure you're using the right channel so the others don't get flooded with unrelated conversations. We'll go over the important ones but you can always check what the other channels do by looking at their channel topic:
- [#community-rules][community-rules] - This is the rules channel, it describes the standards we have when communicating in this server
- [#useful-resources][useful-resources] - Need to understand something? Don't know a technical term? Check here
- [#nds-modding-help][nds-modding-help] - This is where you can ask for assistance with anything DS Homebrew related. Please check the pins, as there might be an explanation there already
- [#community-meta][community-meta] - This channel is used for talking about the server itself
- [#end-of-server][end-of-server] - This for casual, lower-quality chatting. Rules are slightly more relaxed but are still enforced. Use this to post your memes and stuff
We also have [#other-nds-homebrew][other-nds-homebrew] for homebrew that don't have a dedicated channel, [#nds-modding-discussion][nds-modding-discussion] for modding that doesn't concern other channels, [#nds-gaming][nds-gaming] for general DS stuff, and [#offtopic][offtopic] for any topic in general.
## Roles & User Flairs
We have several roles you can get on this server, some of them being accessible with just a @Lightning command
### Developers
This role is given to those who have either assisted or led a project for the Nintendo DS scene. While preferable that it'd be open source, it's optional Post the Nintendo DS homebrew application in the channel that works the best (If it doesn't have one, post it in [#other-nds-homebrew][other-nds-homebrew]) and ping a moderator alongside your message.
Keep in mind that stolen code will not land you the role, and we may deny the request depending on the circumstances
### Artists/Designers
This role is given to those with an understanding of how art works and have contributed to DS homebrew in a graphical way (for example, a WoodR4 skin or a TWiLight Menu++ subtheme). Once you've fulfilled the requirement, mention us in [#community-meta][community-meta] with examples of said work and we will evaluate it.
### Helpers
Whether it's people we confide special builds to test or someone who would be helping out in the [#nds-modding-help][nds-modding-help] channel, Helpers are users that are supposed to represent the server as helpful members of the community. As an addition to the above average post quality requirement, there are two possible ways you can get the role: Testing & helping those in [#nds-modding-help][nds-modding-help]
For those testing, you must test at least a total of 7 games between GBARunner2 and nds-bootstrap. Check their specific channel topics for links to their compatibility sheet. For those helping, the amount of help you give isn't set in stone. We generally look at how grand your helping is (for example, saying "right click then hit edit" wouldn't help).
Once you've fulfilled either, mention it in [#community-meta][community-meta] and say which method you chose. If we approve, you will gain the Helpers role. You must send at least one message every 4 months to keep it.
### Translators
Wanna translate a project of ours? Give yourself this role so you can stay up to date with the project's translation status. Our translation leader (Evie) will ping when new strings need to be translated.
- TWiLight Menu++: <https://crowdin.com/project/TwilightMenu>
- dsi.cfw.guide website: <https://crowdin.com/project/dsi-guide>
- ds-homebrew.com wiki: <https://crowdin.com/project/ds-homebrew-wiki>
This is a toggleable role, via @Lightning's togglerole command (`!togglerole Translators` in [#end-of-server][end-of-server])
### Game Modders
This role is given to those who have made a ROM Hack of decent quality for the Nintendo DS, know how to properly patch their files and have posted said ROM hack at a more permanent place (such as GameBanana or modding forums). Post your ROM hack in [#nds-retail-research][nds-retail-research] and ping a moderator and we will evaluate the ROM hack.
### Nintendo DS Online Players
This is a hoisted role, meant for users to get pinged when someone wants to play a Nintendo DS game online (whether it's Wiimmfi, AltWFC or other services). Mass pingers will be banned. This is a toggleable role, via @Lightning's togglerole command (`!togglerole Nintendo DS Online Players` in [#end-of-server][end-of-server])
### Updates
You will get pinged in [#announcements][announcements] anytime an update comes out. To access it, type `!togglerole Updates` in [#end-of-server][end-of-server].
## 🤖 Lightning Commands
Lightning is a discord bot made by @Frost_ which has useful commands for modding communities, including...
- `!mod [console] [param2]` - This will allow you to view information on modding consoles, games and so on. param2 could be viewed for more specific information or get a list of homebrew.
- `!tinydb [search term]` - Lookup 3DS homebrew on TinyDB
- `!togglerole [role]` - This will toggle the two customizable roles we have: `Updates` and `Nintendo DS Online Players`
There are a ton of fun commands you can run as well, but please keep them to [#end-of-server][end-of-server]. To learn more, check out their website: <https://lightning-bot.gitlab.io/>
We also use Lightning for moderation purposes (to log warns, kicks, mutes and bans). Keep this bot's DM box open in case we ever need to reach you.
## 👑 The Staff Team
These are the people who maintain the server. If they say something is final, it is not up for debate. These members will be hoisted in the member listing. Currently, we are not looking for staff members. Do not ask to be a part of the team, as it will decrease your chance of getting accepted.
@shutterbug2000, @RocketRobz (TWL-Z8RT-USA), @Gericom, @ahezard, @Apache Thunder, @NightScript, @dubbz82, @Stack3r, @Frost_, @Kaisaan
## 🚪 Invite Link
Here are links to our networks.
- Discord Server: <https://discord.gg/yD3spjv> (Keep in mind that anything publicly accessible on our server are logged by us and may be logged by others here)
- Sub-Reddit: [r/NDSBrew](https://reddit.com/r/NDSBrew) (for old reddit: [Dark](https://dm.reddit.com/r/NDSBrew/) --- [Light](https://old.reddit.com/r/NDSBrew/))
<!-- Discord channel links -->
[community-rules]: https://discord.com/channels/283769550611152897/718305959914766366
[useful-resources]: https://discord.com/channels/283769550611152897/638041441079263283
[announcements]: https://discord.com/channels/283769550611152897/283771381735489537
[community-meta]: https://discord.com/channels/283769550611152897/715651368391671919
[nds-modding-help]: https://discord.com/channels/283769550611152897/332961165829210117
[nds-modding-discussion]: https://discord.com/channels/283769550611152897/547986366357700620
[nds-retail-research]: https://discord.com/channels/283769550611152897/356988919738400768
[other-nds-homebrew]: https://discord.com/channels/283769550611152897/536968881500061712
[offtopic]: https://discord.com/channels/283769550611152897/286686210225864725
[nds-gaming]: https://discord.com/channels/283769550611152897/668680785154408448
[end-of-server]: https://discord.com/channels/283769550611152897/283770736215195648

View File

@ -0,0 +1,132 @@
---
lang: en-US
layout: wiki
section: community
category: discord
title: DS⁽ⁱ⁾ Mode Hacking Rules
description: The rules for the DS⁽ⁱ⁾ Mode Hacking Discord server
---
### Do NOT impersonate, trash talk or otherwise act disrespectful to others and their beliefs.
- This applies especially to those offering their time for the community. (such as helpers or developers)
- We will NOT tolerate insensitivity, regardless of whether the member is in the community or not.
- Respect user privacy; Avoid attempts to communicate with users who aren't comfortable doing so or sharing information about them that they don't want shared.
- Do NOT backseat moderate or try to "help" when a moderator is dealing with a situation. You hold no authority, so leave actual rule handling to staff.
- Reminders are fine, as long as you don't try to enforce them.
- When knowing who created a piece of art, credit those content creators.
### Do NOT bring the chat quality down.
Examples include:
- Asking to be spoon-fed information or spoon-feeding others
- Asking for release dates for projects; It's ready when it's ready
- Asking to ask; by asking to ask, you just asked
- Requesting information that is either obvious or you could find with a little bit of research on your end (such as googling for links instead of asking for them to be handed to you)
- Important information will be held over at [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283).
- Check the channel topic & pinned messages; it most likely contains what you are looking for.
- Intentionally elongating your message (for example: sending few words per message leaving it into a "popcorn" situation)
- Repeating messages, whether it is repeated in the same channel or in multiple channels.
- If you're unsure where to post your message, post it in the one that makes the most sense.
- If you're still unsure, ask in [#community-meta](https://discord.com/channels/283769550611152897/715651368391671919).
- Posting for the sake of posting rather than to bring actual conversations (such as complaining that the chat is dead, only sending out greetings, copypastas, etc)
- Sending extremely long messages. Use [mystbin](https://mystb.in/) for longer messages instead.
### Do NOT randomly send Discord server invite links with no context & without explicit staff permission
- Giving links to other discord servers on request is allowed, but please ask a moderator in Direct Messages before advertising a server without prior context
- DM advertisements aren't allowed, both by the Discord Terms of Service and our server rules. Mass-DM advertisement (with proof) will land you a ban
- Breaking this rule will result in your message containing the advertisement being deleted
- Joining for the purpose of advertising your discord server will land you a ban.
### Keep conversations within their respective channels.
- Even if they are related, sometimes another channel would be more suitable.
- Sometimes, even an entirely different server is preferable. We don't have the answers to everything.
- Different related servers are linked to in [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283)
### You may not have an alternative account on this server
- One account per person at a time (except when approved by a staff member). Be sure to leave this server on your other account before joining with a new one.
- Punishments apply to the person, not the account. Any subsequent accounts made for the purposes of punishment evasion will result in both accounts being banned.
### Do NOT recommend video guides.
- Video guides aren't maintained very well (which leads to the videos being outdated and unreliable in the long term) and negligent for the sake of "user accessibility".
- We have a list of guides in [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283) you could use instead.
### 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.
- Avoid purposely putting characters in the beginning of the name to change your spot in the member list. You'll get those characters removed.
### Please be courteous when using Direct Messages
- Things that happen in Direct Messages **are** the business of the server since unless the two share another server or they are friends, they wouldn't be able to reach each other.
- Examples include DM advertising, purposely redirecting users to DMs from normal chat (such as support) to break rules or harassment.
- There needs to be evidence of doing so, such as other people reporting it too, implications on the server or anything of the sort. However, when you do your report, cover any links. Do not give the DM advertiser more popularity than they already got by Direct Messaging everyone.
- Even if your actions aren't malicious, sometimes they could be disturbing.
- Please ask before sending a Direct Message to others and respect those not wanting to communicate.
### Keep piracy discussion to a minimum
- Do not link to piracy websites, upload pirated content, or encourage others to pirate
- For more information on what is piracy or not, we suggest reading this: https://3ds.eiphax.tech/piracy.html (Disclaimer: We are not lawyers)
### No Adult Content
- Do not post pornography, gore, drugs (unless the topic is about medication) or anything that is not safe for work
- Any account with a disturbing avatar will get kicked. If you rejoin and still have the avatar, it will receive a ban
- At the same time, be mature. Members are allowed to cuss and you should be accustomed to that. Just don't throw around cuss words every two seconds; it isn't cool
- Despite Adult content being banned, users are still required to be thirteen and over in order to participate on this Discord Server
## Controversial content.
### Topics that you should minimize
Please keep these topics in [#offtopic](https://discord.com/channels/283769550611152897/718307887578873856) and keep an open mind when discussing them:
- Political Debates
- Religion
- Spoilers
- Malware
- Content intended to shock or scare
Make sure to put spoilers, malware and content intended to shock or scare in spoiler tags and properly warn the user outside of said spoiler tags.
### Banned Content
- External Drama
- Server Raids
- Adult content (read above)
## 🏓 Notifications/Pings/DMs
- @Lightning will send you a DM if you receive a warning. No need to assume you're in trouble if you got a ping
- Don't ping a user if it's obvious that they're already there. (Using Discord's quote function is not an excuse. Please remove the ping before sending the message)
- Don't repeatedly ping a person to try and get their attention.
- When a mention attack occurs, do not ping a staff member; its redundant since they are already getting pings from the attack. Also, it confuses the staff on which member to ban.
- If you get pinged, don't send messages like "why ping" or spam emotes on the message. Check who pinged and reply.
- If you have a problem with getting pinged, either set up your discord so you don't get ping notifications, deal with it or leave.
- If you can't find the message with the ping, alert a staff member. We will warn those who ping then instantly delete their messages.
- Ping only when you want to bring attention to something to someone. Don't ping as a reference.
## Consequences
**The consequences of breaking these rules are either warnings, mutes, kicks or bans.** Of course, it depends on a case by case scenario.
- Joining and immediately breaking the rules will lead your account to getting a mute
- Joining for the purpose of rule breaking will get you banned.
- Trying to evade, look for loopholes, or stay borderline within the rules will be treated as breaking them.
If you don't understand any of the rules, feel free to ask.
Last update: August 19th, 2020

View File

@ -0,0 +1,13 @@
---
lang: en-US
layout: wiki
section: community
title: Home
description: Coming Soon™
---
You can find information about our community here, such as the rules for our Discord server. We have the following places:
- Discord: [DS<sup>(i)</sup> Mode Hacking](https://ds-homebrew.com/discord)
- Reddit: [r/NDSBrew](https://reddit.com/r/NDSBrew)
- GitHub: [DS-Homebrew](https://github.com/DS-Homebrew)
- Website: [ds-homebrew.com](https://ds-homebrew.com)

View File

@ -3,34 +3,34 @@ lang: en-US
layout: wiki
section: ds-index
category: guides
title: DS game forwarders (3DS)
description: How to create CIA forwarders to have your DS games on your 3DS's home menu
title: DS spil forwarders (3DS)
description: Sådan oprettes CIA forwarders så du kan have dine DS spil på din 3DS's hjemmeskærm
---
If you have any issues, check the FAQs on the [GBAtemp thread](https://gbatemp.net/threads/nds-forwarder-cias-for-your-home-menu.426174/).
Hvis du har nogen problemer, så tjek FAQs på [GBAtemp tråden](https://gbatemp.net/threads/nds-forwarder-cias-for-your-home-menu.426174/).
{:.alert .alert-warning}
### Requirements
### Krav
3DS:
- [Luma3DS](https://github.com/lumateam/luma3ds/releases), or any other CFW that patches TWL_NAND
- [FBI](https://github.com/Steveice10/FBI/releases) to install CIA files
- (Optional) A supported DS flashcard
- [Luma3DS](https://github.com/lumateam/luma3ds/releases)eller enhver anden CFW som patcher TWL_NAND
- [FBI](https://github.com/Steveice10/FBI/releases) til at installere CIA filer
- (Valgfrit) Et understøttet DS-flashkort
{% capture flashcards %}
The recommended flashcards are the DSTT and Acekard 2i. If you want perfect game compatibility, get the SuperCard DSTWO / DSTWO PLUS. The only downside is that it drains your system battery faster.
De anbefalede flashkort er DSTT og Acekard 2i. Hvis du ønsker at have perfekt spil kompatibilitet, så køb SuperCard DSTWO / DSTWO PLUS. Den eneste ulempe er, at det dræner dit systems batteri hurtigere.
If you have a flashcard that works with Apache Thunder's NTR Launcher, feel free to request it [on the GBAtemp thread](https://gbatemp.net/threads/nds-forwarder-cias-for-your-home-menu.426174/). Be sure to specify which build you're using (Normal or Alt), and if `RESETSLOT1` is set to `0` or `1` in `sd:/nds/ntr_launcher.ini`.
Hvis du har et flashkort, der virker med Apache Thunder's NTR Launcher, er du velkommen til at sende en anmodning [på GBAtemp tråden](https://gbatemp.net/threads/nds-forwarder-cias-for-your-home-menu.426174/). Sørg for at angive hvad for et build, du bruger (Normal eller Alt) og hvis `RESETSLOT1` er sat til `0` eller `1` i `sd:/nds/ntr_launcher. ni`.
Compatible:
- [Acekard 2(i)](http://www.nds-card.com/ProShow.asp?ProID=160) (DSi-Enhanced games, including newer NTR games, don't work.)
Kompatible:
- [Acekard 2(i)](http://www.nds-card.com/ProShow.asp?ProID=160) (DSi-Enhanced spil, herunder nyere NTR-spil, virker ikke.)
- [Acekard RPG](http://wiki.gbatemp.net/wiki/Acekard_RPG)
- [DSTT](http://www.nds-card.com/ProShow.asp?ProID=157)
- [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) (bruger <2GB microSD-kort)
- [R4 DS](http://www.nds-card.com/ProShow.asp?ProID=141) (Original Non-SDHC-version, bruger <2GB microSD-kort)
- [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/))
@ -38,56 +38,56 @@ Compatible:
- [R4iDSN](http://3ds-flashcard.com/home/28-r4idsn-3ds.html)
- [R4i Gold](http://www.nds-card.com/ProShow.asp?ProID=330)
- [R4i Gold RTS](http://www.nds-card.com/ProShow.asp?ProID=149) ([www.r4ids.cn](http://www.r4ids.cn/))
- [R4i-SDHC](http://www.nds-card.com/ProShow.asp?ProID=146) ([www.r4i-sdhc.com](http://www.r4i-sdhc.com)) (Normal and RTS versions)
- R4iTT ([www.r4itt.net](http://www.r4itt.net/)) (Purple card may be incompatible)
- [R4i-SDHC](http://www.nds-card.com/ProShow.asp?ProID=146) ([www.r4i-sdhc.com](http://www.r4i-sdhc.com)) (Normale og RTS-versioner)
- R4iTT ([www.r4itt.net](http://www.r4itt.net/)) (Lilla kort kan være inkompatibelt)
- [SuperCard DSONE](http://wiki.gbatemp.net/wiki/SuperCard_DSONEi)
- [SuperCard DSTWO](http://www.nds-card.com/ProShow.asp?ProID=135) (Normal and Plus versions)
- [SuperCard DSTWO](http://www.nds-card.com/ProShow.asp?ProID=135) (Normal og Plus versioner)
Untested:
- R4i3D NEW (Use R4iDSN template and pack)
Ikke testet:
- R4i3D NEW (Brug R4iDSN skabelon og pakke)
Partially compatible:
- Ace 3DS+ (Game compatibility is bad, so saving/loading save file results in crashing.)
- Gateway Blue Card (Game compatibility is bad, so saving/loading save file results in crashing.)
- EX4DS (Game compatibility is bad, so saving/loading save file results in crashing.)
- R4iLS (Game compatibility is bad, so saving/loading save file results in crashing.)
- Cards with [www.r4isdhc.com.cn](http://www.r4isdhc.com.cn/) (Game compatibility is bad, so saving/loading save file results in crashing.)
Delvist kompatible:
- Ace 3DS+ (Spil kompatibilitet er dårlig, så gemmning/indlæsning af save-filer resultater i nedbrud.)
- Gateway Blue Card (Spil kompatibilitet er dårlig, så gemmning/indlæsning af save-filer resultater i nedbrud.)
- EX4DS (Spil kompatibilitet er dårlig, så gemmning/indlæsning af save-filer resultater i nedbrud.)
- R4iLS (Spil kompatibilitet er dårlig, så gemmning/indlæsning af save-filer resultater i nedbrud.)
- Cards with [www.r4isdhc.com.cn](http://www.r4isdhc.com.cn/) (Spil kompatibilitet er dårlig, så gemmning/indlæsning af save-filer resultater i nedbrud.)
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)
Inkompatible:
- CycloDS (i)Evolution (Can autostarte ROMs, men det virker anderledes end andre flashcards.)
- (i)Edge (kan ikke autostarte en .nds ROM)
- R4 Gold Pro ([www.r4i-gold.com](http://www.r4i-gold.com)/[www.r4i-gold.me](http://www.r4i-gold.me)) (YSMenu (ikke forwarder processen) gør kortet ubrugeligt)
- R4i3D (2012)
- R4 Infinity Dual Core
- R4 SDHC
- R4 SDHC Dual-Core ([www.r4isdhc.com](http://www.r4isdhc.com/)) (YSMenu (not the forwarder process) bricks the card)
- R4 SDHC Dual-Core ([www.r4isdhc.com](http://www.r4isdhc.com/)) (YSMenu (ikke forwarder processen) gør kortet ubrugeligt)
{% endcapture %}
<details>
<summary>Supported flashcards</summary>
<summary>Understøttede flashkort</summary>
<div class="details-content">
{{ flashcards | markdownify }}
</div>
</details>
PC:
- A 64 bit OS
- Et 64 bit OS
- [Forwarder3-DS](https://www.dropbox.com/s/b9de5ii6vm3dxfn/Forwarder3DS-v2.9.6.zip?dl=0)
- Java 8 Update 251
- **Linux users:** JavaFX
- Java 8 Opdatering 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
### Del 1: Kom I Gang
{% 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
1. Download [SD-kort forwarder pakken](https://www.dropbox.com/s/k5uaa4jzbtkgm0z/DS%20Game%20Forwarder%20pack%20%283DS%20SD%20Card%29.7z?dl=0)
1. Udtræk indholdet af `for SD card root` til roden af dit 3DS' SD-kort
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
Når du har udtrukket pakken, kan du redigere `sd:/_nds/nds-bootstrap.ini` og ændre indstillingerne:
- `BOOST_CPU`: Hvis sat til 1, vil TWL clock hastigheden bruges, så lag forsvinder
- `SOUND_ FREQ`: Hvis sat til 1, vil lyden spille på 48khz, i stedet for 32khz
{% endcapture%}
{% capture tab-flashcard %}
1. Download one of these packs:
1. Download en af disse pakker:
- [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)
@ -96,9 +96,9 @@ After you extract the pack, you can edit `sd:/_nds/nds-bootstrap.ini` and change
- [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.
1. Udtræk indholdet af mappen `for Slot-1 microSD` til roden af dit flashkort microSD-kort, og (hvis mappen eksisterer) indholdet af `for 3DS SD-kort` mappen til roden af din 3DS's SD-kort.
After you extract the pack for your card, you can edit `sd:/_nds/ntr_forwarder.ini` to change the settings. This isn't possible for Acekard RPG, R4 DS, and R4i Gold RTS.
Efter at du har udtrukket pakken, kan du redigere `sd:/_nds/nds-bootstrap.ini` og ændre indstillingerne. Dette er ikke muligt for Acekard RPG, R4 DS og R4i Gold RTS.
- `NTRCLOCK`: If set to `0` or <kbd class="face">A</kbd> is held, the DSi boot screen will appear instead of the normal DS splash, and TWL clock speed is used, so lags begone
- `DISABLEANIMATION`: If set to `1` or <kbd class="face">B</kbd> is held, the DS / DSi boot screen is skipped
- `HEALTHSAFETYMSG`: If set to `1`, the boot screen's health and safety message will appear on the bottom screen, otherwise the bottom screen stays white with no health and safety message
@ -110,7 +110,7 @@ After you extract the pack for your card, you can edit `sd:/_nds/ntr_forwarder.i
<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-kort</h4></noscript>
{{ tab-sd-card | markdownify }}
</div>
<div id="tab-flashcard">

View File

@ -29,8 +29,6 @@ The ranges that make it overflow is determined by pairs of two. For example, 1-2
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.
### Nintendo DSi Slot-1 Access & Blockout
@ -49,3 +47,6 @@ A `pit.bin` file is used in order to load images. However, the header size at of
### 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/).

View File

@ -74,22 +74,22 @@ You will first need to remove the NOCASH footer from the backup you are flashing
1. Work out where the SD card is mounted
- Linux:
1. Unplug the SD card adapter
1. Run `lbslk` on a terminal
1. Run `lbslk` in a terminal
1. Plug in the SD card adapter
1. Run `lbslk` again
1. This time a new device should appear
- It may be called `/dev/sdb`, make sure you note down what it is called on *your* terminal
- It may be called `/dev/sdb`, make sure you note down what it is called on *your* computer
- macOS:
1. Unplug the SD card adapter
1. Run `df` on a terminal
1. Run `df` in a terminal
1. Plug in the SD card adapter
1. Run `df` again
1. A new device should appear in the list
- It may be called `/dev/disk1s1`, make sure you note down what it is called on *your* terminal
- It may be called `/dev/disk1s1`, make sure you note down what it is called on *your* computer
1. Dump the NAND
- Run the following command on a terminal:
- Run the following command in a terminal:
- `cat {device-name} > nand0.bin`
- Replace `{device-name}` with the SD card mount location
- E.g `cat /dev/sdb > nand0.bin`

View File

@ -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 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
- **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)
### Flashcards

View File

@ -8,22 +8,17 @@ description: Information related to retail DS games
---
### 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 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/)
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
Cloneboot is when a game sends it's own loaded ARM7 and ARM9 binaries to another console. It is used by DS Download Play for single-card multiplayer. Though, not all games that have single-card multiplayer uses 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.
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
Nintendo DS cartridges have 4 known save types:
@ -37,18 +32,16 @@ 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).
### 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`
### 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.
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:
@ -70,5 +63,3 @@ For the most complete cheat database, we recommend using the one made by DeadSku
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 consecutive 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`)

View File

@ -8,17 +8,16 @@ description: Information on using Wi-Fi on the Nintendo DS
---
- 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
- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA and WPA2 support
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
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,3 +27,22 @@ There are guides for creating a DS game compatible hotspot on macOS and Linux co
- **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
### 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
1. Download [WFCPatcher](https://github.com/AdmiralCurtiss/WfcPatcher/releases)
1. Copy the ROM of the game you want to patch to the same folder where WFCPatcher is saved and open that folder
1. Create a text file with the name `patch.bat`
1. In the file, enter `wfcpatcher.exe %1 --domain wiimmfi.de` then save and close (you can replace wiimmfi.de with another URL, if you wish to use a different server)
1. Now drag all the roms you wish to patch on to patch.bat
1. Done! the patched roms will be the ones ending in (wiimmfi)
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.
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).

View File

@ -0,0 +1,21 @@
---
lang: en-US
layout: wiki
section: gbarunner2
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.
### 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/)
After dumping the BIOS, it must be renamed as `bios.bin` and then should be placed in `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

View File

@ -0,0 +1,25 @@
---
lang: en-US
layout: wiki
section: gbarunner2
title: FAQ & Troubleshooting
description: FAQs and troubleshooting for GBARunner2
---
#### How do I create and add custom borders?
You can read and follow [this guide](https://docs.google.com/document/d/1owjiW-1fHEbokrkK2ZuPFjR2-N9s1dXCCAM3ghWRtxk/edit?usp=sharing) by FrescoASF.
#### Are cheats supported?
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++?
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?
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).

View File

@ -0,0 +1,13 @@
---
lang: en-US
layout: wiki
section: gbarunner2
title: Home
description: Coming Soon™
---
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)

View File

@ -0,0 +1,50 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
category: other
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?
- 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 youre trying to launch 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/`
#### Why are there issues with ROM loading, even though they're run natively?
nds-bootstrap patches the ROM functions to run from an SD card, as the ROMs are hardcoded to read from Slot-1. There are also timing issues and AP measures (which most are already removed), both of which would cause the ROMs to not work properly. To improve performance, nds-bootstrap also shrinks the game's heap in memory, which breaks some games, though both the forwarders and TWiLight Menu++ have a heap shrink blacklist to fix the non-working games broken by heap shrink.
#### Why use nds-bootstrap over a regular flashcard?
- 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
- 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
- The DS Memory Expansion Pak is emulated meaning games that require that accessory will work
#### Donor ROMs
Most SDK5 games can be selected as a Donor ROM (which can be done via TWiLight Menu++). The Donor ROM's ARM7 binary is copied by nds-bootstrap and replaces the ARM7 binary for the game that it is trying to run. This allows certain and SDK5 games to boot and save.
#### 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).
#### 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> 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
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)
If the server says it's an nds-bootstrap issue, check if the game hasn't been reported already on GitHub. Check the closed issues too in case we had one issue closed in preference a different one. If it doesn't have any GitHub issue attached to it, go ahead and make a new one.
Also, make sure you add it to the [compatibility list](https://wiki.ds-homebrew.com/nds-bootstrap/testing) on Google Sheets.

View File

@ -0,0 +1,11 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
title: Home
description: nds-bootstrap wiki
---
# 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.

View File

@ -0,0 +1,17 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
category: other
title: Compatibility List & Testing Tips
description: Compatibility List & Testing Tips
---
### Compatibility List
To view tested games, look [here](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/). If you want to contribute, press `view only` and then `request edit access`.
### Tips For Testing Games
- Look for screen flickering or sound issues
- If something looks off, run the game along a console not using nds-bootstrap to compare
- Try as many features in the game as possible
- Be thorough

View File

@ -0,0 +1,17 @@
---
lang: en-US
layout: wiki
section: other
title: GodMode9i
description: Info for 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.
### FAQ & Troubleshooting
#### How do I get past the "mounting drive(s)" screen while starting it up?
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/]

View File

@ -0,0 +1,24 @@
---
lang: en-US
layout: wiki
section: other
title: hiyaCFW
description: Info for hiyaCFW
---
Information for [hiyaCFW](https://github.com/RocketRobz/hiyaCFW), the world's first CFW for DSi.
### 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
- 16-bit (RGBA 1555, RGB 1555, or RGB 565)
- 256 x 192 or smaller
#### 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
- 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
- Local color tables are supported, but will replace the whole palette, including residual image from previous frames, so images using them will likely have palette problems

View File

@ -0,0 +1,9 @@
---
lang: en-US
layout: wiki
section: other
title: Home
description: Coming Soon™
---
This section has information on other DS-Homebrew projects that aren't big enough to need a full section of the wiki.

View File

@ -22,4 +22,4 @@ 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.
- Copy `pictochat.nds` from `sd:/_nds/` on the DSi's SD card to the same location on the 3DS' SD card You must first access the DS Classic Menu in TWiLight Menu++ on the DSi.

View File

@ -10,50 +10,51 @@ description: FAQs and troubleshooting for TWiLight Menu++
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/).
{:.alert .alert-info}
#### Q: Why does my 3DS / 2DS get stuck on black screens, crash, power off, etc 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>
#### Why does my 3DS / 2DS get stuck on black screens, crash, power off, etc when launching TWiLight Menu++?
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: How do I fix getting a white screen when booting TWiLight Menu++?
A:
#### 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 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:
#### 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?
- 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`
- 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.
#### How do I use cheats?
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.
#### How do I show a custom picture on the top screen of the DSi theme?
A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded.
- The images(s) must be no bigger than 208x156
- If you have errors, it's most likely an error with the image size. Please use [tinypng](https://tinypng.com) to reduce the size
#### Q: How do I get games?
A: You can download homebrew games from [Universal-DB](https://db.universal-team.net/ds) and [GameBrew](https://www.gamebrew.org/wiki/List_of_DS_homebrew_applications). To get dumps of your retail games:
#### How do I get games?
You can download homebrew games from [Universal-DB](https://db.universal-team.net/ds) and [GameBrew](https://www.gamebrew.org/wiki/List_of_DS_homebrew_applications). To get dumps of your retail games:
- On DS you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) to dump your GBA games and, if you have a Slot-2 flashcard, DS games
- On DSi you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) to dump your DS games and DSiWare
- On 3DS you can use [GodMode9](https://github.com/d0k3/GodMode9/releases) to dump your DS games, DSiWare, and Virtual Console titles
#### Q: Can I get the save files from my game cards onto my SD card or vice versa?
A: Yes, you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) on DSi and 3DS or [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases) on 3DS.
#### Can I get the save files from my game cards onto my SD card or vice versa?
Yes, you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) on DSi and 3DS or [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases) on 3DS.
#### Q: How do I change TWiLight Menu++'s language?
A:
#### How do I change TWiLight Menu++'s language?
1. Open TWiLight Menu++ settings, you can do this by holding <kbd>SELECT</kbd> while loading TWiLight Menu++
1. Press <kbd class="l">L</kbd> or <kbd class="face">Y</kbd> once (on flashcard / 3DS) or twice (on DSi)
1. Change the first option until you see the language you want, then exit settings
- You may also want to change the next two options as they control the language of DS games and their titles in TWiLight Menu++
#### Q: What systems does TWiLight Menu++ support?
#### Is this a DS(i) emulator?
No, this is not an emulator. The menu and DS games (loaded via nds-bootstrap) are ran natively in the console's DS/DSi mode. The only consoles emulated are the past consoles, but partially for GBA (as some or all parts like graphics are ran natively).
A:
#### What systems does TWiLight Menu++ support?
| Format | Loader | Extensions | Save file |
| ------------------------- | ------------------------------------------------ | -------------------------------------- | ---------------------------------- |
@ -61,37 +62,39 @@ A:
| Atari 2600 | [StellaDS][stellads] | `.a26` | |
| Atari 5200 | [A5200DS][a5200ds] | `.a52` | |
| Atari 7800 | [A7800DS][a7800ds] | `.a78` | |
| Atari XEGS | [XEGS-DS][xegs-ds] | `.xex`, `.atr` | |
| DS | [nds-bootstrap][ndsbs], flashcard kernel, native | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `saves/[rom name].sav`[^2] |
| DSiWare | [Unlaunch][unlaunch] | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `[rom name].pub`, `[rom name].prv` |
| DSTWO Plugin | [DSTWO][dstwo][^3] | `.plg` | |
| Game Boy (Color) | [GameYob][gameyob] | `.gb`, `.sgb`, `.gbc` | `[rom name].sav` |
| Game Boy Advance | [GBARunner2][gbarunner2], native[^4] | `.agb`, `.gba`, `.mb` | `[rom name].sav` |
| Game Boy Advance | [GBARunner2][gbarunner2][^4], native[^5] | `.agb`, `.gba`, `.mb` | `[rom name].sav` |
| Game Gear | [S8DS][s8ds] | `.gg` | `[rom name].gg.sav` |
| Genesis / Mega Drive | [jEnesisDS][jenesis], [PicoDriveTWL][pdtwl] | `.gen` | `[rom name].srm`[^5] |
| Genesis / Mega Drive | [jEnesisDS][jenesis], [PicoDriveTWL][pdtwl] | `.gen` | `[rom name].srm`[^6] |
| Master System | [S8DS][s8ds] | `.sms` | `[rom name].sms.sav` |
| MPEG4 Video | [MPEG4 Player][mpeg4player] | `.mp4` | |
| NES / Famicom | [nesDS][nesds] | `.nes`, `.fds` | `[rom name].sav` |
| PC Engine / TurboGrafx-16 | [NitroGrafx][nitrografx] | `.pce` | |
| RVID Video | [Rocket Video Player][rvidplayer] | `.rvid` | |
| SNES[^6] | [SNEmulDS][snemulds] | `.smc`, `.sfc` | `[rom name].srm`[^7] |
| SNES[^7] | [SNEmulDS][snemulds] | `.smc`, `.sfc` | `[rom name].srm`[^8] |
{:.table}
- Footnotes -
{:footnotes}
#### Q: Why isn't touch input working on sudokuhax?
A: Depending on the save file of sudokuhax, the touch screen inputs may not work.
#### Why isn't touch input working on sudokuhax?
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.
#### Can The Biggest Loser boot TWiLight Menu++?
No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards.
[^1]: Text files containing the path to a DS homebrew app and arguments to launch it with, see [nds-hb-menu's README](https://github.com/devkitPro/nds-hb-menu#passing-arguments) for more info
[^2]: Only for retail ROMs, homebrew do not have specific save files
[^3]: Only works from a SuperCard DSTWO flashcard as it has additional processing power and RAM inside the cartridge
[^4]: Requires a Slot-2 flashcard and thus only works on DS Phat and DS Lite
[^5]: jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard
[^6]: Only shown when using a flashcard or Unlaunch is installed
[^7]: Can only save when running from a flashcard
[^4]: When running in DSi Mode, it can use the DSP for better sound
[^5]: Requires a Slot-2 flashcard and thus only works on DS Phat and DS Lite
[^6]: jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard
[^7]: Only shown when using a flashcard, 3DS's internal SD card, or DSi with Unlaunch installed
[^8]: Can only save when running from a flashcard
[a5200ds]: https://github.com/wavemotion-dave/A5200DS
[a7800ds]: https://github.com/wavemotion-dave/A7800DS
@ -109,3 +112,4 @@ A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access
[snemulds]: https://www.gamebrew.org/wiki/SNEmulDS
[stellads]: https://github.com/wavemotion-dave/StellaDS
[unlaunch]: https://problemkaputt.de/unlaunch.htm
[xegs-ds]: https://github.com/wavemotion-dave/XEGS-DS

View File

@ -22,25 +22,25 @@ description: How to get box art / game covers in TWiLight Menu++
- 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
1. 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=`
1. Open `TwilightBoxart.ini` in the extracted folder in a text editor
1. Type the path to your SD card after `SdRoot=`, then save the file
- 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. Run `./TwilightBoxart.CLI`
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
1. 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
1. 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.

View File

@ -7,21 +7,26 @@ 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 an Old / New Nintendo 3DS or 2DS console.
{:.alert .alert-info}
**Preparation**
### 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://sono.9net.org/hebrew/TWPatch/data/TWPatch.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. (Optional!) For a less pixelated widescreen, hold Y+B, and enable `GPU scale test (health hazard!)`
1. Press <kbd class="face">X</kbd> + <kbd>START</kbd> 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
### Installing
1. Download [TWPatch](https://sono.9net.org/hebrew/TWPatch/data/TWPatch.cia) and copy `TWPatch.cia` to your SD card ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/))
1. Install `TWPatch.cia` using FBI
- You can also use Universal-Updater to install TWPatch instead of the previous two steps
1. Return to the home menu and launch TWPatch
1. Hold <kbd class="face">Y</kbd> + <kbd class="face">B</kbd> and enable `Widescreen patch (384x240 16:10)`
1. (Optional!) For a less pixelated widescreen, also enable `GPU scale test (health hazard!)`
- The "health hazard!" is because it gave the developer a headache due to its blurriness
1. Press <kbd>START</kbd> to generate a `TwlBg.cxi` file with widescreen
- If the top screen doesn't indicate that wide patch is enabled, start from step 3 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`
1. Restart your 3DS while holding <kbd>SELECT</kbd> to open Luma3DS's configuration
1. Enable `external FIRMs and modules`, then press <kbd>START</kbd> to save and quit
1. Open TWiLight Menu++ settings, switch to the `Misc settings` page, 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!

View File

@ -0,0 +1,103 @@
---
lang: en-US
layout: wiki
section: community
category: discord
title: DS⁽ⁱ⁾ Mode Hacking Info
description: Information for the DS⁽ⁱ⁾ Mode Hacking Discord server
---
### Welcome to the <u>DS⁽ⁱ⁾ Mode Hacking</u>!
We specialize in all things related to Nintendo DS(i) modding and homebrew. Here are a few examples of what we can help you do in this server:
- Setting up the best kernel for your flashcart
- Installing Custom Firmware (CFW) to your Nintendo DSi
- Helping modify the TWL_FIRM on your Nintendo 3DS (allowing you to use widescreen, changing screen filtering amongst other things)
We also focus on other things such as creating ROM hacks, developing homebrew, and general chatter.
## Discord Channels
We have plenty of channels for different topics, so make sure you're using the right channel so the others don't get flooded with unrelated conversations. We'll go over the important ones but you can always check what the other channels do by looking at their channel topic:
- [#community-rules][community-rules] - This is the rules channel, it describes the standards we have when communicating in this server
- [#useful-resources][useful-resources] - Need to understand something? Don't know a technical term? Check here
- [#nds-modding-help][nds-modding-help] - This is where you can ask for assistance with anything DS Homebrew related. Please check the pins, as there might be an explanation there already
- [#community-meta][community-meta] - This channel is used for talking about the server itself
- [#end-of-server][end-of-server] - This for casual, lower-quality chatting. Rules are slightly more relaxed but are still enforced. Use this to post your memes and stuff
We also have [#other-nds-homebrew][other-nds-homebrew] for homebrew that don't have a dedicated channel, [#nds-modding-discussion][nds-modding-discussion] for modding that doesn't concern other channels, [#nds-gaming][nds-gaming] for general DS stuff, and [#offtopic][offtopic] for any topic in general.
## Roles & User Flairs
We have several roles you can get on this server, some of them being accessible with just a @Lightning command
### Developers
This role is given to those who have either assisted or led a project for the Nintendo DS scene. While preferable that it'd be open source, it's optional Post the Nintendo DS homebrew application in the channel that works the best (If it doesn't have one, post it in [#other-nds-homebrew][other-nds-homebrew]) and ping a moderator alongside your message.
Keep in mind that stolen code will not land you the role, and we may deny the request depending on the circumstances
### Artists/Designers
This role is given to those with an understanding of how art works and have contributed to DS homebrew in a graphical way (for example, a WoodR4 skin or a TWiLight Menu++ subtheme). Once you've fulfilled the requirement, mention us in [#community-meta][community-meta] with examples of said work and we will evaluate it.
### Helpers
Whether it's people we confide special builds to test or someone who would be helping out in the [#nds-modding-help][nds-modding-help] channel, Helpers are users that are supposed to represent the server as helpful members of the community. As an addition to the above average post quality requirement, there are two possible ways you can get the role: Testing & helping those in [#nds-modding-help][nds-modding-help]
For those testing, you must test at least a total of 7 games between GBARunner2 and nds-bootstrap. Check their specific channel topics for links to their compatibility sheet. For those helping, the amount of help you give isn't set in stone. We generally look at how grand your helping is (for example, saying "right click then hit edit" wouldn't help).
Once you've fulfilled either, mention it in [#community-meta][community-meta] and say which method you chose. If we approve, you will gain the Helpers role. You must send at least one message every 4 months to keep it.
### Translators
Wanna translate a project of ours? Give yourself this role so you can stay up to date with the project's translation status. Our translation leader (Evie) will ping when new strings need to be translated.
- TWiLight Menu++: <https://crowdin.com/project/TwilightMenu>
- dsi.cfw.guide website: <https://crowdin.com/project/dsi-guide>
- ds-homebrew.com wiki: <https://crowdin.com/project/ds-homebrew-wiki>
This is a toggleable role, via @Lightning's togglerole command (`!togglerole Translators` in [#end-of-server][end-of-server])
### Game Modders
This role is given to those who have made a ROM Hack of decent quality for the Nintendo DS, know how to properly patch their files and have posted said ROM hack at a more permanent place (such as GameBanana or modding forums). Post your ROM hack in [#nds-retail-research][nds-retail-research] and ping a moderator and we will evaluate the ROM hack.
### Nintendo DS Online Players
This is a hoisted role, meant for users to get pinged when someone wants to play a Nintendo DS game online (whether it's Wiimmfi, AltWFC or other services). Mass pingers will be banned. This is a toggleable role, via @Lightning's togglerole command (`!togglerole Nintendo DS Online Players` in [#end-of-server][end-of-server])
### Updates
You will get pinged in [#announcements][announcements] anytime an update comes out. To access it, type `!togglerole Updates` in [#end-of-server][end-of-server].
## 🤖 Lightning Commands
Lightning is a discord bot made by @Frost_ which has useful commands for modding communities, including...
- `!mod [console] [param2]` - This will allow you to view information on modding consoles, games and so on. param2 could be viewed for more specific information or get a list of homebrew.
- `!tinydb [search term]` - Lookup 3DS homebrew on TinyDB
- `!togglerole [role]` - This will toggle the two customizable roles we have: `Updates` and `Nintendo DS Online Players`
There are a ton of fun commands you can run as well, but please keep them to [#end-of-server][end-of-server]. To learn more, check out their website: <https://lightning-bot.gitlab.io/>
We also use Lightning for moderation purposes (to log warns, kicks, mutes and bans). Keep this bot's DM box open in case we ever need to reach you.
## 👑 The Staff Team
These are the people who maintain the server. If they say something is final, it is not up for debate. These members will be hoisted in the member listing. Currently, we are not looking for staff members. Do not ask to be a part of the team, as it will decrease your chance of getting accepted.
@shutterbug2000, @RocketRobz (TWL-Z8RT-USA), @Gericom, @ahezard, @Apache Thunder, @NightScript, @dubbz82, @Stack3r, @Frost_, @Kaisaan
## 🚪 Invite Link
Here are links to our networks.
- Discord Server: <https://discord.gg/yD3spjv> (Keep in mind that anything publicly accessible on our server are logged by us and may be logged by others here)
- Sub-Reddit: [r/NDSBrew](https://reddit.com/r/NDSBrew) (for old reddit: [Dark](https://dm.reddit.com/r/NDSBrew/) --- [Light](https://old.reddit.com/r/NDSBrew/))
<!-- Discord channel links -->
[community-rules]: https://discord.com/channels/283769550611152897/718305959914766366
[useful-resources]: https://discord.com/channels/283769550611152897/638041441079263283
[announcements]: https://discord.com/channels/283769550611152897/283771381735489537
[community-meta]: https://discord.com/channels/283769550611152897/715651368391671919
[nds-modding-help]: https://discord.com/channels/283769550611152897/332961165829210117
[nds-modding-discussion]: https://discord.com/channels/283769550611152897/547986366357700620
[nds-retail-research]: https://discord.com/channels/283769550611152897/356988919738400768
[other-nds-homebrew]: https://discord.com/channels/283769550611152897/536968881500061712
[offtopic]: https://discord.com/channels/283769550611152897/286686210225864725
[nds-gaming]: https://discord.com/channels/283769550611152897/668680785154408448
[end-of-server]: https://discord.com/channels/283769550611152897/283770736215195648

View File

@ -0,0 +1,132 @@
---
lang: en-US
layout: wiki
section: community
category: discord
title: DS⁽ⁱ⁾ Mode Hacking Rules
description: The rules for the DS⁽ⁱ⁾ Mode Hacking Discord server
---
### Do NOT impersonate, trash talk or otherwise act disrespectful to others and their beliefs.
- This applies especially to those offering their time for the community. (such as helpers or developers)
- We will NOT tolerate insensitivity, regardless of whether the member is in the community or not.
- Respect user privacy; Avoid attempts to communicate with users who aren't comfortable doing so or sharing information about them that they don't want shared.
- Do NOT backseat moderate or try to "help" when a moderator is dealing with a situation. You hold no authority, so leave actual rule handling to staff.
- Reminders are fine, as long as you don't try to enforce them.
- When knowing who created a piece of art, credit those content creators.
### Do NOT bring the chat quality down.
Examples include:
- Asking to be spoon-fed information or spoon-feeding others
- Asking for release dates for projects; It's ready when it's ready
- Asking to ask; by asking to ask, you just asked
- Requesting information that is either obvious or you could find with a little bit of research on your end (such as googling for links instead of asking for them to be handed to you)
- Important information will be held over at [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283).
- Check the channel topic & pinned messages; it most likely contains what you are looking for.
- Intentionally elongating your message (for example: sending few words per message leaving it into a "popcorn" situation)
- Repeating messages, whether it is repeated in the same channel or in multiple channels.
- If you're unsure where to post your message, post it in the one that makes the most sense.
- If you're still unsure, ask in [#community-meta](https://discord.com/channels/283769550611152897/715651368391671919).
- Posting for the sake of posting rather than to bring actual conversations (such as complaining that the chat is dead, only sending out greetings, copypastas, etc)
- Sending extremely long messages. Use [mystbin](https://mystb.in/) for longer messages instead.
### Do NOT randomly send Discord server invite links with no context & without explicit staff permission
- Giving links to other discord servers on request is allowed, but please ask a moderator in Direct Messages before advertising a server without prior context
- DM advertisements aren't allowed, both by the Discord Terms of Service and our server rules. Mass-DM advertisement (with proof) will land you a ban
- Breaking this rule will result in your message containing the advertisement being deleted
- Joining for the purpose of advertising your discord server will land you a ban.
### Keep conversations within their respective channels.
- Even if they are related, sometimes another channel would be more suitable.
- Sometimes, even an entirely different server is preferable. We don't have the answers to everything.
- Different related servers are linked to in [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283)
### You may not have an alternative account on this server
- One account per person at a time (except when approved by a staff member). Be sure to leave this server on your other account before joining with a new one.
- Punishments apply to the person, not the account. Any subsequent accounts made for the purposes of punishment evasion will result in both accounts being banned.
### Do NOT recommend video guides.
- Video guides aren't maintained very well (which leads to the videos being outdated and unreliable in the long term) and negligent for the sake of "user accessibility".
- We have a list of guides in [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283) you could use instead.
### 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.
- Avoid purposely putting characters in the beginning of the name to change your spot in the member list. You'll get those characters removed.
### Please be courteous when using Direct Messages
- Things that happen in Direct Messages **are** the business of the server since unless the two share another server or they are friends, they wouldn't be able to reach each other.
- Examples include DM advertising, purposely redirecting users to DMs from normal chat (such as support) to break rules or harassment.
- There needs to be evidence of doing so, such as other people reporting it too, implications on the server or anything of the sort. However, when you do your report, cover any links. Do not give the DM advertiser more popularity than they already got by Direct Messaging everyone.
- Even if your actions aren't malicious, sometimes they could be disturbing.
- Please ask before sending a Direct Message to others and respect those not wanting to communicate.
### Keep piracy discussion to a minimum
- Do not link to piracy websites, upload pirated content, or encourage others to pirate
- For more information on what is piracy or not, we suggest reading this: https://3ds.eiphax.tech/piracy.html (Disclaimer: We are not lawyers)
### No Adult Content
- Do not post pornography, gore, drugs (unless the topic is about medication) or anything that is not safe for work
- Any account with a disturbing avatar will get kicked. If you rejoin and still have the avatar, it will receive a ban
- At the same time, be mature. Members are allowed to cuss and you should be accustomed to that. Just don't throw around cuss words every two seconds; it isn't cool
- Despite Adult content being banned, users are still required to be thirteen and over in order to participate on this Discord Server
## Controversial content.
### Topics that you should minimize
Please keep these topics in [#offtopic](https://discord.com/channels/283769550611152897/718307887578873856) and keep an open mind when discussing them:
- Political Debates
- Religion
- Spoilers
- Malware
- Content intended to shock or scare
Make sure to put spoilers, malware and content intended to shock or scare in spoiler tags and properly warn the user outside of said spoiler tags.
### Banned Content
- External Drama
- Server Raids
- Adult content (read above)
## 🏓 Notifications/Pings/DMs
- @Lightning will send you a DM if you receive a warning. No need to assume you're in trouble if you got a ping
- Don't ping a user if it's obvious that they're already there. (Using Discord's quote function is not an excuse. Please remove the ping before sending the message)
- Don't repeatedly ping a person to try and get their attention.
- When a mention attack occurs, do not ping a staff member; its redundant since they are already getting pings from the attack. Also, it confuses the staff on which member to ban.
- If you get pinged, don't send messages like "why ping" or spam emotes on the message. Check who pinged and reply.
- If you have a problem with getting pinged, either set up your discord so you don't get ping notifications, deal with it or leave.
- If you can't find the message with the ping, alert a staff member. We will warn those who ping then instantly delete their messages.
- Ping only when you want to bring attention to something to someone. Don't ping as a reference.
## Consequences
**The consequences of breaking these rules are either warnings, mutes, kicks or bans.** Of course, it depends on a case by case scenario.
- Joining and immediately breaking the rules will lead your account to getting a mute
- Joining for the purpose of rule breaking will get you banned.
- Trying to evade, look for loopholes, or stay borderline within the rules will be treated as breaking them.
If you don't understand any of the rules, feel free to ask.
Last update: August 19th, 2020

View File

@ -0,0 +1,13 @@
---
lang: en-US
layout: wiki
section: community
title: Home
description: Coming Soon™
---
You can find information about our community here, such as the rules for our Discord server. We have the following places:
- Discord: [DS<sup>(i)</sup> Mode Hacking](https://ds-homebrew.com/discord)
- Reddit: [r/NDSBrew](https://reddit.com/r/NDSBrew)
- GitHub: [DS-Homebrew](https://github.com/DS-Homebrew)
- Website: [ds-homebrew.com](https://ds-homebrew.com)

View File

@ -74,7 +74,7 @@ PC:
- A 64 bit OS
- [Forwarder3-DS](https://www.dropbox.com/s/b9de5ii6vm3dxfn/Forwarder3DS-v2.9.6.zip?dl=0)
- Java 8 Update 251
- **Linux users:** JavaFX
- **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
{% capture tab-sd-card %}

View File

@ -29,8 +29,6 @@ The ranges that make it overflow is determined by pairs of two. For example, 1-2
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.
### Nintendo DSi Slot-1 Access & Blockout
@ -49,3 +47,6 @@ A `pit.bin` file is used in order to load images. However, the header size at of
### 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/).

View File

@ -74,22 +74,22 @@ You will first need to remove the NOCASH footer from the backup you are flashing
1. Work out where the SD card is mounted
- Linux:
1. Unplug the SD card adapter
1. Run `lbslk` on a terminal
1. Run `lbslk` in a terminal
1. Plug in the SD card adapter
1. Run `lbslk` again
1. This time a new device should appear
- It may be called `/dev/sdb`, make sure you note down what it is called on *your* terminal
- It may be called `/dev/sdb`, make sure you note down what it is called on *your* computer
- macOS:
1. Unplug the SD card adapter
1. Run `df` on a terminal
1. Run `df` in a terminal
1. Plug in the SD card adapter
1. Run `df` again
1. A new device should appear in the list
- It may be called `/dev/disk1s1`, make sure you note down what it is called on *your* terminal
- It may be called `/dev/disk1s1`, make sure you note down what it is called on *your* computer
1. Dump the NAND
- Run the following command on a terminal:
- Run the following command in a terminal:
- `cat {device-name} > nand0.bin`
- Replace `{device-name}` with the SD card mount location
- E.g `cat /dev/sdb > nand0.bin`

View File

@ -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 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
- **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)
### Flashcards

View File

@ -8,22 +8,17 @@ description: Information related to retail DS games
---
### 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 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/)
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
Cloneboot is when a game sends it's own loaded ARM7 and ARM9 binaries to another console. It is used by DS Download Play for single-card multiplayer. Though, not all games that have single-card multiplayer uses 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.
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
Nintendo DS cartridges have 4 known save types:
@ -37,18 +32,16 @@ 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).
### 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`
### 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.
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:
@ -70,5 +63,3 @@ For the most complete cheat database, we recommend using the one made by DeadSku
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 consecutive 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`)

View File

@ -8,17 +8,16 @@ description: Information on using Wi-Fi on the Nintendo DS
---
- 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
- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA and WPA2 support
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
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,3 +27,22 @@ There are guides for creating a DS game compatible hotspot on macOS and Linux co
- **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
### 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
1. Download [WFCPatcher](https://github.com/AdmiralCurtiss/WfcPatcher/releases)
1. Copy the ROM of the game you want to patch to the same folder where WFCPatcher is saved and open that folder
1. Create a text file with the name `patch.bat`
1. In the file, enter `wfcpatcher.exe %1 --domain wiimmfi.de` then save and close (you can replace wiimmfi.de with another URL, if you wish to use a different server)
1. Now drag all the roms you wish to patch on to patch.bat
1. Done! the patched roms will be the ones ending in (wiimmfi)
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.
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).

View File

@ -0,0 +1,21 @@
---
lang: en-US
layout: wiki
section: gbarunner2
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.
### 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/)
After dumping the BIOS, it must be renamed as `bios.bin` and then should be placed in `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

View File

@ -0,0 +1,25 @@
---
lang: en-US
layout: wiki
section: gbarunner2
title: FAQ & Troubleshooting
description: FAQs and troubleshooting for GBARunner2
---
#### How do I create and add custom borders?
You can read and follow [this guide](https://docs.google.com/document/d/1owjiW-1fHEbokrkK2ZuPFjR2-N9s1dXCCAM3ghWRtxk/edit?usp=sharing) by FrescoASF.
#### Are cheats supported?
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++?
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?
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).

View File

@ -0,0 +1,13 @@
---
lang: en-US
layout: wiki
section: gbarunner2
title: Home
description: Coming Soon™
---
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)

View File

@ -0,0 +1,50 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
category: other
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?
- 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 youre trying to launch 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/`
#### Why are there issues with ROM loading, even though they're run natively?
nds-bootstrap patches the ROM functions to run from an SD card, as the ROMs are hardcoded to read from Slot-1. There are also timing issues and AP measures (which most are already removed), both of which would cause the ROMs to not work properly. To improve performance, nds-bootstrap also shrinks the game's heap in memory, which breaks some games, though both the forwarders and TWiLight Menu++ have a heap shrink blacklist to fix the non-working games broken by heap shrink.
#### Why use nds-bootstrap over a regular flashcard?
- 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
- 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
- The DS Memory Expansion Pak is emulated meaning games that require that accessory will work
#### Donor ROMs
Most SDK5 games can be selected as a Donor ROM (which can be done via TWiLight Menu++). The Donor ROM's ARM7 binary is copied by nds-bootstrap and replaces the ARM7 binary for the game that it is trying to run. This allows certain and SDK5 games to boot and save.
#### 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).
#### 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> 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
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)
If the server says it's an nds-bootstrap issue, check if the game hasn't been reported already on GitHub. Check the closed issues too in case we had one issue closed in preference a different one. If it doesn't have any GitHub issue attached to it, go ahead and make a new one.
Also, make sure you add it to the [compatibility list](https://wiki.ds-homebrew.com/nds-bootstrap/testing) on Google Sheets.

View File

@ -0,0 +1,11 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
title: Home
description: nds-bootstrap wiki
---
# 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.

View File

@ -0,0 +1,17 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
category: other
title: Compatibility List & Testing Tips
description: Compatibility List & Testing Tips
---
### Compatibility List
To view tested games, look [here](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/). If you want to contribute, press `view only` and then `request edit access`.
### Tips For Testing Games
- Look for screen flickering or sound issues
- If something looks off, run the game along a console not using nds-bootstrap to compare
- Try as many features in the game as possible
- Be thorough

View File

@ -0,0 +1,17 @@
---
lang: en-US
layout: wiki
section: other
title: GodMode9i
description: Info for 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.
### FAQ & Troubleshooting
#### How do I get past the "mounting drive(s)" screen while starting it up?
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/]

View File

@ -0,0 +1,24 @@
---
lang: en-US
layout: wiki
section: other
title: hiyaCFW
description: Info for hiyaCFW
---
Information for [hiyaCFW](https://github.com/RocketRobz/hiyaCFW), the world's first CFW for DSi.
### 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
- 16-bit (RGBA 1555, RGB 1555, or RGB 565)
- 256 x 192 or smaller
#### 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
- 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
- Local color tables are supported, but will replace the whole palette, including residual image from previous frames, so images using them will likely have palette problems

View File

@ -0,0 +1,9 @@
---
lang: en-US
layout: wiki
section: other
title: Home
description: Coming Soon™
---
This section has information on other DS-Homebrew projects that aren't big enough to need a full section of the wiki.

View File

@ -22,4 +22,4 @@ 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.
- Copy `pictochat.nds` from `sd:/_nds/` on the DSi's SD card to the same location on the 3DS' SD card You must first access the DS Classic Menu in TWiLight Menu++ on the DSi.

View File

@ -10,50 +10,51 @@ description: FAQs and troubleshooting for TWiLight Menu++
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/).
{:.alert .alert-info}
#### Q: Why does my 3DS / 2DS get stuck on black screens, crash, power off, etc 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>
#### Why does my 3DS / 2DS get stuck on black screens, crash, power off, etc when launching TWiLight Menu++?
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: How do I fix getting a white screen when booting TWiLight Menu++?
A:
#### 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 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:
#### 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?
- 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`
- 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.
#### How do I use cheats?
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.
#### How do I show a custom picture on the top screen of the DSi theme?
A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded.
- The images(s) must be no bigger than 208x156
- If you have errors, it's most likely an error with the image size. Please use [tinypng](https://tinypng.com) to reduce the size
#### Q: How do I get games?
A: You can download homebrew games from [Universal-DB](https://db.universal-team.net/ds) and [GameBrew](https://www.gamebrew.org/wiki/List_of_DS_homebrew_applications). To get dumps of your retail games:
#### How do I get games?
You can download homebrew games from [Universal-DB](https://db.universal-team.net/ds) and [GameBrew](https://www.gamebrew.org/wiki/List_of_DS_homebrew_applications). To get dumps of your retail games:
- On DS you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) to dump your GBA games and, if you have a Slot-2 flashcard, DS games
- On DSi you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) to dump your DS games and DSiWare
- On 3DS you can use [GodMode9](https://github.com/d0k3/GodMode9/releases) to dump your DS games, DSiWare, and Virtual Console titles
#### Q: Can I get the save files from my game cards onto my SD card or vice versa?
A: Yes, you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) on DSi and 3DS or [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases) on 3DS.
#### Can I get the save files from my game cards onto my SD card or vice versa?
Yes, you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) on DSi and 3DS or [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases) on 3DS.
#### Q: How do I change TWiLight Menu++'s language?
A:
#### How do I change TWiLight Menu++'s language?
1. Open TWiLight Menu++ settings, you can do this by holding <kbd>SELECT</kbd> while loading TWiLight Menu++
1. Press <kbd class="l">L</kbd> or <kbd class="face">Y</kbd> once (on flashcard / 3DS) or twice (on DSi)
1. Change the first option until you see the language you want, then exit settings
- You may also want to change the next two options as they control the language of DS games and their titles in TWiLight Menu++
#### Q: What systems does TWiLight Menu++ support?
#### Is this a DS(i) emulator?
No, this is not an emulator. The menu and DS games (loaded via nds-bootstrap) are ran natively in the console's DS/DSi mode. The only consoles emulated are the past consoles, but partially for GBA (as some or all parts like graphics are ran natively).
A:
#### What systems does TWiLight Menu++ support?
| Format | Loader | Extensions | Save file |
| ------------------------- | ------------------------------------------------ | -------------------------------------- | ---------------------------------- |
@ -61,37 +62,39 @@ A:
| Atari 2600 | [StellaDS][stellads] | `.a26` | |
| Atari 5200 | [A5200DS][a5200ds] | `.a52` | |
| Atari 7800 | [A7800DS][a7800ds] | `.a78` | |
| Atari XEGS | [XEGS-DS][xegs-ds] | `.xex`, `.atr` | |
| DS | [nds-bootstrap][ndsbs], flashcard kernel, native | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `saves/[rom name].sav`[^2] |
| DSiWare | [Unlaunch][unlaunch] | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `[rom name].pub`, `[rom name].prv` |
| DSTWO Plugin | [DSTWO][dstwo][^3] | `.plg` | |
| Game Boy (Color) | [GameYob][gameyob] | `.gb`, `.sgb`, `.gbc` | `[rom name].sav` |
| Game Boy Advance | [GBARunner2][gbarunner2], native[^4] | `.agb`, `.gba`, `.mb` | `[rom name].sav` |
| Game Boy Advance | [GBARunner2][gbarunner2][^4], native[^5] | `.agb`, `.gba`, `.mb` | `[rom name].sav` |
| Game Gear | [S8DS][s8ds] | `.gg` | `[rom name].gg.sav` |
| Genesis / Mega Drive | [jEnesisDS][jenesis], [PicoDriveTWL][pdtwl] | `.gen` | `[rom name].srm`[^5] |
| Genesis / Mega Drive | [jEnesisDS][jenesis], [PicoDriveTWL][pdtwl] | `.gen` | `[rom name].srm`[^6] |
| Master System | [S8DS][s8ds] | `.sms` | `[rom name].sms.sav` |
| MPEG4 Video | [MPEG4 Player][mpeg4player] | `.mp4` | |
| NES / Famicom | [nesDS][nesds] | `.nes`, `.fds` | `[rom name].sav` |
| PC Engine / TurboGrafx-16 | [NitroGrafx][nitrografx] | `.pce` | |
| RVID Video | [Rocket Video Player][rvidplayer] | `.rvid` | |
| SNES[^6] | [SNEmulDS][snemulds] | `.smc`, `.sfc` | `[rom name].srm`[^7] |
| SNES[^7] | [SNEmulDS][snemulds] | `.smc`, `.sfc` | `[rom name].srm`[^8] |
{:.table}
- Footnotes -
{:footnotes}
#### Q: Why isn't touch input working on sudokuhax?
A: Depending on the save file of sudokuhax, the touch screen inputs may not work.
#### Why isn't touch input working on sudokuhax?
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.
#### Can The Biggest Loser boot TWiLight Menu++?
No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards.
[^1]: Text files containing the path to a DS homebrew app and arguments to launch it with, see [nds-hb-menu's README](https://github.com/devkitPro/nds-hb-menu#passing-arguments) for more info
[^2]: Only for retail ROMs, homebrew do not have specific save files
[^3]: Only works from a SuperCard DSTWO flashcard as it has additional processing power and RAM inside the cartridge
[^4]: Requires a Slot-2 flashcard and thus only works on DS Phat and DS Lite
[^5]: jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard
[^6]: Only shown when using a flashcard or Unlaunch is installed
[^7]: Can only save when running from a flashcard
[^4]: When running in DSi Mode, it can use the DSP for better sound
[^5]: Requires a Slot-2 flashcard and thus only works on DS Phat and DS Lite
[^6]: jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard
[^7]: Only shown when using a flashcard, 3DS's internal SD card, or DSi with Unlaunch installed
[^8]: Can only save when running from a flashcard
[a5200ds]: https://github.com/wavemotion-dave/A5200DS
[a7800ds]: https://github.com/wavemotion-dave/A7800DS
@ -109,3 +112,4 @@ A: No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access
[snemulds]: https://www.gamebrew.org/wiki/SNEmulDS
[stellads]: https://github.com/wavemotion-dave/StellaDS
[unlaunch]: https://problemkaputt.de/unlaunch.htm
[xegs-ds]: https://github.com/wavemotion-dave/XEGS-DS

View File

@ -22,25 +22,25 @@ description: How to get box art / game covers in TWiLight Menu++
- 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
1. 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=`
1. Open `TwilightBoxart.ini` in the extracted folder in a text editor
1. Type the path to your SD card after `SdRoot=`, then save the file
- 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. Run `./TwilightBoxart.CLI`
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
1. 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
1. 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.

View File

@ -7,21 +7,26 @@ 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 an Old / New Nintendo 3DS or 2DS console.
{:.alert .alert-info}
**Preparation**
### 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://sono.9net.org/hebrew/TWPatch/data/TWPatch.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. (Optional!) For a less pixelated widescreen, hold Y+B, and enable `GPU scale test (health hazard!)`
1. Press <kbd class="face">X</kbd> + <kbd>START</kbd> 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
### Installing
1. Download [TWPatch](https://sono.9net.org/hebrew/TWPatch/data/TWPatch.cia) and copy `TWPatch.cia` to your SD card ([GBATemp thread](https://gbatemp.net/threads/twpatcher-ds-i-mode-screen-filters-and-patches.542694/))
1. Install `TWPatch.cia` using FBI
- You can also use Universal-Updater to install TWPatch instead of the previous two steps
1. Return to the home menu and launch TWPatch
1. Hold <kbd class="face">Y</kbd> + <kbd class="face">B</kbd> and enable `Widescreen patch (384x240 16:10)`
1. (Optional!) For a less pixelated widescreen, also enable `GPU scale test (health hazard!)`
- The "health hazard!" is because it gave the developer a headache due to its blurriness
1. Press <kbd>START</kbd> to generate a `TwlBg.cxi` file with widescreen
- If the top screen doesn't indicate that wide patch is enabled, start from step 3 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`
1. Restart your 3DS while holding <kbd>SELECT</kbd> to open Luma3DS's configuration
1. Enable `external FIRMs and modules`, then press <kbd>START</kbd> to save and quit
1. Open TWiLight Menu++ settings, switch to the `Misc settings` page, 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!

View File

@ -0,0 +1,103 @@
---
lang: en-US
layout: wiki
section: community
category: discord
title: DS⁽ⁱ⁾ Mode Hacking Info
description: Information for the DS⁽ⁱ⁾ Mode Hacking Discord server
---
### Welcome to the <u>DS⁽ⁱ⁾ Mode Hacking</u>!
We specialize in all things related to Nintendo DS(i) modding and homebrew. Here are a few examples of what we can help you do in this server:
- Setting up the best kernel for your flashcart
- Installing Custom Firmware (CFW) to your Nintendo DSi
- Helping modify the TWL_FIRM on your Nintendo 3DS (allowing you to use widescreen, changing screen filtering amongst other things)
We also focus on other things such as creating ROM hacks, developing homebrew, and general chatter.
## Discord Channels
We have plenty of channels for different topics, so make sure you're using the right channel so the others don't get flooded with unrelated conversations. We'll go over the important ones but you can always check what the other channels do by looking at their channel topic:
- [#community-rules][community-rules] - This is the rules channel, it describes the standards we have when communicating in this server
- [#useful-resources][useful-resources] - Need to understand something? Don't know a technical term? Check here
- [#nds-modding-help][nds-modding-help] - This is where you can ask for assistance with anything DS Homebrew related. Please check the pins, as there might be an explanation there already
- [#community-meta][community-meta] - This channel is used for talking about the server itself
- [#end-of-server][end-of-server] - This for casual, lower-quality chatting. Rules are slightly more relaxed but are still enforced. Use this to post your memes and stuff
We also have [#other-nds-homebrew][other-nds-homebrew] for homebrew that don't have a dedicated channel, [#nds-modding-discussion][nds-modding-discussion] for modding that doesn't concern other channels, [#nds-gaming][nds-gaming] for general DS stuff, and [#offtopic][offtopic] for any topic in general.
## Roles & User Flairs
We have several roles you can get on this server, some of them being accessible with just a @Lightning command
### Developers
This role is given to those who have either assisted or led a project for the Nintendo DS scene. While preferable that it'd be open source, it's optional Post the Nintendo DS homebrew application in the channel that works the best (If it doesn't have one, post it in [#other-nds-homebrew][other-nds-homebrew]) and ping a moderator alongside your message.
Keep in mind that stolen code will not land you the role, and we may deny the request depending on the circumstances
### Artists/Designers
This role is given to those with an understanding of how art works and have contributed to DS homebrew in a graphical way (for example, a WoodR4 skin or a TWiLight Menu++ subtheme). Once you've fulfilled the requirement, mention us in [#community-meta][community-meta] with examples of said work and we will evaluate it.
### Helpers
Whether it's people we confide special builds to test or someone who would be helping out in the [#nds-modding-help][nds-modding-help] channel, Helpers are users that are supposed to represent the server as helpful members of the community. As an addition to the above average post quality requirement, there are two possible ways you can get the role: Testing & helping those in [#nds-modding-help][nds-modding-help]
For those testing, you must test at least a total of 7 games between GBARunner2 and nds-bootstrap. Check their specific channel topics for links to their compatibility sheet. For those helping, the amount of help you give isn't set in stone. We generally look at how grand your helping is (for example, saying "right click then hit edit" wouldn't help).
Once you've fulfilled either, mention it in [#community-meta][community-meta] and say which method you chose. If we approve, you will gain the Helpers role. You must send at least one message every 4 months to keep it.
### Translators
Wanna translate a project of ours? Give yourself this role so you can stay up to date with the project's translation status. Our translation leader (Evie) will ping when new strings need to be translated.
- TWiLight Menu++: <https://crowdin.com/project/TwilightMenu>
- dsi.cfw.guide website: <https://crowdin.com/project/dsi-guide>
- ds-homebrew.com wiki: <https://crowdin.com/project/ds-homebrew-wiki>
This is a toggleable role, via @Lightning's togglerole command (`!togglerole Translators` in [#end-of-server][end-of-server])
### Game Modders
This role is given to those who have made a ROM Hack of decent quality for the Nintendo DS, know how to properly patch their files and have posted said ROM hack at a more permanent place (such as GameBanana or modding forums). Post your ROM hack in [#nds-retail-research][nds-retail-research] and ping a moderator and we will evaluate the ROM hack.
### Nintendo DS Online Players
This is a hoisted role, meant for users to get pinged when someone wants to play a Nintendo DS game online (whether it's Wiimmfi, AltWFC or other services). Mass pingers will be banned. This is a toggleable role, via @Lightning's togglerole command (`!togglerole Nintendo DS Online Players` in [#end-of-server][end-of-server])
### Updates
You will get pinged in [#announcements][announcements] anytime an update comes out. To access it, type `!togglerole Updates` in [#end-of-server][end-of-server].
## 🤖 Lightning Commands
Lightning is a discord bot made by @Frost_ which has useful commands for modding communities, including...
- `!mod [console] [param2]` - This will allow you to view information on modding consoles, games and so on. param2 could be viewed for more specific information or get a list of homebrew.
- `!tinydb [search term]` - Lookup 3DS homebrew on TinyDB
- `!togglerole [role]` - This will toggle the two customizable roles we have: `Updates` and `Nintendo DS Online Players`
There are a ton of fun commands you can run as well, but please keep them to [#end-of-server][end-of-server]. To learn more, check out their website: <https://lightning-bot.gitlab.io/>
We also use Lightning for moderation purposes (to log warns, kicks, mutes and bans). Keep this bot's DM box open in case we ever need to reach you.
## 👑 The Staff Team
These are the people who maintain the server. If they say something is final, it is not up for debate. These members will be hoisted in the member listing. Currently, we are not looking for staff members. Do not ask to be a part of the team, as it will decrease your chance of getting accepted.
@shutterbug2000, @RocketRobz (TWL-Z8RT-USA), @Gericom, @ahezard, @Apache Thunder, @NightScript, @dubbz82, @Stack3r, @Frost_, @Kaisaan
## 🚪 Invite Link
Here are links to our networks.
- Discord Server: <https://discord.gg/yD3spjv> (Keep in mind that anything publicly accessible on our server are logged by us and may be logged by others here)
- Sub-Reddit: [r/NDSBrew](https://reddit.com/r/NDSBrew) (for old reddit: [Dark](https://dm.reddit.com/r/NDSBrew/) --- [Light](https://old.reddit.com/r/NDSBrew/))
<!-- Discord channel links -->
[community-rules]: https://discord.com/channels/283769550611152897/718305959914766366
[useful-resources]: https://discord.com/channels/283769550611152897/638041441079263283
[announcements]: https://discord.com/channels/283769550611152897/283771381735489537
[community-meta]: https://discord.com/channels/283769550611152897/715651368391671919
[nds-modding-help]: https://discord.com/channels/283769550611152897/332961165829210117
[nds-modding-discussion]: https://discord.com/channels/283769550611152897/547986366357700620
[nds-retail-research]: https://discord.com/channels/283769550611152897/356988919738400768
[other-nds-homebrew]: https://discord.com/channels/283769550611152897/536968881500061712
[offtopic]: https://discord.com/channels/283769550611152897/286686210225864725
[nds-gaming]: https://discord.com/channels/283769550611152897/668680785154408448
[end-of-server]: https://discord.com/channels/283769550611152897/283770736215195648

View File

@ -0,0 +1,132 @@
---
lang: en-US
layout: wiki
section: community
category: discord
title: DS⁽ⁱ⁾ Mode Hacking Rules
description: The rules for the DS⁽ⁱ⁾ Mode Hacking Discord server
---
### Do NOT impersonate, trash talk or otherwise act disrespectful to others and their beliefs.
- This applies especially to those offering their time for the community. (such as helpers or developers)
- We will NOT tolerate insensitivity, regardless of whether the member is in the community or not.
- Respect user privacy; Avoid attempts to communicate with users who aren't comfortable doing so or sharing information about them that they don't want shared.
- Do NOT backseat moderate or try to "help" when a moderator is dealing with a situation. You hold no authority, so leave actual rule handling to staff.
- Reminders are fine, as long as you don't try to enforce them.
- When knowing who created a piece of art, credit those content creators.
### Do NOT bring the chat quality down.
Examples include:
- Asking to be spoon-fed information or spoon-feeding others
- Asking for release dates for projects; It's ready when it's ready
- Asking to ask; by asking to ask, you just asked
- Requesting information that is either obvious or you could find with a little bit of research on your end (such as googling for links instead of asking for them to be handed to you)
- Important information will be held over at [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283).
- Check the channel topic & pinned messages; it most likely contains what you are looking for.
- Intentionally elongating your message (for example: sending few words per message leaving it into a "popcorn" situation)
- Repeating messages, whether it is repeated in the same channel or in multiple channels.
- If you're unsure where to post your message, post it in the one that makes the most sense.
- If you're still unsure, ask in [#community-meta](https://discord.com/channels/283769550611152897/715651368391671919).
- Posting for the sake of posting rather than to bring actual conversations (such as complaining that the chat is dead, only sending out greetings, copypastas, etc)
- Sending extremely long messages. Use [mystbin](https://mystb.in/) for longer messages instead.
### Do NOT randomly send Discord server invite links with no context & without explicit staff permission
- Giving links to other discord servers on request is allowed, but please ask a moderator in Direct Messages before advertising a server without prior context
- DM advertisements aren't allowed, both by the Discord Terms of Service and our server rules. Mass-DM advertisement (with proof) will land you a ban
- Breaking this rule will result in your message containing the advertisement being deleted
- Joining for the purpose of advertising your discord server will land you a ban.
### Keep conversations within their respective channels.
- Even if they are related, sometimes another channel would be more suitable.
- Sometimes, even an entirely different server is preferable. We don't have the answers to everything.
- Different related servers are linked to in [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283)
### You may not have an alternative account on this server
- One account per person at a time (except when approved by a staff member). Be sure to leave this server on your other account before joining with a new one.
- Punishments apply to the person, not the account. Any subsequent accounts made for the purposes of punishment evasion will result in both accounts being banned.
### Do NOT recommend video guides.
- Video guides aren't maintained very well (which leads to the videos being outdated and unreliable in the long term) and negligent for the sake of "user accessibility".
- We have a list of guides in [#useful-resources](https://discord.com/channels/283769550611152897/638041441079263283) you could use instead.
### 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.
- Avoid purposely putting characters in the beginning of the name to change your spot in the member list. You'll get those characters removed.
### Please be courteous when using Direct Messages
- Things that happen in Direct Messages **are** the business of the server since unless the two share another server or they are friends, they wouldn't be able to reach each other.
- Examples include DM advertising, purposely redirecting users to DMs from normal chat (such as support) to break rules or harassment.
- There needs to be evidence of doing so, such as other people reporting it too, implications on the server or anything of the sort. However, when you do your report, cover any links. Do not give the DM advertiser more popularity than they already got by Direct Messaging everyone.
- Even if your actions aren't malicious, sometimes they could be disturbing.
- Please ask before sending a Direct Message to others and respect those not wanting to communicate.
### Keep piracy discussion to a minimum
- Do not link to piracy websites, upload pirated content, or encourage others to pirate
- For more information on what is piracy or not, we suggest reading this: https://3ds.eiphax.tech/piracy.html (Disclaimer: We are not lawyers)
### No Adult Content
- Do not post pornography, gore, drugs (unless the topic is about medication) or anything that is not safe for work
- Any account with a disturbing avatar will get kicked. If you rejoin and still have the avatar, it will receive a ban
- At the same time, be mature. Members are allowed to cuss and you should be accustomed to that. Just don't throw around cuss words every two seconds; it isn't cool
- Despite Adult content being banned, users are still required to be thirteen and over in order to participate on this Discord Server
## Controversial content.
### Topics that you should minimize
Please keep these topics in [#offtopic](https://discord.com/channels/283769550611152897/718307887578873856) and keep an open mind when discussing them:
- Political Debates
- Religion
- Spoilers
- Malware
- Content intended to shock or scare
Make sure to put spoilers, malware and content intended to shock or scare in spoiler tags and properly warn the user outside of said spoiler tags.
### Banned Content
- External Drama
- Server Raids
- Adult content (read above)
## 🏓 Notifications/Pings/DMs
- @Lightning will send you a DM if you receive a warning. No need to assume you're in trouble if you got a ping
- Don't ping a user if it's obvious that they're already there. (Using Discord's quote function is not an excuse. Please remove the ping before sending the message)
- Don't repeatedly ping a person to try and get their attention.
- When a mention attack occurs, do not ping a staff member; its redundant since they are already getting pings from the attack. Also, it confuses the staff on which member to ban.
- If you get pinged, don't send messages like "why ping" or spam emotes on the message. Check who pinged and reply.
- If you have a problem with getting pinged, either set up your discord so you don't get ping notifications, deal with it or leave.
- If you can't find the message with the ping, alert a staff member. We will warn those who ping then instantly delete their messages.
- Ping only when you want to bring attention to something to someone. Don't ping as a reference.
## Consequences
**The consequences of breaking these rules are either warnings, mutes, kicks or bans.** Of course, it depends on a case by case scenario.
- Joining and immediately breaking the rules will lead your account to getting a mute
- Joining for the purpose of rule breaking will get you banned.
- Trying to evade, look for loopholes, or stay borderline within the rules will be treated as breaking them.
If you don't understand any of the rules, feel free to ask.
Last update: August 19th, 2020

View File

@ -0,0 +1,13 @@
---
lang: en-US
layout: wiki
section: community
title: Home
description: Coming Soon™
---
You can find information about our community here, such as the rules for our Discord server. We have the following places:
- Discord: [DS<sup>(i)</sup> Mode Hacking](https://ds-homebrew.com/discord)
- Reddit: [r/NDSBrew](https://reddit.com/r/NDSBrew)
- GitHub: [DS-Homebrew](https://github.com/DS-Homebrew)
- Website: [ds-homebrew.com](https://ds-homebrew.com)

View File

@ -74,7 +74,7 @@ PC:
- Un SO de 64 bits
- [Forwarder3-DS](https://www.dropbox.com/s/b9de5ii6vm3dxfn/Forwarder3DS-v2.9.6.zip?dl=0)
- Java 8 Update 251
- **Usuarios de Linux:** JavaFX
- **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`.
### Parte 1: Preparación
{% capture tab-sd-card %}

View File

@ -29,8 +29,6 @@ Los rangos que provocan el desbordamiento están determinados por pares de a dos
El crash no ocurrirá nunca si el Menú del Sistema se lanza desde un chip NAND (ya que llega a los 128 MB), pero un sistema de redirección (como hiyaCFW) puede hacer que salte. Afortunadamente, este fallo se puede arreglar fácilmente colocando archivos dummy para que el contador vuelva a un número positivo. hiyaCFW hará esto por ti en la última versión.
-----
En la versión 1.4.0, las firmas RSA de la Lista Blanca de Cartuchos de DS no están verificadas. Hay un exploit que involucra una invulnerabilidad en la lista blanca de flashcard de Nintendo DSi que permiten tomar el control del procesador ARM9. Se necesita la versión 1.4.0 (ha sido parcheado en versiones posteriores y no existía en versiones anteriores) y una flashcard con una ROM modificada.
### Acceso y bloqueo del Slot-1 de Nintendo DSi
@ -49,3 +47,6 @@ Se utiliza un archivo `pit.bin` para cargar imágenes. Sin embargo, el tamaño d
### Bootstage 2 de Nintendo DSi
En el segundo bootstage de la Nintendo DSi se carga en memoria el "title.tmd" del lanzador. Sin embargo, no se comprueba el tamaño del archivo, lo que significa que los primeros 80k bytes se cargan en la RAM mientras que el resto puede ser un payload propio. Esta es la base del exploit de Unlaunch.
### 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/).

View File

@ -74,22 +74,22 @@ Primero tienes que quitar el footer de NOCASH de la copia de seguridad que está
1. Busca dónde está montada la tarjeta SD
- Linux:
1. Extrae el adaptador de tarjetas SD
1. Ejecuta `lbslk` en un terminal
1. Run `lbslk` in a terminal
1. Conecta el adaptador de tarjetas SD
1. Ejecuta `lbslk` de nuevo
1. Esta vez debería aparecer un nuevo dispositivo
- Debería llamarse `/dev/sdb`, anota el nombre que tiene en *tu* terminal
- It may be called `/dev/sdb`, make sure you note down what it is called on *your* computer
- macOS:
1. Extrae el adaptador de tarjetas SD
1. Ejecuta `df` en un terminal
1. Run `df` in a terminal
1. Conecta el adaptador de tarjetas SD
1. Ejecuta `df` de nuevo
1. Debería aparecer un nuevo dispositivo
- Debería llamarse `/dev/disk1s1`, anota el nombre que tiene en *tu* terminal
- It may be called `/dev/disk1s1`, make sure you note down what it is called on *your* computer
1. Vuelca la NAND
- Ejecuta los siguientes comandos en un terminal:
- Run the following command in a terminal:
- `cat {device-name} > nand0.bin`
- Reemplaza `{device-name}` con la ubicación de montaje de la SD
- P. ej. `cat /dev/sdb > nand0.bin`

View File

@ -11,9 +11,9 @@ description: Acerca del homebrew en la Nintendo DS
A la hora de desarrollar homebrew para Nintendo DS, normalmente se usan las herramientas de devkitPro, como devkitARM, libnds y libfat. Sin embargo, se puede usar software alternativo:
- **Librerías de tarjetas SD:** DevkitPro recomienda libfat. Nosotros recomendamos usar libslim, ya que permite el uso de diversas particiones, mayor velocidad y evitar bloqueos
- **Librería gráfica:** Recomendamos usar easyGL2D, que viene integrado en libnds. También puedes usar NightFox Lib
- **Cadenas de trabajo completas:** Recomendamos usar devkitARM y libnds, ya que tiene compatibilidad con DSi y un ecosistema más amplio. Sin embargo, si tu objetivo son solo flashcards para Nintendo DS, siéntete libre de usar 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
- **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)
### Flashcards

View File

@ -8,34 +8,32 @@ description: Acerca de los juegos de DS comerciales
---
### Anti-Piratería
AP (abreviatura de anti-piratería) es un método usado por los desarrolladores para forzar la compra de los juegos y evitar la piratería. Estos sistemas pueden saltarse a través del cargador (loader) o la propia ROM.
- Respecto a nds-bootstrap, puedes cargar un archivo `.IPS` para saltarse dichos parches. Este archivo `.IPS` se parchea dentro de nds-bootstrap y mantiene los archivos de la ROM intactos. Hay un pack con los archivos `.IPS` que se incluyen automáticamente con TWiLight Menu++.
- 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++.
- Respecto a Wood R4, estos parches están incluidos en el propio software. No tendrás que modificar la ROM.
Si no hay un archivo `.IPS`para tu ROM o el software no la ha parcheado, puedes modificar la ROM directamente usando [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/)
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
Cloneboot is when a game sends it's own loaded ARM7 and ARM9 binaries to another console. It is used by DS Download Play for single-card multiplayer. Though, not all games that have single-card multiplayer uses cloneboot.
Cloneboot es cuando un juego envía su propio binario arm9/arm7 cargado a otra consola. Se usa en la Descarga DS, para multijugadores con una sola tarjeta. Eso sí, no todos los juegos que tienen multijugador con una sola tarjeta lo usan.
Currently, nds-bootstrap's cloneboot patches is broken due to the ARM7 and ARM9 binaries being patched, which makes the RSA signatures invalid.
Actualmente, los parches cloneboot de nds-bootstrap no funcionan debido a que los binarios arm9/7 están parcheados, lo que hace que sus firmas RSA sean inválidas.
### Instrucciones THUMB
En vez de instrucciones de 32-bit como las de ARM, THUMB usa instrucciones de 16-bit. Es útil cuando el ancho de banda de la memoria es un cuello de botella.
### Archivos de guardado
Se conocen 4 tipos de archivos de guardado para los cartuchos de Nintendo DS:
### 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
Aunque es algo raro, hay cartuchos de DS con guardados basados en la NAND: WarioWare DIY y Jam with the Band (USA)/Daigasso Band Brothers
Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers
El formato depende del loader, pero nds-bootstrap usa el formato `.sav` en crudo. Si usas un formato distinto, en esta página web puedes convertirlos: http://www.shunyweb.info/convert.php
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).
### Lectura Card DMA
Card DMA (Direct Memory Access) es una forma más eficiente de leer los datos del cartucho que por software. Cuando no hay datos disponibles, se puede seguir ejecutando código. Cuando se lee por software, se pierde tiempo comprobando el registro para ver si hay nuevos datos. Es la forma preferida para acceder a los datos.
@ -43,19 +41,14 @@ Card DMA (Direct Memory Access) es una forma más eficiente de leer los datos de
Puedes encontrar un juego que usa dma con no$gba habilitando "DMA log on ARM9". Un acceso DMA a la tarjeta usa AF000001 como tercer parámetro.
- Por ejemplo: `DMA2: 04100010 023C18C0 AF000001`
### ROM donante
### 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.
En versiones anteriores de nds-bootstrap, se necesitaba una ROM de Mario Kart DS para que los juegos SDK3-4 funcionaran o guardaran. La ROM hacía las veces de ROM donante. nds-bootstrap coge el binario del arm7 del donante, reemplazando al de la ROM original, para hacer que los parches de guardado funcionen, y como resultado había efectos colaterales. En versiones posteriores de nds-bootstrap se necesita una ROM donante para que ciertos THUMB o juegos SDK5 arranquen, además de poder guardar.
### Trucos de Action Replay
Los trucos de Action Replay son códigos que permiten hacer cambios en la programación a bajo nivel en la región de memoria de tus juegos favoritos. Estos cambios van desde simples cambios en los números hasta ajustes en ASM muy avanzados, los cuales pueden cambiar la experiencia de juego por completo.
Las flashcards pueden utilizar estos códigos usando bases de datos de trucos. Esta función está integrada en el kernel de la flashcard respectivamente. Los siguientes kernels pueden usar trucos:
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`)
El homebrew y aplicaciones digitales también pueden aprovechar estas bases de datos, el software actual puede usar las siguientes:
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 permite usar trucos en cartuchos oficiales a través de una flashcard. El motor carga la base de datos entera en la RAM de la Nintendo DS y trabaja desde ahí. Esto supone un límite bastante grande en la cantidad de trucos que puedes tener, ya que NitroHax no cargará más del archivo a partir de los 2.4 MB
- [NitroHax3DS](https://github.com/ahezard/NitroHax3DS/releases) ([fork usrcheat.dat](https://github.com/Epicpkmn11/NitroHax3DS/releases)) (`cheats.xml` o `usrcheat.dat`)
@ -65,10 +58,8 @@ El homebrew y aplicaciones digitales también pueden aprovechar estas bases de d
- El motor usado por nds-bootstrap está basado en el de NitroHax. Sin embargo, debido a que el archivo solo contiene los trucos activados para ese juego en concreto, hay un límite de trucos que se pueden activar, no del tamaño de la base de datos
- Bootstrap 4 DS (la versión de nds-bootstrap que se usa en flashcards) no tiene soporte para trucos, debido a no tener suficiente RAM y las limitaciones del Memory Expansion Pack
Para tener la base de datos más completa recomendamos usar la de DeadSkullzJr, titulada [DeadSkullzJr's Cheat Database](https://gbatemp.net/threads/deadskullzjrs-nds-cheat-databases.488711).
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).
Los códigos suelen tener tipos de la A a la E, aquí tienes una descripción de los mismos:
Cheat codes generally have types A through E, and here is a description of them:
- El código de tipo 0xE es un código de 32-bit que permite hacer múltiples escrituras en varias direcciones consecutivas a la vez. En esencia es como el tipo de escritura de RAM de 32-bit básico (0x0), excepto que este no tiene direcciones delante de los valores que quieres escribir. En este caso, el tipo 0xE está programado para que parta automáticamente de una dirección y determine en cuales tiene que escribir. A partir de ahí, solo tienes que ajustar en cuántas quieres escribir para que haga su trabajo.
Créditos: (`DeadSkullzJr`)

View File

@ -8,17 +8,16 @@ description: Cómo usar el Wi-Fi de la Nintendo DS
---
- En aplicaciones de Nintendo DS, solo puedes usar Wifis abiertos o con claves WEP
- En las aplicaciones mejoradas/exclusivas de Nintendo DSi, también hay soporte para WPA2
- On Nintendo DSi enhanced/exclusive applications, you have the addition of WPA and WPA2 support
Se pueden usar puntos de acceso (hotspots), así no tendrás que cambiar los ajustes de tu router.
### Crear un punto de acceso
### Creating a Hotspot
Hay varias guías para crear puntos de acceso compatibles para un juego de DS con macOS y Linux en GBAtemp. Si estás en Windows puedes lanzar Linux con un Live CD/USB.
- [macOS](https://gbatemp.net/threads/571658)
- [Linux](https://gbatemp.net/threads/543283)
### Restaurar CWF de Nintendo DS
1. Ve a la configuración del CWF de Nintendo
1. Conéctate a tu punto de acceso
1. Pon uno de los valores listados abajo como DNS primario, dependiendo del servicio que quieras usar:
@ -28,3 +27,22 @@ Hay varias guías para crear puntos de acceso compatibles para un juego de DS co
- **Twilit WFC** - `34.66.49.81`
1. Pon `1.1.1.1` como DNS secundario
1. Quizá necesites parchear tu juego con NoSSL, dependiendo de cuál sea
### 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
1. Download [WFCPatcher](https://github.com/AdmiralCurtiss/WfcPatcher/releases)
1. Copy the ROM of the game you want to patch to the same folder where WFCPatcher is saved and open that folder
1. Create a text file with the name `patch.bat`
1. In the file, enter `wfcpatcher.exe %1 --domain wiimmfi.de` then save and close (you can replace wiimmfi.de with another URL, if you wish to use a different server)
1. Now drag all the roms you wish to patch on to patch.bat
1. Done! the patched roms will be the ones ending in (wiimmfi)
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.
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).

View File

@ -0,0 +1,21 @@
---
lang: en-US
layout: wiki
section: gbarunner2
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.
### 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/)
After dumping the BIOS, it must be renamed as `bios.bin` and then should be placed in `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

View File

@ -0,0 +1,25 @@
---
lang: en-US
layout: wiki
section: gbarunner2
title: FAQ & Troubleshooting
description: FAQs and troubleshooting for GBARunner2
---
#### How do I create and add custom borders?
You can read and follow [this guide](https://docs.google.com/document/d/1owjiW-1fHEbokrkK2ZuPFjR2-N9s1dXCCAM3ghWRtxk/edit?usp=sharing) by FrescoASF.
#### Are cheats supported?
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++?
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?
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).

View File

@ -0,0 +1,13 @@
---
lang: en-US
layout: wiki
section: gbarunner2
title: Home
description: Coming Soon™
---
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)

View File

@ -0,0 +1,50 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
category: other
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?
- 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 youre trying to launch 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/`
#### Why are there issues with ROM loading, even though they're run natively?
nds-bootstrap patches the ROM functions to run from an SD card, as the ROMs are hardcoded to read from Slot-1. There are also timing issues and AP measures (which most are already removed), both of which would cause the ROMs to not work properly. To improve performance, nds-bootstrap also shrinks the game's heap in memory, which breaks some games, though both the forwarders and TWiLight Menu++ have a heap shrink blacklist to fix the non-working games broken by heap shrink.
#### Why use nds-bootstrap over a regular flashcard?
- 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
- 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
- The DS Memory Expansion Pak is emulated meaning games that require that accessory will work
#### Donor ROMs
Most SDK5 games can be selected as a Donor ROM (which can be done via TWiLight Menu++). The Donor ROM's ARM7 binary is copied by nds-bootstrap and replaces the ARM7 binary for the game that it is trying to run. This allows certain and SDK5 games to boot and save.
#### 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).
#### 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> 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
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)
If the server says it's an nds-bootstrap issue, check if the game hasn't been reported already on GitHub. Check the closed issues too in case we had one issue closed in preference a different one. If it doesn't have any GitHub issue attached to it, go ahead and make a new one.
Also, make sure you add it to the [compatibility list](https://wiki.ds-homebrew.com/nds-bootstrap/testing) on Google Sheets.

View File

@ -0,0 +1,11 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
title: Home
description: nds-bootstrap wiki
---
# 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.

View File

@ -0,0 +1,17 @@
---
lang: en-US
layout: wiki
section: nds-bootstrap
category: other
title: Compatibility List & Testing Tips
description: Compatibility List & Testing Tips
---
### Compatibility List
To view tested games, look [here](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/). If you want to contribute, press `view only` and then `request edit access`.
### Tips For Testing Games
- Look for screen flickering or sound issues
- If something looks off, run the game along a console not using nds-bootstrap to compare
- Try as many features in the game as possible
- Be thorough

View File

@ -0,0 +1,17 @@
---
lang: en-US
layout: wiki
section: other
title: GodMode9i
description: Info for 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.
### FAQ & Troubleshooting
#### How do I get past the "mounting drive(s)" screen while starting it up?
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/]

View File

@ -0,0 +1,24 @@
---
lang: en-US
layout: wiki
section: other
title: hiyaCFW
description: Info for hiyaCFW
---
Information for [hiyaCFW](https://github.com/RocketRobz/hiyaCFW), the world's first CFW for DSi.
### 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
- 16-bit (RGBA 1555, RGB 1555, or RGB 565)
- 256 x 192 or smaller
#### 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
- 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
- Local color tables are supported, but will replace the whole palette, including residual image from previous frames, so images using them will likely have palette problems

View File

@ -0,0 +1,9 @@
---
lang: en-US
layout: wiki
section: other
title: Home
description: Coming Soon™
---
This section has information on other DS-Homebrew projects that aren't big enough to need a full section of the wiki.

View File

@ -22,4 +22,4 @@ Cópialo en `sd:/_nds/`, y cámbiale el nombre a `dlplay.nds`.
Los pasos anteriores aumentarán la velocidad de arranque de DLP.
Para usar Pictochat en 3DS (se necesita una DSi):
- Copia `pictochat.nds` desde `sd:/_nds/` en la SD de la DSi a la SD de la 3DS, también en `sd:/_nds/` Primero debes acceder al Menú Clásico DS de TWiLight Menu++ en la DSi.
- Copy `pictochat.nds` from `sd:/_nds/` on the DSi's SD card to the same location on the 3DS' SD card You must first access the DS Classic Menu in TWiLight Menu++ on the DSi.

View File

@ -10,88 +10,91 @@ description: Preguntas frecuentes y soluciones para TWiLight Menu++
Si tienes más preguntas, visita el [hilo de GBAtemp](https://gbatemp.net/threads/ds-i-3ds-twilight-menu-gui-for-ds-i-games-and-ds-i-menu-replacement.472200/).
{:.alert .alert-info}
#### P: ¿Por qué mi 3DS / 2DS se bloquea en pantallas negras, crasheos, apagados, etc cuando lanzo TWiLight Menu++?
R: Puede que TWL_FIRM esté corrompido. Sigue esta guía para solucionarlo: <https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide>
#### Why does my 3DS / 2DS get stuck on black screens, crash, power off, etc when launching TWiLight Menu++?
TWL_FIRM might've somehow got corrupted. Sigue esta guía para solucionarlo: <https://3ds.hacks.guide/troubleshooting#dsi--ds-functionality-is-broken-after-completing-the-guide>
#### P: ¿Qué puedo hacer para arreglar el pantallazo blanco al abrir TWiLight Menu++?
R:
#### How do I fix getting a white screen when booting TWiLight Menu++?
- Prueba a poner la consola en modo reposo (cerrando la tapa o presionando el botón de sueño en la O2DS) y a despertarla
- Si no funciona, formatea tu SD en FAT32 con 32KB de cluster/asignación
- Si aún no funciona, prueba con otra SD
#### P: ¿Por qué me salta un pantallazo blanco cuando intento cargar un juego de la tarjeta SD?
R:
#### 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?
- Comprueba [la lista de compatibilidad de nds-bootstrap](https://docs.google.com/spreadsheets/d/1LRTkXOUXraTMjg1eedz_f7b5jiuyMv2x6e_jY_nyHSc/htmlview#gid=0) y asegúrate de que el juego es compatible
- Prueba a quitar todos los trucos para ese juego, ya que pueden no ser aún compatibles con nds-bootstrap, puedes usar <kbd class="l">L</kbd> para desactivar todos los de un juego
- Si se trata de un juego DSi Enhanced, asegúrate de que TWiLight Menu++ esta puesto en `DS Mode`
- Si antes funcionaba, borra las carpetas `fatTable` y `patchOffsetCache` en `sd:/_nds/nds-bootstrap/`
#### P: ¿Cómo puedo usar trucos?
R: Necesitas una base de datos de trucos en un archivo `usrcheat.dat` dentro de la carpeta `sd:/_nds/TWiLightMenu/extras/`. La más actualizada es la de[DeadSkullzJr](https://gbatemp.net/threads/deadskullzjrs-flashcart-cheat-databases.488711/). Otra opción es crear la tuya propia usando [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html).
#### How do I use cheats?
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.
#### P: ¿Cómo puedo poner una imagen personalizada en la pantalla superior del tema DSi?
R: Una imagen `.png` aleatoria de `sd:/_nds/TWiLightMenu/dsimenu/photos/` se verá cada vez que se cargue el menú.
#### How do I show a custom picture on the top screen of the DSi theme?
A random `.png` image in `sd:/_nds/TWiLightMenu/dsimenu/photos/` will be shown each time the menu is loaded.
- Las imágenes no deben superar los 208x156 de resolución
- Si salta algún error, probablemente sea por el tamaño de la imagen. Puedes usar [tinypng](https://tinypng.com) para reducirlo
#### P: ¿Cómo consigo juegos?
R: Puedes descargar juegos homebrew desde [Universal-DB](https://db.universal-team.net/ds) y [GameBrew](https://www.gamebrew.org/wiki/List_of_DS_homebrew_applications). Si quieres volcar tus propios juegos:
#### How do I get games?
You can download homebrew games from [Universal-DB](https://db.universal-team.net/ds) and [GameBrew](https://www.gamebrew.org/wiki/List_of_DS_homebrew_applications). To get dumps of your retail games:
- DS: Puedes usar [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) para volcar tus juegos de GBA y de DS (estos últimos sólo si tienes una flashcard para el Slot-2
- DSi: Puedes usar [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) para volcar tus juegos de DS y DSiWare
- 3DS: Puedes usar [GodMode9](https://github.com/d0k3/GodMode9/releases) para volcar tus juegos de DS, DSiWare y títulos de la Virtual Console
#### P: ¿Puedo transferir las partidas guardadas de mis cartuchos a la SD o viceversa?
R: Sí, puedes usar [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) en la DSi y 3DS o [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases) en la 3DS.
#### Can I get the save files from my game cards onto my SD card or vice versa?
Yes, you can use [GodMode9i](https://github.com/DS-Homebrew/GodMode9i/releases) on DSi and 3DS or [Checkpoint](https://github.com/FlagBrew/Checkpoint/releases) on 3DS.
#### P: ¿Cómo cambio el idioma de TWiLight Menu++?
R:
#### How do I change TWiLight Menu++'s language?
1. Abre los ajustes de TWiLight Menu++ manteniendo <kbd>SELECT</kbd> mientras se está abriendo
1. Pulsa <kbd class="l">L</kbd> o <kbd class="face">Y</kbd> una vez (flashcards / 3DS) o dos (DSi)
1. Cambia la primera opción hasta que veas el idioma que quieres, después sal de los ajustes
- Quizá quieras cambiar las siguientes dos opciones, ya que controlan el idioma dentro de los juegos y sus títulos en TWiLight Menu++
#### P: ¿Qué sistemas soporta TWiLight Menu++?
#### Is this a DS(i) emulator?
No, this is not an emulator. The menu and DS games (loaded via nds-bootstrap) are ran natively in the console's DS/DSi mode. The only consoles emulated are the past consoles, but partially for GBA (as some or all parts like graphics are ran natively).
R:
#### What systems does TWiLight Menu++ support?
| Formato | Cargador | Extensiones | Archivo de guardado |
| ------------------------- | ------------------------------------------------------ | -------------------------------------- | -------------------------------------- |
| ARGV[^1] | Nativo | `.argv` | |
| Atari 2600 | [StellaDS][stellads] | `.a26` | |
| Atari 5200 | [A5200DS][a5200ds] | `.a52` | |
| Atari 7800 | [A7800DS][a7800ds] | `.a78` | |
| DS | [nds-bootstrap][ndsbs], kernel de la flashcard, nativo | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `saves/[nombre rom].sav`[^2] |
| DSiWare | [Unlaunch][unlaunch] | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `[nombre rom].pub`, `[nombre rom].prv` |
| Plugin DSTWO | [DSTWO][dstwo][^3] | `.plg` | |
| Game Boy (Color) | [GameYob][gameyob] | `.gb`, `.sgb`, `.gbc` | `[nombre rom].sav` |
| Game Boy Advance | [GBARunner2][gbarunner2], nativo[^4] | `.agb`, `.gba`, `.mb` | `[nombre rom].sav` |
| Game Gear | [S8DS][s8ds] | `.gg` | `[nombre rom].gg.sav` |
| Genesis / Mega Drive | [jEnesisDS][jenesis], [PicoDriveTWL][pdtwl] | `.gen` | `[nombre rom].srm`[^5] |
| Master System | [S8DS][s8ds] | `.sms` | `[nombre rom].sms.sav` |
| Video MPEG4 | [Reproductor MPEG4][mpeg4player] | `.mp4` | |
| NES / Famicom | [nesDS][nesds] | `.nes`, `.fds` | `[nombre rom].sav` |
| PC Engine / TurboGrafx-16 | [NitroGrafx][nitrografx] | `.pce` | |
| Vídeo RVID | [Rocket Video Player][rvidplayer] | `.rvid` | |
| SNES[^6] | [SNEmulDS][snemulds] | `.smc`, `.sfc` | `[nombre rom].srm`[^7] |
| Format | Loader | Extensions | Save file |
| ------------------------- | ------------------------------------------------ | -------------------------------------- | ---------------------------------- |
| ARGV[^1] | Native | `.argv` | |
| Atari 2600 | [StellaDS][stellads] | `.a26` | |
| Atari 5200 | [A5200DS][a5200ds] | `.a52` | |
| Atari 7800 | [A7800DS][a7800ds] | `.a78` | |
| Atari XEGS | [XEGS-DS][xegs-ds] | `.xex`, `.atr` | |
| DS | [nds-bootstrap][ndsbs], flashcard kernel, native | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `saves/[rom name].sav`[^2] |
| DSiWare | [Unlaunch][unlaunch] | `.nds`, `.dsi`, `.ids`, `.srl`, `.app` | `[rom name].pub`, `[rom name].prv` |
| DSTWO Plugin | [DSTWO][dstwo][^3] | `.plg` | |
| Game Boy (Color) | [GameYob][gameyob] | `.gb`, `.sgb`, `.gbc` | `[rom name].sav` |
| Game Boy Advance | [GBARunner2][gbarunner2][^4], native[^5] | `.agb`, `.gba`, `.mb` | `[rom name].sav` |
| Game Gear | [S8DS][s8ds] | `.gg` | `[rom name].gg.sav` |
| Genesis / Mega Drive | [jEnesisDS][jenesis], [PicoDriveTWL][pdtwl] | `.gen` | `[rom name].srm`[^6] |
| Master System | [S8DS][s8ds] | `.sms` | `[rom name].sms.sav` |
| MPEG4 Video | [MPEG4 Player][mpeg4player] | `.mp4` | |
| NES / Famicom | [nesDS][nesds] | `.nes`, `.fds` | `[rom name].sav` |
| PC Engine / TurboGrafx-16 | [NitroGrafx][nitrografx] | `.pce` | |
| RVID Video | [Rocket Video Player][rvidplayer] | `.rvid` | |
| SNES[^7] | [SNEmulDS][snemulds] | `.smc`, `.sfc` | `[rom name].srm`[^8] |
{:.table}
- Footnotes -
{:footnotes}
#### P: ¿Por qué no funciona la pantalla táctil con sudokuhax?
R: La pantalla táctil a veces no funciona, dependiendo del archivo de guardado de sudokuhax.
#### Why isn't touch input working on sudokuhax?
Depending on the save file of sudokuhax, the touch screen inputs may not work.
#### P: ¿The Biggest Loser es capaz de lanzar TWiLight Menu++?
R: No. The Biggest Loser es un juego de Slot-1 y no DSiWare, y el acceso a la SD está desactivado al usar cartuchos en el Slot-1.
#### Can The Biggest Loser boot TWiLight Menu++?
No. As The Biggest Loser is a Slot-1 game, and not a DSiWare game, SD access is disabled when running Slot-1 cards.
[^1]: Archivos de textos que contienen la ruta a una app homebrew y sus parámetros de lanzamiento, lee el [README de nds-hb-menu](https://github.com/devkitPro/nds-hb-menu#passing-arguments) para más información
[^2]: Solo para ROMs comerciales, las apps homebrew no tienen un archivo de guardado específico
[^3]: Solo funciona para la flashcard SuperCard DSTWO ya que tiene potencia de procesamiento y RAM adicionales dentro del cartucho
[^4]: Se necesita una flashcard en el Slot-2 flashcard y por ello solo funciona en las DS Phat y DS Lite
[^5]: jEnesis solo puede guardar si se lanza desde una flashcard, pero PicoDriveTWL puede guardar tanto en una SD como en una flashcard
[^6]: Solo aparece cuando se está usando una flashcard o está instalado Unlaunch
[^7]: Solo puede guardar si se lanza desde una flashcard
[^4]: When running in DSi Mode, it can use the DSP for better sound
[^5]: Requires a Slot-2 flashcard and thus only works on DS Phat and DS Lite
[^6]: jEnesis can only save when running from a flashcard, but PicoDriveTWL can save from SD and flashcard
[^7]: Only shown when using a flashcard, 3DS's internal SD card, or DSi with Unlaunch installed
[^8]: Can only save when running from a flashcard
[a5200ds]: https://github.com/wavemotion-dave/A5200DS
[a7800ds]: https://github.com/wavemotion-dave/A7800DS
@ -109,3 +112,4 @@ R: No. The Biggest Loser es un juego de Slot-1 y no DSiWare, y el acceso a la SD
[snemulds]: https://www.gamebrew.org/wiki/SNEmulDS
[stellads]: https://github.com/wavemotion-dave/StellaDS
[unlaunch]: https://problemkaputt.de/unlaunch.htm
[xegs-ds]: https://github.com/wavemotion-dave/XEGS-DS

Some files were not shown because too many files have changed in this diff Show More