mirror of
https://github.com/rvtr/wiki.git
synced 2025-06-19 03:25:40 -04:00
Update translations
Also remove Danish, German, Russian, and Chinese (Simplified) pages as none of them even have a single page that's 100% translated
This commit is contained in:
parent
e0a4f98b56
commit
8d9133f413
@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"ds-index": [
|
|
||||||
{
|
|
||||||
"key": "guides",
|
|
||||||
"title": "Vejledninger"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "reference",
|
|
||||||
"title": "Reference"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"twilightmenu": [
|
|
||||||
{
|
|
||||||
"key": "installing",
|
|
||||||
"title": "Installation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "updating",
|
|
||||||
"title": "Opdatering"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "customization",
|
|
||||||
"title": "Tilpasning"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "Andet"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "uninstalling",
|
|
||||||
"title": "Afinstallation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "indexes",
|
|
||||||
"title": "Indexes"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nds-bootstrap": [
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "Andet"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"gbarunner2": [],
|
|
||||||
"other": [],
|
|
||||||
"community": [
|
|
||||||
{
|
|
||||||
"key": "discord",
|
|
||||||
"title": "Discord"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"title": "Hjem",
|
|
||||||
"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": "DS Indeks",
|
|
||||||
"url": "/ds-index"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Community Info",
|
|
||||||
"url": "/community"
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"by": "Af: $1",
|
|
||||||
"close": "Luk",
|
|
||||||
"description": "Wikis til DS-Homebrew projekter",
|
|
||||||
"discord-server": "Discord server (kun engelsk)",
|
|
||||||
"need-help": "Brug for hjælp? Join vores Discord server: <a href=\"https://ds-homebrew.com/discord\">DS⁽ⁱ⁾ Mode Hacking!</a> (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": "Vis/Skjul navigation",
|
|
||||||
"translate-here": "Oversæt her",
|
|
||||||
"translate-on-crowdin": "Oversæt på Crowdin"
|
|
||||||
}
|
|
@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"ds-index": [
|
|
||||||
{
|
|
||||||
"key": "guides",
|
|
||||||
"title": "Guides"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "reference",
|
|
||||||
"title": "Reference"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"twilightmenu": [
|
|
||||||
{
|
|
||||||
"key": "installing",
|
|
||||||
"title": "Installing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "updating",
|
|
||||||
"title": "Updating"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "customization",
|
|
||||||
"title": "Customization"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "Other"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "uninstalling",
|
|
||||||
"title": "Uninstalling"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "indexes",
|
|
||||||
"title": "Indexes"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nds-bootstrap": [
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "Other"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"gbarunner2": [],
|
|
||||||
"other": [],
|
|
||||||
"community": [
|
|
||||||
{
|
|
||||||
"key": "discord",
|
|
||||||
"title": "Discord"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"title": "Startseite",
|
|
||||||
"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": "DS Index",
|
|
||||||
"url": "/ds-index"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Community Info",
|
|
||||||
"url": "/community"
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"by": "Von: $1",
|
|
||||||
"close": "Close",
|
|
||||||
"description": "Wikis für DS-Homebrew Projekte",
|
|
||||||
"discord-server": "Discord Server (nur auf Englisch)",
|
|
||||||
"need-help": "Need help? Join our Discord server: <a href=\"https://ds-homebrew.com/discord\">DS⁽ⁱ⁾ Mode Hacking!</a> (English only)",
|
|
||||||
"published-with": "Veröffentlicht mit <a href=\"https://pages.github.com\">GitHub-Seiten</a>, sehen Sie <a href=\"https://github.com/$1\">die Quelle</a> auf GitHub.",
|
|
||||||
"select-language": "Select language",
|
|
||||||
"source": "Quellcode",
|
|
||||||
"title": "DS-Homebrew Wiki",
|
|
||||||
"toggle-navigation": "Toggle navigation",
|
|
||||||
"translate-here": "Hier übersetzen",
|
|
||||||
"translate-on-crowdin": "[Übersetze auf Crowdin]"
|
|
||||||
}
|
|
@ -32,7 +32,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "indexes",
|
"key": "indexes",
|
||||||
"title": "Indexes"
|
"title": "Indeksy"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"nds-bootstrap": [
|
"nds-bootstrap": [
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"ds-index": [
|
|
||||||
{
|
|
||||||
"key": "guides",
|
|
||||||
"title": "Guides"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "reference",
|
|
||||||
"title": "Reference"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"twilightmenu": [
|
|
||||||
{
|
|
||||||
"key": "installing",
|
|
||||||
"title": "Installing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "updating",
|
|
||||||
"title": "Updating"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "customization",
|
|
||||||
"title": "Customization"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "Other"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "uninstalling",
|
|
||||||
"title": "Uninstalling"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "indexes",
|
|
||||||
"title": "Indexes"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nds-bootstrap": [
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "Other"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"gbarunner2": [],
|
|
||||||
"other": [],
|
|
||||||
"community": [
|
|
||||||
{
|
|
||||||
"key": "discord",
|
|
||||||
"title": "Discord"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"title": "Главная",
|
|
||||||
"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": "Индекс DS",
|
|
||||||
"url": "/ds-index"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Community Info",
|
|
||||||
"url": "/community"
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"by": "От: $1",
|
|
||||||
"close": "Close",
|
|
||||||
"description": "Wikis for DS-Homebrew projects",
|
|
||||||
"discord-server": "Сервер Discord (Только на английском языке)",
|
|
||||||
"need-help": "Need help? Join our Discord server: <a href=\"https://ds-homebrew.com/discord\">DS⁽ⁱ⁾ Mode Hacking!</a> (English only)",
|
|
||||||
"published-with": "Опубликовано с помощью <a href=\"https://pages.github.com\">GitHub страниц</a>. <a href=\"https://github.com/$1\"> Смотреть источник</a> на GitHub.",
|
|
||||||
"select-language": "Select language",
|
|
||||||
"source": "Источники (GitHub)",
|
|
||||||
"title": "DS-Homebrew Wiki",
|
|
||||||
"toggle-navigation": "Toggle navigation",
|
|
||||||
"translate-here": "Перевести здесь",
|
|
||||||
"translate-on-crowdin": "Перевести с помощью Crowdin"
|
|
||||||
}
|
|
@ -1,52 +0,0 @@
|
|||||||
{
|
|
||||||
"ds-index": [
|
|
||||||
{
|
|
||||||
"key": "guides",
|
|
||||||
"title": "指南"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "reference",
|
|
||||||
"title": "引用"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"twilightmenu": [
|
|
||||||
{
|
|
||||||
"key": "installing",
|
|
||||||
"title": "安装"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "updating",
|
|
||||||
"title": "升级"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "customization",
|
|
||||||
"title": "自定义"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "其他"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "uninstalling",
|
|
||||||
"title": "卸载"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "indexes",
|
|
||||||
"title": "索引"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nds-bootstrap": [
|
|
||||||
{
|
|
||||||
"key": "other",
|
|
||||||
"title": "其它"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"gbarunner2": [],
|
|
||||||
"other": [],
|
|
||||||
"community": [
|
|
||||||
{
|
|
||||||
"key": "discord",
|
|
||||||
"title": "Discord"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"title": "主页",
|
|
||||||
"url": "/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "项目",
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"title": "TWiLight Menu++",
|
|
||||||
"url": "/twilightmenu"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "nds-bootstrap",
|
|
||||||
"url": "/nds-bootstrap"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "GBARunner2",
|
|
||||||
"url": "/gbarunner2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "其它项目",
|
|
||||||
"url": "/other"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "DS Index",
|
|
||||||
"url": "/ds-index"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "社区信息",
|
|
||||||
"url": "/community"
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"by": "作者:$1",
|
|
||||||
"close": "关闭",
|
|
||||||
"description": "Wikis for DS-Homebrew projects",
|
|
||||||
"discord-server": "Discord 服务器(仅限英语)",
|
|
||||||
"need-help": "需要帮助?加入我们的Discord服务器: <a href=\"https://ds-homebrew.com/discord\">DS⁽ⁱ⁾ Mode Hacking!</a> (只有英文版)",
|
|
||||||
"published-with": "使用 <a href=\"https://pages.github.com\">GitHub Pages</a> 发布,在 GitHub 上查看 <a href=\"https://github.com/$1\">源码</a> 。",
|
|
||||||
"select-language": "选择语言",
|
|
||||||
"source": "源码",
|
|
||||||
"title": "DS-Homebrew Wiki",
|
|
||||||
"toggle-navigation": "切换导航",
|
|
||||||
"translate-here": "在此翻译",
|
|
||||||
"translate-on-crowdin": "[在 Crowdin 上翻译]"
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
export default { 'pageIsInYourLanguage': 'Denne side er tilgængelig på dansk!' };
|
|
@ -1 +0,0 @@
|
|||||||
export default { 'pageIsInYourLanguage': 'Diese Seite ist in deutscher Sprache verfügbar!' };
|
|
@ -1 +0,0 @@
|
|||||||
export default { 'pageIsInYourLanguage': 'Эта страница доступна на русский языке!' };
|
|
@ -1 +0,0 @@
|
|||||||
export default { 'pageIsInYourLanguage': '当前页面有中文版本!' };
|
|
@ -1,3 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
# Fix the layouts in the in-context files
|
# Fix the layouts in the in-context files
|
||||||
sed -i "" "s/layout: crwdns[0-9][0-9][0-9][0-9][0-9]:0crwdne[0-9][0-9][0-9][0-9][0-9]:0/layout: default/" pages/_ic-IC/*.md
|
sed -i "" "s/layout: crwdns[0-9][0-9][0-9][0-9][0-9]:0crwdne[0-9][0-9][0-9][0-9][0-9]:0/layout: default/" pages/_ic-IC/*.md
|
||||||
for file in pages/_ic-IC/*/*.md; do
|
for file in pages/_ic-IC/*/*.md; do
|
||||||
|
@ -1,103 +0,0 @@
|
|||||||
---
|
|
||||||
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
|
|
@ -1,132 +0,0 @@
|
|||||||
---
|
|
||||||
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; it’s 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
|
|
@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: community
|
|
||||||
title: Home
|
|
||||||
description: Information about the DS-Homebrew community
|
|
||||||
---
|
|
||||||
|
|
||||||
You can find information about our community here, such as the rules for our Discord server. We have the following places:
|
|
||||||
- Discord: [DS⁽ⁱ⁾ 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)
|
|
@ -1,137 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: guides
|
|
||||||
title: DS Game Forwarders (3DS)
|
|
||||||
description: Sådan oprettes CIA forwarders så du kan have dine DS spil på din 3DS's hjemmeskærm
|
|
||||||
tabs:
|
|
||||||
-
|
|
||||||
tab-sd-card: SD card
|
|
||||||
tab-flashcard: Flashcard
|
|
||||||
---
|
|
||||||
|
|
||||||
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}
|
|
||||||
|
|
||||||
### Krav
|
|
||||||
|
|
||||||
3DS:
|
|
||||||
- [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 %}
|
|
||||||
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.
|
|
||||||
|
|
||||||
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`.
|
|
||||||
|
|
||||||
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 < 2 GB microSD card)
|
|
||||||
- [R4 DS](http://www.nds-card.com/ProShow.asp?ProID=141) (Original Non-SDHC version, uses < 2 GB microSD card)
|
|
||||||
- [R4 SDHC Snoopy](http://www.nds-card.com/ProShow.asp?ProID=567)
|
|
||||||
- [R4 SDHC RTS LITE](http://www.nds-card.com/ProShow.asp?ProID=450) ([www.r4isdhc.com](http://www.r4isdhc.com/))
|
|
||||||
- R4 SDHC Upgrade ([www.r4i-sdhc.com](http://www.r4i-sdhc.com/))
|
|
||||||
- [R4i3D](http://www.3ds-cart.com/en/other-flashcarts/35-r4i3d-revolution-cart-for-3ds-dsi-dsl-ds.html) ([www.r4i3d.com](http://www.r4i-sdhc.com/))
|
|
||||||
- [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)) (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 og Plus versioner)
|
|
||||||
|
|
||||||
Ikke testet:
|
|
||||||
- R4i3D NEW (Brug R4iDSN skabelon og pakke)
|
|
||||||
|
|
||||||
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.)
|
|
||||||
|
|
||||||
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 (not the forwarder process) bricks the card)
|
|
||||||
- R4i3D (2012)
|
|
||||||
- R4 Infinity Dual Core
|
|
||||||
- R4 SDHC
|
|
||||||
- R4 SDHC Dual-Core ([www.r4isdhc.com](http://www.r4isdhc.com/)) (YSMenu (ikke forwarder processen) gør kortet ubrugeligt)
|
|
||||||
{% endcapture %}
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Understøttede flashkort</summary>
|
|
||||||
<div class="details-content">
|
|
||||||
{{ flashcards | markdownify }}
|
|
||||||
</div>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
PC:
|
|
||||||
- Et 64 bit OS
|
|
||||||
- [Forwarder3-DS](https://www.dropbox.com/s/b9de5ii6vm3dxfn/Forwarder3DS-v2.9.6.zip?dl=0)
|
|
||||||
- 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
|
|
||||||
{% capture tab-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
|
|
||||||
|
|
||||||
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`: If set to 1, sound will play at 48 kHz, instead of 32 kHz
|
|
||||||
{% endcapture%}
|
|
||||||
{% assign tab-sd-card = tab-sd-card | split: "////////" %}
|
|
||||||
|
|
||||||
{% capture tab-flashcard %}
|
|
||||||
1. Download one of these packs:
|
|
||||||
- [Original R4 / M3 Simply](https://www.dropbox.com/s/juxzri7h8bttunh/DS%20Game%20Forwarder%20pack%20%28Original%20R4%2C%20M3%20Simply%29.7z?dl=0)
|
|
||||||
- [Acekard 2(i) / M3DS Real](https://www.dropbox.com/s/5elogf885sd62hu/DS%20Game%20Forwarder%20pack%20%28M3DS%20Real%29.7z?dl=0)
|
|
||||||
- [DSTT / R4i Gold / R4i-SDHC / R4 SDHC Upgrade / SC DSONE](https://www.dropbox.com/s/xxfmvikwmnvsu63/DS%20Game%20Forwarder%20pack%20%28DSTT%2C%20R4i%20Gold%2C%20R4i-SDHC%2C%20SC%20DSONE%29.7z?dl=0)
|
|
||||||
- [Acekard RPG](https://drive.google.com/file/d/0B2_1xHkEp2_6OHVuZEJwU1BKbEU/view?usp=sharing)
|
|
||||||
- [R4iDSN / R4i Gold RTS / R4i Gold 3DS Plus](https://www.dropbox.com/s/j8nquh073k9y0h7/DS%20Game%20Forwarder%20pack%20%28R4iDSN%2C%20R4i%20Gold%20RTS%29.7z?dl=0)
|
|
||||||
- [Ace 3DS+ / Gateway Blue Card / R4iLS / R4iTT](https://www.dropbox.com/s/fd7dzhn8burcq02/DS%20Game%20Forwarder%20pack%20%28Ace3DS%2C%20GW%20Blue%20Card%2C%20R4iTT%29.7z?dl=0)
|
|
||||||
- [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.
|
|
||||||
|
|
||||||
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.
|
|
||||||
- `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
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-flashcard = tab-flashcard | split: "////////" %}
|
|
||||||
|
|
||||||
{% assign tabs = tab-sd-card | concat: tab-flashcard %}
|
|
||||||
{% include tabs.html index=0 tabs=tabs %}
|
|
||||||
|
|
||||||
### Part 2: Getting the AP fix files from TWiLight Menu++
|
|
||||||
If you already have TWiLight Menu++, skip to the next section.
|
|
||||||
1. Download the latest `TWiLightMenu-3DS.7z` from the [release page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. In the 7z file, go to `_nds/TWiLightMenu/`
|
|
||||||
1. Copy the `apfix` folder to `sd:/_nds/ntr-forwarder/` on your 3DS's SD card
|
|
||||||
|
|
||||||
### Part 3: Forwarder3-DS
|
|
||||||
1. Open `Forwarder3DS.jar`
|
|
||||||
- **Windows users:** If it doesn't open, download this [Forwarder3DS.bat](/assets/files/Forwarder3DS.bat), place it in the same folder as Forwarder3DS.jar, and run it
|
|
||||||
1. Set your card as the `Target` on the left
|
|
||||||
- **NOTE:** If you don't see a list of cards, download [this zip](https://github.com/Olmectron/olmectron.github.io/archive/master.zip), and put the `forwarders` folder in the same folder as Forwarder3DS.jar, then rename it to `.forwarders`
|
|
||||||
1. Enable `Automatically set ROM path`
|
|
||||||
- **Linux users:** The automatic path is incorrect since it includes the entire path (e.g. `/media/$USER/something/`), please remove that part
|
|
||||||
- **MacOS users:** The automatic path is incorrect since it includes `/Volumes/(cardname)/` at the start, please remove that part
|
|
||||||
1. Click the folder in the top right and select the ROMs you want to make forwarders for or drag and drop them onto the window
|
|
||||||
- **NOTE:** The ROMs must already be on your SD card when selecting them, and can't be moved without recreating the forwarders
|
|
||||||
- **SD card users:** If your save file is in the same folder as the ROM, move it to a folder called `saves`, with the `saves` folder being in the same place as the ROMs
|
|
||||||
1. If you're playing a hack / translation of a DSi-Enhanced game that has it's banner / title edited, find the banner for the game from [here](https://www.dropbox.com/sh/igr47pr0q5bh4p5/AAA9Dy8VOGfBLUA6KdLDSDW-a?dl=0), right click on the game in Forwarder3-DS, click `Import banner`, and click on the banner to use
|
|
||||||
1. If using a homebrew ROM, click on it, then clear the `Game title` and type the game's title
|
|
||||||
1. Click the floppy disk button to generate the forwarder CIA(s)
|
|
||||||
1. Copy the CIA(s) to your 3DS's SD card, then install them using FBI
|
|
||||||
- If using EmuNAND, install to both SysNAND and EmuNAND
|
|
@ -1,52 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Nintendo DSi / Nintendo 3DS TWL_FIRM
|
|
||||||
description: Information about the Nintendo DSi and the Nintendo 3DS's TWL_FIRM
|
|
||||||
---
|
|
||||||
|
|
||||||
### Setting up CFW
|
|
||||||
While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD card. We have the best of guides for you to follow, with step-by-step instructions.
|
|
||||||
|
|
||||||
- [3DS Hacking Guide](https://3ds.hacks.guide)
|
|
||||||
- Lightning command: `mod 3ds`
|
|
||||||
- Kuriisu command: `guide 3ds`
|
|
||||||
- [DSi Hacking Guide](https://dsi.cfw.guide)
|
|
||||||
- Lightning command: `mod dsi cfw`
|
|
||||||
- Kuriisu command: `guide dsi`
|
|
||||||
|
|
||||||
### CPU speeds
|
|
||||||
The Nintendo DS shipped with a 67 MHz processor in 2004. The Nintendo DSi shipped with an 133 MHz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67 MHz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed.
|
|
||||||
|
|
||||||
nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end.
|
|
||||||
|
|
||||||
### Nintendo DSi system menu
|
|
||||||
The Nintendo DSi system menu uses a signed 32-bit integer to determine the amount of free space on the device. Using a device source that goes above the 32-bit integer limit, this counter is overflowed into a negative number, which crashes into an "An error has occurred" black screen.
|
|
||||||
|
|
||||||
The ranges that make it overflow is determined by pairs of two. For example, 1-2 GB of free space is allowed while 3-4 isn't. 5-6 GB of free space is allowed while 7-8 isn't.
|
|
||||||
|
|
||||||
This crash will never occur if the system menu is launched from an actual NAND chip (since it maxes out at 128 MB), but a redirection system (such as hiyaCFW) would cause this to trigger. Fortunately, this bug can easily by fixed by placing dummy files to set the counter at a positive number. hiyaCFW will automatically do this for you in the latest version.
|
|
||||||
|
|
||||||
In version 1.4.0, RSA signatures in the DS cart whitelist aren't verified. There is an exploit regarding a vulnerability in the Nintendo DSi flashcard whitelist that allows you to take access over the ARM9 processor, It requires version 1.4.0 (it was patched in future versions and didn't exist in prior versions) and a flashcard with a modified ROM.
|
|
||||||
|
|
||||||
### Nintendo DSi Slot-1 access & blockout
|
|
||||||
Slot-1 access is blocked when launching applications from the system menu, except if said applications is either the Slot-1 launcher itself or System Settings. In order to launch normally unlaunchable slot-1 cartridges, you'll need to either make a System Settings exploit or install Unlaunch. Without either of those, you cannot launch unlaunchable flashcards and you cannot dump ROMs to your SD card.
|
|
||||||
|
|
||||||
The flashcard white list is checked via RSA signatures are contained via RSA keys on every firmware expect 1.4.0. This means that people can white list their own carts
|
|
||||||
|
|
||||||
Before 1.4.0, the white list used to contain only two sections. In 1.4.0, they've introduced a third section which was made to block flashcards that got around the first two. The third section loads up to eight different section of the rom and checks them with a hash to see if the rom has been tampered with. However, due to the forgetfulness of putting any sanity check, we can overflow into the exception vector / interrupt address using a large enough value. Best of all, this runs on ARM7 (aka the security processor) so this makes it the first exploit for the ARM7 processor. Since this happens before the lock out of the SCFG registers, we can run advanced homebrew (such as Slot-1 dumpers & external slot-1 dumpers)
|
|
||||||
|
|
||||||
Unfortunately, the requirements are tight. It requires version 1.4.0 and a flashcard with a modified ROM. Also, the exploit never officially came out, due to Unlaunch being much simpler to install and having less requirements (just a way to get into homebrew) with the same advantages.
|
|
||||||
|
|
||||||
### Nintendo DSi Camera
|
|
||||||
The Nintendo DSi Camera application has the ability to take pictures in the JPEG and save them to either the System Memory or the SD card. The way it's loaded restricts it to only DSi made images, due to lacking the proper HMAC stored inside a custom EXIF tag. Any custom images are not readable on the DSi, whether its PC taken or PC edited.
|
|
||||||
|
|
||||||
A `pit.bin` file is used in order to load images. However, the header size at offset 0x16 is unchecked, so a big enough header size value can exceed boundaries and cause the buffer to overwrite and jump to unsigned code. This is how Memory Pit is powered.
|
|
||||||
|
|
||||||
### Nintendo DSi bootstage 2
|
|
||||||
The second bootstage of the Nintendo DSi loads launcher's "title.tmd" into memory. However, they do not specify a file size limit check, meaning that the first 80k bytes are loaded into RAM while the rest can be a custom payload. This is the basis of Unlaunch exploit.
|
|
||||||
|
|
||||||
### 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/).
|
|
@ -1,123 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: guides
|
|
||||||
title: Hardmod
|
|
||||||
description: How to hardmod a Nintendo DSi
|
|
||||||
tabs:
|
|
||||||
-
|
|
||||||
windows: Windows
|
|
||||||
other: macOS / Linux
|
|
||||||
---
|
|
||||||
|
|
||||||
Hardmodding is when you physically solder the motherboard of the Nintendo DSi to an SD card adapter in order to be read on a computer. This is useful for restoring NAND backups, viewing NAND on your PC, etc...
|
|
||||||
|
|
||||||
### Nintendo DS
|
|
||||||
[](/assets/images/ds-hardmod/mobo_pinout.png)
|
|
||||||
|
|
||||||
### Nintendo DSi
|
|
||||||
|
|
||||||
To hardmod a Nintendo DSi / DSi XL (LL) you will need:
|
|
||||||
- [Pencil tipped soldering iron](https://www.amazon.com/dp/B01N4571Q6)
|
|
||||||
- [Very fine wire](https://www.amazon.com/dp/B01MXGNTA4), 28AWG or smaller, preferably 30AWG+
|
|
||||||
- SD to microSD adapter
|
|
||||||
- An SD card reader able to read eMMC chips running in single data-line mode. [Here's a known working one](https://www.amazon.com/dp/B006T9B6R2)
|
|
||||||
- [Win32DiskImager](https://sourceforge.net/projects/win32diskimager/) and [HxD](https://mh-nexus.de/en/downloads.php?product=HxD20) if on Windows
|
|
||||||
- A valid NAND backup of the DSi you are hardmodding
|
|
||||||
- To be comfortable soldering to pads that are as small as 0.5mm in diameter
|
|
||||||
|
|
||||||
#### DSi side A pinouts
|
|
||||||
[](/assets/images/dsi-hardmod/side_a.jpg)
|
|
||||||
#### DSi side B pinouts
|
|
||||||
[](/assets/images/dsi-hardmod/side_b.png)
|
|
||||||
#### DSi XL side B pinouts
|
|
||||||
[](/assets/images/dsi-hardmod/dsi_xl_side_b.png)
|
|
||||||
|
|
||||||
- You will need to solder the points on the motherboard to the microSD card adapter
|
|
||||||
- CMD to pin 2
|
|
||||||
- GND to pins 3 and 6
|
|
||||||
- CLK to pin 5
|
|
||||||
- DAT0 to pin 7
|
|
||||||
|
|
||||||
#### Soldered microSD adapter example
|
|
||||||
[](/assets/images/dsi-hardmod/sd.jpg)
|
|
||||||
|
|
||||||
- Insert the microSD card adapter into your computer
|
|
||||||
- **WARNING** - Windows will ask you to format it: **DO NOT** format it - this might cause irrepairable damage
|
|
||||||
|
|
||||||
#### Removing the no$gba footer
|
|
||||||
You will first need to remove the NOCASH footer from the backup you are flashing to the DSi. This can be done by running the hiyaCFW helper application found [here](https://github.com/mondul/HiyaCFW-Helper/releases/latest).
|
|
||||||
|
|
||||||
1. Download the version for the operating system you are using
|
|
||||||
1. Run the script, selecting the NAND backup you wish to flash to your DSi
|
|
||||||
1. Switch to NAND mode with the button to the left of the file path
|
|
||||||
1. Click `Start` to create the NAND backup without the no$gba footer
|
|
||||||
|
|
||||||
- Once the script completes, there should be a file with a long name ending in `-no-footer.bin` in the folder where your terminal is open
|
|
||||||
- Use this file as the NAND image you flash onto the DSi
|
|
||||||
|
|
||||||
{% capture tab-windows %}
|
|
||||||
1. Open Win32DiskImager
|
|
||||||
1. Click the folder icon and browse to your desktop. In the text box, write `NAND_0.bin`. When selecting type, choose `All types *.*`
|
|
||||||
1. Choose the device that is the DSi and click read
|
|
||||||
1. Once it is done, click the folder icon, change the name to `NAND_1.bin` and read again
|
|
||||||
1. Open HxD and drag both files into the editor. Go to the top bar, click "Analysis", click "File compare" from the drop down menu, then click "Compare".
|
|
||||||
1. Choose to compare both files then click OK when done
|
|
||||||
- If it says "The chosen files are identical.", you are good to go to the next section
|
|
||||||
- If it doesn't say that, and both NANDs aren't around 240 MB, dump NAND_1 / NAND_0 again
|
|
||||||
1. Open Win32DiskImager, click the folder icon and choose your existing NAND backup you created before
|
|
||||||
1. Flash it with the `Write` button
|
|
||||||
1. Unplug the SD card adapter and attempt to turn on the DSi
|
|
||||||
{% endcapture tab-windows %}
|
|
||||||
{% assign tab-windows = tab-windows | split: "////////" %}
|
|
||||||
|
|
||||||
|
|
||||||
{% capture tab-other %}
|
|
||||||
1. Work out where the SD card is mounted
|
|
||||||
- Linux:
|
|
||||||
1. Unplug the SD card adapter
|
|
||||||
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* computer
|
|
||||||
|
|
||||||
- macOS:
|
|
||||||
1. Unplug the SD card adapter
|
|
||||||
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* computer
|
|
||||||
|
|
||||||
1. Dump the NAND
|
|
||||||
- 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`
|
|
||||||
- Then run `cat {device-name} > nand1.bin`
|
|
||||||
|
|
||||||
|
|
||||||
1. Compare NAND dumps
|
|
||||||
1. Run the following command:
|
|
||||||
- Linux: `md5sum nand0.bin nand1.bin`
|
|
||||||
- macOS: `md5 -r nand0.bin nand1.bin`
|
|
||||||
1. Check that the hash generated matches each other
|
|
||||||
1. If not, redump the NAND, adjusting the wiring if necessary
|
|
||||||
1. Keep on redumping the NAND until the hashes are identical
|
|
||||||
|
|
||||||
1. Flash NAND
|
|
||||||
1. Locate the NAND backup you created before on the console
|
|
||||||
1. Run the following command:
|
|
||||||
- `cat {existing-nand-backup} > {device-name}`
|
|
||||||
- Replace `{existing-nand-backup}` with the location and name of your old NAND backup
|
|
||||||
- Replace `{device-name}` with the mount point of the SD card
|
|
||||||
|
|
||||||
At this point you may unplug the SD card adapter and attempt to turn on the DSi. If all went well, the DSi should have booted to the state it was when the backup was created!
|
|
||||||
{% endcapture tab-other %}
|
|
||||||
{% assign tab-other = tab-other | split: "////////" %}
|
|
||||||
|
|
||||||
### Flashing the NAND backup
|
|
||||||
{% assign tabs = tab-windows | concat: tab-other %}
|
|
||||||
{% include tabs.html index=0 tabs=tabs %}
|
|
@ -1,47 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Homebrew
|
|
||||||
description: Information about homebrew on the Nintendo DS
|
|
||||||
---
|
|
||||||
|
|
||||||
### Development
|
|
||||||
|
|
||||||
Developing Nintendo DS Homebrew typically uses devkitPro tools, such as devkitARM, libnds, and libfat. However, there is the possibility to branch out and use alternative software:
|
|
||||||
|
|
||||||
- **SD card libraries:** [DevkitPro](https://devkitpro.org/) recommends [libfat](https://github.com/devkitPro/libfat). We recommend using [libslim](https://github.com/DS-Homebrew/libslim/) instead, as it allows usage of different partitions, quicker speeds, and non-blocking
|
|
||||||
- **Graphics libraries:** We recommend using [easyGL2D](http://rel.phatcode.net/junk.php?id=117), which comes shipped with libnds. However, you can use [NightFox Lib](https://github.com/knightfox75/nds_nflib)
|
|
||||||
- **Entire toolchains:** We recommend using [devkitARM](https://devkitpro.org/wiki/Getting_Started) and [libnds](https://libnds.devkitpro.org/), as it includes DSi compatibility and has a larger ecosystem. However, if your target is exclusively flashcards on a Nintendo DS, feel free to use [ToolchainGenericDS](https://bitbucket.org/Coto88/toolchaingenericds)
|
|
||||||
|
|
||||||
### Flashcards
|
|
||||||
|
|
||||||
DS mode flashcards are a slot-1 method of running Nintendo DS applications. Flashcards have the advantages of keeping console files and portable files separate, the ability to be used without modding your system and are usable on DS Phat/Lite consoles. However, unlike modding the actual console, there are multiple flashcards on the market, each with different kernel requirements. The kernel you use is the most important.
|
|
||||||
|
|
||||||
[There is a **work in progress** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links.
|
|
||||||
|
|
||||||
### DLDI
|
|
||||||
|
|
||||||
Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device.
|
|
||||||
|
|
||||||
### Time bomb
|
|
||||||
|
|
||||||
A time bomb is a expiration date on flashcard kernels that manufacturers use to force users to buy a new card. Once your system clock goes beyond a certain date, the kernel will refuse to boot past the expiration screen. Thankfully, a flag is not set anywhere and it's handled in the flashcard firmware, giving us two options for workarounds:
|
|
||||||
|
|
||||||
- Since it relies on the system clock, you can set back the date. This will break any game that uses your system clock, but it will allow you to use the default kernel.
|
|
||||||
- Since it relies on the kernel and not the firmware, you can switch to an alternative kernel. There are two options available:
|
|
||||||
- [YSmenu](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) -- The menu is quite ugly and only displays `.nds` files, but it has far better game support, cheat support and no memory pak requirement
|
|
||||||
- [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu) -- This is useful if you'd like to have all your ROMs from various consoles in the same menu, there are two ways to run DS games with TWiLight Menu++:
|
|
||||||
- With nds-bootstrap on flashcard: Requires a Memory Expansion Pak for extended game compatibility and does not support cheats. But works on all flashcards that TWiLight Menu++ does
|
|
||||||
- With YSMenu: Gets the compatibility benefits of YSMenu with the better menu of TWiLight Menu++, however, cheats are not supported currently
|
|
||||||
|
|
||||||
We recommend YSMenu, with TWiLight Menu++ if you prefer it, due to the higher compatibility, and lack of need for a Memory Expansion Pak. If you want to setup YSMenu, DeadSkullzJr has made a [Dropbox repo](https://www.dropbox.com/sh/egadrhxj8gimu5t/AACv2KqWmeXEHkxoYRluobxha?dl=0) with all the primary boot kernels set up for your flashcard. All it requires is a drag and drop to your SD card root and you have completed. Instructions on how to install TWiLight Menu++ are [on the flashcard install page](../twilightmenu/installing-flashcard).
|
|
||||||
|
|
||||||
In order to test whether your flashcard has a time bomb, set the date on your system to the latest value possible and launch the flashcard.
|
|
||||||
|
|
||||||
### ARGV support
|
|
||||||
ARGV is an information transmitter between two homebrew Nintendo DS applications. It can be used for forwarders or alternative menus.
|
|
||||||
|
|
||||||
- The homebrew needs to be programmed in order to take advantage of it. For example, GBARunner2, NesDS, and GameYob all have ARGV implementation
|
|
||||||
- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
title: Nintendo DS Modding Indeks
|
|
||||||
description: En forklaring på alt omhandlende DS modding
|
|
||||||
---
|
|
||||||
|
|
||||||
Velkommen til afsnittet om Nintendo DS modding ressourcer. Dette vil forsøge at forklare de fleste ting relateret til Nintendo DS modding samt være en grundlæggende introduktion til NTR firmwaren fra Nintendo DS, TWL firmwaren fra Nintendo DSi, og TWL_FIRMen fra Nintendo 3DS.
|
|
@ -1,65 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Retail ROMs
|
|
||||||
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 Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself.
|
|
||||||
|
|
||||||
In case there isn't a `.ips` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/)
|
|
||||||
|
|
||||||
### Cloneboot
|
|
||||||
Cloneboot is when a game sends it's own loaded 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.
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
- EEPROM - Electrically Erasable Programmable Read-Only Memory
|
|
||||||
- FLASH
|
|
||||||
- FRAM - Ferroelectric Random-Access Memory
|
|
||||||
- NAND - NOT-AND
|
|
||||||
|
|
||||||
Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers
|
|
||||||
|
|
||||||
There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php
|
|
||||||
|
|
||||||
### Assembly
|
|
||||||
Assembly language is any low-level programming language with a strong connection between the language's instructions and the processor's instructions. On the DS, assembly code comes in the form of either ARM or THUMB instructions, THUMB instructions being a subset of the ARM instructions. THUMB is useful to save memory bandwidth as it uses 16-bit instructions over the regular 32-bit instructions that ARM uses. You can find more information on assembly instructions, as well as a lot more technical information for the DS and DSi, on [GBATEK](https://problemkaputt.de/gbatek.htm).
|
|
||||||
|
|
||||||
### Card read DMA
|
|
||||||
Card DMA (stands for Direct Memory Access) is a more efficient way to read cartridge data than by software. When there isn't any data available, code can still execute. In software cartridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data.
|
|
||||||
|
|
||||||
You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter.
|
|
||||||
- For example: `DMA2: 04100010 023C18C0 AF000001`
|
|
||||||
|
|
||||||
### Action Replay cheats
|
|
||||||
Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether.
|
|
||||||
|
|
||||||
Flashcards can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcard kernel respectively. The following kernels can utilize cheats:
|
|
||||||
- Wood R4 (`usrcheat.dat`)
|
|
||||||
- YSMenu (`usrcheat.dat`)
|
|
||||||
|
|
||||||
Homebrew / digital based solutions can also take advantage of the cheat databases, the software currently available can use the following:
|
|
||||||
- [NitroHax](https://www.chishm.com/NitroHax) (`cheats.xml`)
|
|
||||||
- NitroHax lets you use cheats with real game cards from a flashcard. The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and tries to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB
|
|
||||||
- [NitroHax3DS](https://github.com/ahezard/NitroHax3DS/releases) ([usrcheat.dat fork](https://github.com/Epicpkmn11/NitroHax3DS/releases)) (`cheats.xml` or `usrcheat.dat`)
|
|
||||||
- NitroHax3DS is a version of NitroHax that runs from the system's SD card on DSi or 3DS. The original version uses cheats.xml with the same 2.4 MB limit as the original NitroHax, but there is also a fork that loads cheats from a usrcheat.dat database with no size limitation
|
|
||||||
- [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu/releases) (`usrcheat.dat`)
|
|
||||||
- TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up
|
|
||||||
- The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, there is only a limit to how many cheats can be enabled, not a limit on the database size
|
|
||||||
- Bootstrap 4 DS (the nds-bootstrap version used on flashcards) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack
|
|
||||||
|
|
||||||
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).
|
|
||||||
|
|
||||||
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.
|
|
@ -1,48 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Wi-Fi
|
|
||||||
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 WPA and WPA2 support
|
|
||||||
|
|
||||||
Hotspots are usable, so you don't need to change your router configuration.
|
|
||||||
|
|
||||||
### 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:
|
|
||||||
- **Wiimmfi** - `164.132.44.106`
|
|
||||||
- **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87`
|
|
||||||
- **BenFi** - `24.218.177.103`
|
|
||||||
- **Twilit WFC** - `34.66.49.81`
|
|
||||||
1. Set `1.1.1.1` as your secondary DNS
|
|
||||||
1. You might need to NoSSL patch your game at this point, depending on the game
|
|
||||||
|
|
||||||
### 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 receiving any errors, you can enter the error code in wiimmfi's [troubleshooter](https://wiimmfi.de/error) for ways to fix it.
|
|
||||||
|
|
||||||
For more specific troubleshooting and more information, such as how to connect to online on emulators, you can read this [Wiimmfi Guide](https://docs.google.com/document/d/1f3PChwQig40UaiPXlh-Gi5CggGiBPzyrpiecLZlT8ZE/edit?usp=sharing) written by members of the [Mario Kart DS Network](https://discord.gg/pa9bea6).
|
|
@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
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 TWiLight Menu++) have [Normatt's Open Source BIOS](https://github.com/Normmatt/gba_bios) built-in. However, because it is not an exact copy, using a dump of the official BIOS increases compatibility. You can dump an official GBA BIOS with one of the following methods.
|
|
||||||
|
|
||||||
### Dumping Guides
|
|
||||||
|
|
||||||
- [Wii (not family edition) / GameCube + link cable dumper](https://github.com/FIX94/gba-link-cable-dumper)
|
|
||||||
- [3DS using most Virtual Console titles](https://glazedbelmont.github.io/gbabiosdump/#virtual-console-title-from-a-3ds) (Can't be GBA or non-Nintendo (Game Gear) Virtual Console Titles)
|
|
||||||
- [GBA or DS Phat / Lite with a GBA flashcard](https://glazedbelmont.github.io/gbabiosdump/#gameboy-advance-sp-micro-ds-ds-lite)
|
|
||||||
|
|
||||||
After dumping the BIOS, it must be renamed to `bios.bin` and then should be placed in `sd:/`, `sd:/gba/`, or `sd:/_gba/` for GBARunner2 to read it.
|
|
||||||
|
|
||||||
You can verify that your BIOS is a proper dump by comparing it with the following checksums:
|
|
||||||
|
|
||||||
**CRC32:** `81977335`
|
|
||||||
|
|
||||||
**MD5:** `a860e8c0b6d573d191e4ec7db1b1e4f6`
|
|
||||||
|
|
||||||
**SHA1:** `300c20df6731a33952ded8c436f7f186d25d3492`
|
|
||||||
|
|
||||||
**SHA256:** `fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570`
|
|
@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: gbarunner2
|
|
||||||
title: FAQ & Troubleshooting
|
|
||||||
long_title: GBARunner2 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 Wi-Fi link features?
|
|
||||||
|
|
||||||
You will need a build from the [wifi_link](https://github.com/Gericom/GBARunner2/tree/wifi_link) branch to use the features. You can find detailed instructions on how to setup the builds on its [GBATemp Wiki page](https://wiki.gbatemp.net/wiki/GBARunner2/Link).
|
|
@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: gbarunner2
|
|
||||||
title: Home
|
|
||||||
description: Information on how to use GBARunner2
|
|
||||||
---
|
|
||||||
|
|
||||||
GBARunner2 is an [open-source](https://github.com/Gericom/GBARunner2) hypervisor that runs GBA games on DS / DSi / 3DS in DS mode. Basically, like [Nintendont](https://github.com/FIX94/Nintendont) does for running GameCube games on Wii.
|
|
||||||
|
|
||||||
Along with what this wiki has to offer, the GBARunner compatibility lists have a lot of useful information:
|
|
||||||
- [DS flashcard](https://wiki.gbatemp.net/wiki/GBARunner2)
|
|
||||||
- [DSi / 3DS](https://wiki.gbatemp.net/wiki/GBARunner2/DSi_3DS_Compatibility_List)
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: default
|
|
||||||
title: Home
|
|
||||||
---
|
|
||||||
|
|
||||||
# Welcome to the DS-Homebrew Wiki!
|
|
||||||
|
|
||||||
This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left.
|
|
||||||
|
|
||||||
If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS⁽ⁱ⁾ Mode Hacking](https://ds-homebrew.com/discord) Discord server (English only).
|
|
@ -1,53 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: nds-bootstrap
|
|
||||||
category: other
|
|
||||||
title: FAQ & Troubleshooting
|
|
||||||
long_title: nds-bootstrap 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 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/`
|
|
||||||
|
|
||||||
#### 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-bootstrap [here](https://github.com/TWLBot/Builds/raw/master/nds-bootstrap.7z).
|
|
||||||
|
|
||||||
#### Why do my cheats not work?
|
|
||||||
The way E cheat types are implemented in nds-bootstrap is broken, meaning they'd only work half of the time. Your cheat probably uses that type. It is not a fault of the cheat database, but rather a fault of nds-bootstrap. Please do not request these cheats to get deleted from the DB.
|
|
||||||
|
|
||||||
#### Is there anything else I should know about cheats?
|
|
||||||
You can set heap shrink to `Hi` in settings for slightly better cheat support.
|
|
||||||
|
|
||||||
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 67 MHz, DS Mode, with 32 kHz of audio, etc. Basically, keep everything to DS settings. Don't try to improve it with DSi stuff
|
|
||||||
2. Delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/`
|
|
||||||
3. It's probably not that big of an issue; ask in the [Discord server](https://discord.gg/yD3spjv)
|
|
||||||
|
|
||||||
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.
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: nds-bootstrap
|
|
||||||
title: Home
|
|
||||||
description: Information on how to use nds-bootstrap
|
|
||||||
---
|
|
||||||
|
|
||||||
# Welcome to the nds-bootstrap Wiki
|
|
||||||
|
|
||||||
nds-bootstrap is an open-source application that allows Nintendo DS / DSi ROMs and homebrew to be natively utilized rather than using an emulator. nds-bootstrap works on Nintendo DSi / 3DS SD cards through CFW and on Nintendo DS through flashcards.
|
|
@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: nds-bootstrap
|
|
||||||
category: other
|
|
||||||
title: Compatibility List & Testing Tips
|
|
||||||
description: Compatibility list and tips for testing games
|
|
||||||
---
|
|
||||||
|
|
||||||
### 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
|
|
@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: other
|
|
||||||
title: GodMode9i
|
|
||||||
description: Information about GodMode9i
|
|
||||||
---
|
|
||||||
|
|
||||||
Information for [GodMode9i](https://github.com/DS-Homebrew/GodMode9i), a full access file browser for the Nintendo DS, Nintendo DSi and the Nintendo 3DS's TWL_FIRM.
|
|
||||||
|
|
||||||
### 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/).
|
|
@ -1,24 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: other
|
|
||||||
title: hiyaCFW
|
|
||||||
description: Information about 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 1 MiB for ideal performance and must be under around 10 MiB between the two absolute maximum
|
|
||||||
- If both loop infinitely then they will be shown for 3 seconds, otherwise they will be shown until both are complete
|
|
||||||
- If a frame has the user input flag set it will wait until the delay runs out or any button is pressed, whichever comes first
|
|
||||||
- Interlaced and plain text frames are ***not*** supported
|
|
||||||
- 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
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: other
|
|
||||||
title: Home
|
|
||||||
description: Information about other DS-Homebrew projects
|
|
||||||
---
|
|
||||||
|
|
||||||
This section has information on other DS-Homebrew projects that aren't big enough to need a full section of the wiki.
|
|
@ -1,68 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Controls
|
|
||||||
long_title: TWiLight Menu++ Controls
|
|
||||||
description: Controls for using TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
#### Nintendo DSi, Nintendo 3DS, SEGA Saturn, and Homebrew Launcher themes
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Select a game / app
|
|
||||||
- <kbd class="face">A</kbd> / <kbd>START</kbd>: Launch game / app
|
|
||||||
- <kbd class="l">L</kbd> / <kbd class="r">R</kbd> or <kbd>SELECT</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd>: Switch pages
|
|
||||||
- (DSi/Saturn/HBL theme) <kbd>SELECT</kbd> + <kbd>Up</kbd> / <kbd>Down</kbd> & release <kbd>SELECT</kbd>: Switch between the SD card and flashcard
|
|
||||||
- <kbd class="face">Y</kbd>: Per-game settings
|
|
||||||
- <kbd class="face">X</kbd>: Cheat menu
|
|
||||||
- <kbd class="face">A</kbd>: Toggle cheat
|
|
||||||
- <kbd class="face">B</kbd>: Exit cheat menu
|
|
||||||
- <kbd class="face">X</kbd>: Save and exit cheat menu
|
|
||||||
- <kbd class="face">Y</kbd>: Show cheat description
|
|
||||||
- <kbd class="l">L</kbd>: Disable all cheats
|
|
||||||
- <kbd class="face">X</kbd>: Delete/hide game
|
|
||||||
- (DSi/Saturn/HBL theme) <kbd>SELECT</kbd>: SELECT menu or DS Classic Menu (Where system menu, TWLMenu++ Settings, and GBA Mode can be accessed)
|
|
||||||
|
|
||||||
#### R4 theme
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Select a game / app
|
|
||||||
- <kbd class="face">A</kbd>: Launch game / app
|
|
||||||
- <kbd class="l">L</kbd>: Switch between the SD card and flashcard
|
|
||||||
- <kbd class="face">Y</kbd>: Per-game settings
|
|
||||||
- <kbd class="face">X</kbd>: Cheat menu
|
|
||||||
- <kbd class="face">A</kbd>: Toggle cheat
|
|
||||||
- <kbd class="face">B</kbd>: Exit cheat menu
|
|
||||||
- <kbd class="face">X</kbd>: Save and exit cheat menu
|
|
||||||
- <kbd class="face">Y</kbd>: Show cheat description
|
|
||||||
- <kbd class="l">L</kbd>: Disable all cheats
|
|
||||||
|
|
||||||
#### DS ROMs (using nds-bootstrap)
|
|
||||||
- <kbd class="l">L</kbd> + <kbd class="r">R</kbd> + <kbd>Up</kbd> + <kbd class="face">X</kbd> for 1 second: Swap the screens
|
|
||||||
- <kbd class="l">L</kbd> + <kbd class="r">R</kbd> + <kbd>Down</kbd> + <kbd class="face">A</kbd> for 3 seconds: Dump RAM to `sd:/_nds/nds-bootstrap`, as `ramDump.bin`
|
|
||||||
- <kbd class="l">L</kbd> + <kbd>Down</kbd> + <kbd>SELECT</kbd>: Open the in-game menu
|
|
||||||
- RAM Viewer
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Scroll
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Fast scroll
|
|
||||||
- <kbd class="face">A</kbd>: Enter RAM Editor
|
|
||||||
- <kbd class="face">B</kbd>: Return to in-game menu
|
|
||||||
- <kbd class="face">Y</kbd>: Specify an address to jump to
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Increase / Decrease selected value
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Select a value
|
|
||||||
- <kbd class="face">A</kbd> / <kbd class="face">B</kbd>: Return to RAM Viewer/Editor at specified address
|
|
||||||
- RAM Editor
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd> / <kbd>Left</kbd> / <kbd>Right</kbd>: Select a value
|
|
||||||
- <kbd class="face">A</kbd>: Modify selected value
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Increase / Decrease value by 1h
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Increase / Decrease value by 10h
|
|
||||||
- <kbd class="face">A</kbd> / <kbd class="face">B</kbd>: Finish modifying value
|
|
||||||
- <kbd class="face">B</kbd>: Return to RAM Viewer
|
|
||||||
- <kbd class="face">Y</kbd>: Specify an address to jump to
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Increase / Decrease selected value
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Select a value
|
|
||||||
- <kbd class="face">A</kbd> / <kbd class="face">B</kbd>: Return to RAM Viewer/Editor at specified address
|
|
||||||
|
|
||||||
#### Boot shortcuts
|
|
||||||
These should be pressed on the TWiLight Menu++ splash screen / right after the Nintendo DSi splash screen.
|
|
||||||
|
|
||||||
- <kbd>SELECT</kbd>: Open settings
|
|
||||||
- <kbd class="face">A</kbd> + <kbd class="face">B</kbd> + <kbd class="face">X</kbd> + <kbd class="face">Y</kbd>: Reset all TWiLight Menu++ settings
|
|
||||||
- <kbd class="face">B</kbd>: Boot the last ran ROM or vice versa depending on if autobooting the last ran ROM is enabled
|
|
@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Creating RAM Disks
|
|
||||||
description: How to create RAM disks for using old DS homebrew with TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
You do not need to follow this if you're using a flashcard.
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below.
|
|
||||||
|
|
||||||
Instructions by @Dakkon7, modified by RocketRobz:
|
|
||||||
|
|
||||||
1. Run RAMDisk
|
|
||||||
1. Click **View** -> **Advanced**
|
|
||||||
1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB**
|
|
||||||
1. Un-mark **Create TEMP Directory**, if it's already marked
|
|
||||||
1. Click **Load/Save**
|
|
||||||
1. Click `Start RAMDisk`, and a new window for your .img should appear
|
|
||||||
1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use
|
|
||||||
1. In the RAMDisk program, click `Save Disk Image Now`
|
|
||||||
1. Save `romname.img` to a folder called `ramdisks` in the .nds file location
|
|
||||||
1. Click `Stop RAMDisk` when you're done
|
|
||||||
1. In TWiLight Menu++, open per-game settings for your homebrew
|
|
||||||
1. Set RAM disk to 0
|
|
||||||
1. Launch your homebrew, and it should read your RAM disk
|
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: Custom Boot Splashes
|
|
||||||
description: How to use custom splash screens for TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings.
|
|
||||||
|
|
||||||
Most GIF files up to 256x192 should work, with a few exceptions:
|
|
||||||
- GIF files over 1 MiB (DSi Mode) or 256 KiB (DS Mode) may not play at full speed as they will be decompressed on the fly
|
|
||||||
- Between the two, the GIFs must be less than about 10 MB (DSi Mode) or about 2 MB (DS Mode)
|
|
||||||
- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time
|
|
||||||
- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults
|
|
||||||
- Only the GIF waiting for input will be paused, so the other can continue animating
|
|
||||||
- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame
|
|
||||||
- Interlaced and text frames will not work
|
|
@ -1,58 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: DSi / 3DS Skins - Custom SFX
|
|
||||||
description: How to use custom background music and sound effects in DSi and 3DS skins for TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme".
|
|
||||||
|
|
||||||
These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started).
|
|
||||||
|
|
||||||
## Sound Effect Bank
|
|
||||||
The sound effect bank contains sound effects such as the icon select sound, etc.
|
|
||||||
|
|
||||||
| File | Description |
|
|
||||||
| ----------- | -------------------------------------------------------------------------------------- |
|
|
||||||
| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details |
|
|
||||||
| back.wav | Back |
|
|
||||||
| launch.wav | Played when launching a game |
|
|
||||||
| select.wav | Played when moving the select cursor |
|
|
||||||
| wrong.wav | Played when reaching the end of the page |
|
|
||||||
| switch.wav | Played when switching pages |
|
|
||||||
| stop.wav | Played on the DSi Theme when the select cursor stops moving |
|
|
||||||
| bgm.pcm.raw | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details |
|
|
||||||
|
|
||||||
You can then run `make` to make the sound effect bank. All files listed above, except *bgm.pcm.raw* are required, but you can make them silent.
|
|
||||||
|
|
||||||
Your resulting *sfx.bin* **must be under 512000B = 512 kB**. Any larger will result in either crashes or some sounds not playing fully.
|
|
||||||
|
|
||||||
### Startup sound
|
|
||||||
While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins.
|
|
||||||
|
|
||||||
The startup.wav file must be **16-bit 16 kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**.
|
|
||||||
|
|
||||||
If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**.
|
|
||||||
|
|
||||||
You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play.
|
|
||||||
|
|
||||||
|
|
||||||
## Menu BGM
|
|
||||||
|
|
||||||
Menu BGM needs to be a **16-bit 16 kHz Mono** raw PCM file. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**.
|
|
||||||
|
|
||||||
If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**.
|
|
||||||
|
|
||||||
To export in the correct format, do:
|
|
||||||
1. Select `File` > `Export` > `Export Audio...`
|
|
||||||
1. Set `File Type` to `Other uncompressed files`
|
|
||||||
1. Set `Header` to `RAW (header-less)`
|
|
||||||
1. Set `Encoding` to `Signed 16-bit PCM`
|
|
||||||
1. Set the output name to `bgm.pcm.raw` and click `Save`
|
|
||||||
1. Click `OK` to the metadata editing
|
|
||||||
|
|
||||||
Now you have a `bgm.pcm.raw` file that can be copied to the *sound* subfolder in your theme folder.
|
|
||||||
|
|
||||||
Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large.
|
|
@ -1,131 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: How to Create DSi / 3DS Skins
|
|
||||||
description: How to make custom DSi and 3DS skins for TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below).
|
|
||||||
|
|
||||||
Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run
|
|
||||||
```bash
|
|
||||||
$ make
|
|
||||||
```
|
|
||||||
in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the [advanced theming](#advanced-theming) section below.
|
|
||||||
|
|
||||||
Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below).
|
|
||||||
|
|
||||||
The example themes are in the [`romsel_dsimenutheme/resources/dsimenu_theme_examples` folder](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/resources/dsimenu_theme_examples) in TWiLight Menu++'s repository. To download them, [download the repository](https://github.com/DS-Homebrew/TWiLightMenu/archive/master.zip) or clone it with git, then find that folder.
|
|
||||||
|
|
||||||
## Theme file descriptions
|
|
||||||
|
|
||||||
The `volume` and `battery` textures are self explanatory.
|
|
||||||
|
|
||||||
### Background textures (`background_grit` folder)
|
|
||||||
|
|
||||||
| Texture | Description |
|
|
||||||
| ------------------ | ------------------------------------------------------------------------------------------------- |
|
|
||||||
| bottom | The bottom background texture when not hovering over an icon |
|
|
||||||
| bottom_bubble | The bottom background texture when hovering over an icon |
|
|
||||||
| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite |
|
|
||||||
| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite |
|
|
||||||
| top | The top background |
|
|
||||||
|
|
||||||
### Paletted textures (`grit` folder)
|
|
||||||
|
|
||||||
| Texture | Description | Palette Restrictions (if less than 16) |
|
|
||||||
| ------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
|
|
||||||
| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | |
|
|
||||||
| box | The box texture, containing both full and empty textures (DSi Theme) | |
|
|
||||||
| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default |
|
|
||||||
| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default |
|
|
||||||
| brace | The brace texture shown past the first and last icon (DSi Theme) | 4 Colors |
|
|
||||||
| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors |
|
|
||||||
| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | |
|
|
||||||
| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Theme) (The name is based on an old use) | |
|
|
||||||
| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | |
|
|
||||||
| dialogbox | The background of the dialog box that slides down | |
|
|
||||||
| folder | The icon for folders | |
|
|
||||||
| icon_gb | The icon for Game Boy games | |
|
|
||||||
| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` |
|
|
||||||
| icon_gbamode | The icon for native GBA Mode | |
|
|
||||||
| icon_gg | The icon for Game Gear games | |
|
|
||||||
| icon_manual | The icon for the manual | |
|
|
||||||
| icon_md | The icon for Mega Drive games | |
|
|
||||||
| icon_nes | The icon for NES games | |
|
|
||||||
| icon_plg | The icon for DSTWO plugins | |
|
|
||||||
| icon_settings | The icon for Nintendo DSi Settings | |
|
|
||||||
| icon_sms | The icon for Sega Master System games | |
|
|
||||||
| icon_snes | The icon for SNES games | |
|
|
||||||
| icon_unk | The icon displayed when a game is missing an icon | |
|
|
||||||
| launch_dot | The dots displayed when a game is launched (DSi Theme) | |
|
|
||||||
| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | |
|
|
||||||
| progress | The progress loading animation with 8 frames | 9 Colors |
|
|
||||||
| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors |
|
|
||||||
| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | |
|
|
||||||
| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | |
|
|
||||||
| start_text | The text displayed on the start border (DSi Theme) | 4 Colors |
|
|
||||||
| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors |
|
|
||||||
|
|
||||||
### UI textures (`ui` folder)
|
|
||||||
|
|
||||||
| Texture | Description |
|
|
||||||
| ---------------- | ------------------------------------------------------- |
|
|
||||||
| date_time_font | The font to display the date and time |
|
|
||||||
| Lshoulder | The left shoulder |
|
|
||||||
| Lshoulder_greyed | The left shoulder when there are no pages to the left |
|
|
||||||
| Rshoulder | The right shoulder |
|
|
||||||
| Rshoulder_greyed | The right shoulder when there are no pages to the right |
|
|
||||||
|
|
||||||
### Video texture (`video` folder)
|
|
||||||
|
|
||||||
`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it.
|
|
||||||
|
|
||||||
## Theme configuration
|
|
||||||
|
|
||||||
You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures.
|
|
||||||
|
|
||||||
| Value | Description | Default (3DS) | Default (DSi) |
|
|
||||||
| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- |
|
|
||||||
| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 |
|
|
||||||
| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 |
|
|
||||||
| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 |
|
|
||||||
| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 |
|
|
||||||
| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 |
|
|
||||||
| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 |
|
|
||||||
| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 |
|
|
||||||
| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 |
|
|
||||||
| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A |
|
|
||||||
| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 |
|
|
||||||
| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 |
|
|
||||||
| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 |
|
|
||||||
| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 |
|
|
||||||
| `VolumeRenderX` | The X position on the top screen to draw the volume icon | 4 | 4 |
|
|
||||||
| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 |
|
|
||||||
| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 |
|
|
||||||
| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 |
|
|
||||||
| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 |
|
|
||||||
| `StartTextUserPalette` | Whether to use the DS Profile color for the palette of the start text | N/A | 1 |
|
|
||||||
| `StartBorderUserPalette` | Whether to use the DS Profile color for the palette of the start border | N/A | 1 |
|
|
||||||
| `ButtonArrowUserPalette` | Whether to use the DS Profile color for the palette of the arrow buttons on the bottom of the screen | N/A | 1 |
|
|
||||||
| `MovingArrowUserPalette` | Whether to use the DS Profile color for the palette of the arrow shown when moving icons | N/A | 1 |
|
|
||||||
| `LaunchDotsUserPalette` | Whether to use the DS Profile color for the palette of the launch dots | N/A | 1 |
|
|
||||||
| `DialogBoxUserPalette` | Whether to use the DS Profile color for the palette of the dialog box | N/A | 1 |
|
|
||||||
|
|
||||||
## Advanced theming
|
|
||||||
|
|
||||||
Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette.
|
|
||||||
|
|
||||||
For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results.
|
|
||||||
|
|
||||||
Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of colors in the palette to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes.
|
|
||||||
|
|
||||||
Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences.
|
|
||||||
|
|
||||||
Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all.
|
|
||||||
|
|
||||||
## Custom background music and sound effects
|
|
||||||
|
|
||||||
The DSi Menu and 3DS themes also support custom music. See [DSi / 3DS skins - Custom SFX](custom-dsi-3ds-sfx) for more details.
|
|
@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: Custom Fonts
|
|
||||||
description: How to use custom fonts with TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
TWiLight Menu++ can use custom fonts in NFTR (Nitro FonT Resource) format. They will be used in Settings, the Manual's titles, and in the Nintendo DSi, Nintendo 3DS, SEGA Saturn, and Homebrew Launcher themes.
|
|
||||||
|
|
||||||
### Included font info
|
|
||||||
There are three fonts included with TWiLight Menu++. When TWiLight Menu++ is running in DSi Mode they all contain all of the characters that should be needed for all of the languages TWiLight is translated to, but when running in DS Mode they are more limited due to RAM limitations. They are as follows:
|
|
||||||
- Default: This uses the official DSi font as it's primary font and supports all characters that are used in TWiLight Menu++ itself in all languages in DS mode
|
|
||||||
- Chinese (Simplified): This uses Noto Sans CS as the primary font and has significantly more Chinese (Simplified) characters in DS Mode, at the cost of characters for other languages
|
|
||||||
- Korean: This is identical to Default in DSi Mode, but in DS Mode has a more complete set of hangul, at the cost of characters for other languages
|
|
||||||
|
|
||||||
### Directory structure
|
|
||||||
Custom fonts are loaded from `sd:/_nds/TWiLightMenu/extras/fonts/[font name]/[font file].nftr` where `[font name]` is whatever name you want and `[font file].nftr` is one of the following:
|
|
||||||
- `large-ds.nftr`, `large-dsi.nftr`, or `large.nftr`: The larger font used for titles
|
|
||||||
- `small-ds.nftr`, `small-dsi.nftr`, or `small.nftr`: The smaller font used for most other text
|
|
||||||
|
|
||||||
The `-ds` and `-dsi` files have higher priority than the normal one and if found will be used when TWiLight Menu++ is running in DS or DSi Mode respectively.
|
|
||||||
|
|
||||||
### Generating custom fonts
|
|
||||||
You can make your own fonts using a utility such as Pk11's [nftr-editor](https://pk11.us/nftr-editor/). To regenerate one of TWiLight Menu++'s existing fonts using it:
|
|
||||||
1. Load an NFTR file in nftr-editor
|
|
||||||
1. Type the names of the fonts you want to use from highest to lowest priority in the `Input font` text box, comma separated
|
|
||||||
- You can see a preview of the input fonts in the top box on the left and the current NFTR in the bottom box
|
|
||||||
1. Click `Generate from font`, then say `OK` to regenerating existing characters and `Cancel` to regenerating the special button characters (ex. )
|
|
||||||
1. Click `Save`, then repeat for the other sizes
|
|
@ -1,49 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: Custom Unlaunch Backgrounds
|
|
||||||
description: How to make custom Unlaunch backgrounds and install them using TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions:
|
|
||||||
- Only the first frame will be shown, no animated backgrounds
|
|
||||||
- The file must be less than or equal to 15,472 bytes
|
|
||||||
- GIFs with more than 31 colors require specially made palettes to prevent breaking the text
|
|
||||||
|
|
||||||
### Installing
|
|
||||||
1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds`
|
|
||||||
1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card
|
|
||||||
1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want
|
|
||||||
1. Exit settings and launch `Unlaunch DSi Installer`
|
|
||||||
- It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above
|
|
||||||
1. Choose `Install Now`
|
|
||||||
|
|
||||||
### Using GIFs with more than 31 colors
|
|
||||||
As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work.
|
|
||||||
1. Open your image in GIMP and make sure it's 256 x 192 pixels
|
|
||||||
1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...`
|
|
||||||
1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors
|
|
||||||
1. Select a dithering pattern from the `Color dithering` dropdown
|
|
||||||
- Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size
|
|
||||||
1. Click `Convert`
|
|
||||||
1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export`
|
|
||||||
- If it gives any warnings, click the accept button
|
|
||||||
1. In the next popup, disable the `GIF comment` and click `Export`
|
|
||||||
1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13
|
|
||||||
1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it
|
|
||||||
- These instructions will use ezgif as its simpler, being a website
|
|
||||||
1. Open https://ezgif.com/optimize, and upload your GIF
|
|
||||||
1. Try different compression levels until you find the best one under 15,472 bytes (15.11 KiB), ideally a bit under as GIMP may increase the size a bit
|
|
||||||
1. Save the optimized GIF and open it in GIMP
|
|
||||||
1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap`
|
|
||||||
1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button
|
|
||||||
- If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots
|
|
||||||
1. Right click a color in the Colormap and select `Rearrange Colormap...`
|
|
||||||
1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)<br> 
|
|
||||||
1. Use the color picker to make your new colors match those in the above image
|
|
||||||
1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export`
|
|
||||||
1. In the next popup, make sure `GIF comment` is off and click `Export`
|
|
||||||
1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level
|
|
||||||
1. You're done! Follow the [installing](#installing) section above to use your image!
|
|
@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Download Play / Pictochat in DS Classic Menu
|
|
||||||
description: How to get DS Download Play and Pictochat in TWiLight Menu++'s DS Classic Menu
|
|
||||||
---
|
|
||||||
|
|
||||||
If you're using a DSi console, you should already be able to launch those apps. Otherwise, if you have a 3DS, proceed below.
|
|
||||||
|
|
||||||
In GodMode9:
|
|
||||||
- Press <kbd class="r">R</kbd> + <kbd class="face">A</kbd> on SYSNAND TWLN
|
|
||||||
- Select `Search for titles`
|
|
||||||
- Select `DS Download Play (NTR-HNDA).tmd`
|
|
||||||
- Select `TMD file options...`
|
|
||||||
- Select `Dump CXI/NDS file`
|
|
||||||
- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds`
|
|
||||||
|
|
||||||
Copy to `sd:/_nds/`, and rename to `dlplay.nds`.
|
|
||||||
|
|
||||||
The above steps will increase DLP boot speed.
|
|
||||||
|
|
||||||
To run Pictochat on 3DS (DSi required):
|
|
||||||
- Copy `pictochat.nds` from `sd:/_nds/` on the DSi'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.
|
|
@ -1,119 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: FAQ & Troubleshooting
|
|
||||||
long_title: TWiLight Menu++ FAQ & Troubleshooting
|
|
||||||
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}
|
|
||||||
|
|
||||||
#### 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>
|
|
||||||
|
|
||||||
#### 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 32 KB cluster/allocation size
|
|
||||||
- If that also doesn't work, try a different SD card
|
|
||||||
|
|
||||||
#### How do I fix TWiLight Menu++ restarting or giving a Guru Meditation Error when launching a game?
|
|
||||||
Go into TWLMenu++ Settings, and disable `Update recently played list`.
|
|
||||||
|
|
||||||
#### Why do I get a white screen when trying to load a game from SD card?
|
|
||||||
- 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/`
|
|
||||||
|
|
||||||
#### 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/).
|
|
||||||
- On the 3DS, this database is available in the Universal Updater app as "NDS Cheat Databases." This will automatically install it to the required location.
|
|
||||||
|
|
||||||
Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB.
|
|
||||||
|
|
||||||
#### 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
|
|
||||||
|
|
||||||
#### 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_all_DS_homebrew#Games). 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
|
|
||||||
|
|
||||||
#### 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.
|
|
||||||
|
|
||||||
#### 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++
|
|
||||||
|
|
||||||
#### 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).
|
|
||||||
|
|
||||||
#### What systems does TWiLight Menu++ support?
|
|
||||||
|
|
||||||
| 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}
|
|
||||||
|
|
||||||
#### Why isn't touch input working on sudokuhax?
|
|
||||||
Depending on the save file of sudokuhax, the touch screen inputs may not work.
|
|
||||||
|
|
||||||
#### 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]: 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
|
|
||||||
[dstwo]: http://eng.supercard.sc
|
|
||||||
[gameyob]: https://github.com/Drenn1/GameYob
|
|
||||||
[gbarunner2]: https://github.com/Gericom/GBARunner2
|
|
||||||
[jenesis]: https://www.gamebrew.org/wiki/JEnesisDS
|
|
||||||
[mpeg4player]: https://gbatemp.net/threads/544095
|
|
||||||
[ndsbs]: https://github.com/DS-Homebrew/nds-bootstrap
|
|
||||||
[nesds]: https://github.com/DS-Homebrew/NesDS
|
|
||||||
[nitrografx]: https://www.gamebrew.org/wiki/NitroGrafx
|
|
||||||
[pdtwl]: https://github.com/DS-Homebrew/PicoDriveTWL
|
|
||||||
[rvidplayer]: https://gbatemp.net/threads/539163
|
|
||||||
[s8ds]: https://www.gamebrew.org/wiki/S8DS
|
|
||||||
[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
|
|
@ -1,47 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: How to Get Box Art
|
|
||||||
description: How to get box art / game covers in TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
### 3DS
|
|
||||||
1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases)
|
|
||||||
- This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++
|
|
||||||
1. Select `Extras`, `Boxart`, then press <kbd class="face">X</kbd> to scan the full SD card or <kbd class="face">A</kbd> to select a folder to scan
|
|
||||||
1. Choose a box art size
|
|
||||||
1. Choose a border style
|
|
||||||
1. Make sure box art is set to be shown in TWiLight Menu++ settings
|
|
||||||
|
|
||||||
### Windows
|
|
||||||
1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases)
|
|
||||||
1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe`
|
|
||||||
1. Click `Detect SD`
|
|
||||||
- If it doesn't find the correct SD card click `Browse...` and select the right one
|
|
||||||
1. Change the size, border, etc options to your liking
|
|
||||||
1. Click `Start`
|
|
||||||
1. 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
|
|
||||||
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`
|
|
||||||
1. Say `Yes` if it shows your SD path correctly
|
|
||||||
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. Make sure box art is set to be shown in TWiLight Menu++ settings
|
|
||||||
|
|
||||||
**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143.
|
|
||||||
|
|
||||||
Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category.
|
|
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
section: twilightmenu
|
|
||||||
title: Home
|
|
||||||
description: Guides on how to use and customize TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
# Welcome to the TWiLight Menu++ wiki!
|
|
||||||
|
|
||||||
TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards.
|
|
||||||
|
|
||||||
For info on how to install, click on the page in the sidebar for your console in the Installing section.
|
|
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: redirect
|
|
||||||
destination: installing-3ds?tab=manual
|
|
||||||
title: Installing (3DS, Manual)
|
|
||||||
---
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: installing
|
|
||||||
title: Installing (3DS)
|
|
||||||
long_title: Installing TWiLight Menu++ (3DS)
|
|
||||||
description: How to install TWiLight Menu++ on the Nintendo 3DS
|
|
||||||
tabs:
|
|
||||||
-
|
|
||||||
working-camera: Working camera
|
|
||||||
non-working-camera: Non-working camera
|
|
||||||
manual: Manual
|
|
||||||
---
|
|
||||||
|
|
||||||
You will first need to have Custom Firmware on your 3DS, follow [3ds.hacks.guide](https://3ds.hacks.guide) to install it
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
{% capture tab-working-camera %}
|
|
||||||
1. Open FBI and select `Remote Install`, then `Scan QR Code`
|
|
||||||
1. Scan this QR code to install the latest version of [Universal-Updater](https://github.com/Universal-Team/Universal-Updater)<br> 
|
|
||||||
1. Close FBI and launch Universal-Updater
|
|
||||||
- If it doesn't show up on your home menu, reboot your 3DS
|
|
||||||
1. Find TWiLight Menu++ in the app grid, you can search with the 3rd tab on the sidebar if you have trouble finding it
|
|
||||||
- It has this icon: 
|
|
||||||
1. Press <kbd class="face">A</kbd> or tap the download icon in the sidebar and select `TWiLight Menu++` to install it
|
|
||||||
- This will take a while
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-working-camera = tab-working-camera | split: "////////" %}
|
|
||||||
|
|
||||||
{% capture tab-non-working-camera %}
|
|
||||||
1. Download the `Universal-Updater.cia` file from the [Universal-Updater release page](https://github.com/Universal-Team/Universal-Updater/releases)
|
|
||||||
1. Place the `Universal-Updater.cia` file anywhere on your SD card
|
|
||||||
1. Launch FBI on your Nintendo 3DS
|
|
||||||
1. In FBI, go to the place you pasted the `Universal-Updater.cia` file
|
|
||||||
1. Select the `Universal-Updater.cia` file and hit "Install & Delete"
|
|
||||||
1. Close FBI and launch Universal-Updater
|
|
||||||
- If it doesn't show up on your home menu, reboot your 3DS
|
|
||||||
1. Find TWiLight Menu++ in the app grid, you can search with the 3rd tab on the sidebar if you have trouble finding it
|
|
||||||
- It has this icon: 
|
|
||||||
1. Press <kbd class="face">A</kbd> or tap the download icon in the sidebar and select `TWiLight Menu++` to install it
|
|
||||||
- This will take a while
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-non-working-camera = tab-non-working-camera | split: "////////" %}
|
|
||||||
|
|
||||||
{% capture tab-manual %}
|
|
||||||
1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. Extract `TWiLightMenu-3DS.7z`
|
|
||||||
1. Copy the `_nds` folder to your SD card root
|
|
||||||
1. Copy the `BOOT.NDS` file to your SD card root
|
|
||||||
1. Copy the `roms` folder to your SD card root
|
|
||||||
1. Copy the two `.cia` files to your SD card root
|
|
||||||
1. On your 3DS, install the two CIAs with FBI
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-manual = tab-manual | split: "////////" %}
|
|
||||||
|
|
||||||
### Installing
|
|
||||||
|
|
||||||
{% assign tabs = tab-working-camera | concat: tab-non-working-camera | concat: tab-manual %}
|
|
||||||
{% include tabs.html index=0 tabs=tabs %}
|
|
@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: installing
|
|
||||||
title: Installing (DSi)
|
|
||||||
long_title: Installing TWiLight Menu++ (DSi)
|
|
||||||
description: How to install TWiLight Menu++ on the Nintendo DSi
|
|
||||||
---
|
|
||||||
|
|
||||||
If you do not already have a way to run homebrew on your DSi, follow [dsi.cfw.guide](https://dsi.cfw.guide) to install TWiLight Menu++
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
### Installing
|
|
||||||
1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. Extract `TWiLightMenu-DSi.7z`
|
|
||||||
1. Copy the `_nds` folder to your SD card root
|
|
||||||
1. Copy the `BOOT.NDS` file to your SD card root
|
|
||||||
1. Copy the `roms` folder to your SD card root
|
|
||||||
1. **hiyaCFW users:** Copy the `title` folder to your SD card root
|
|
||||||
|
|
||||||
### Autobooting with Unlaunch
|
|
||||||
1. Turn on your DSi while holding <kbd class="face">A</kbd> and <kbd class="face">B</kbd>
|
|
||||||
1. In the Unlaunch menu, go to `OPTIONS`
|
|
||||||
1. Set `NO BUTTON` or a button of your choice to the `TWiLight Menu++` that says `BOOT.NDS` on the bottom screen
|
|
@ -1,50 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: installing
|
|
||||||
title: Installering (Flashkort)
|
|
||||||
long_title: Installing TWiLight Menu++ (Flashcard)
|
|
||||||
description: How to install TWiLight Menu++ on a Nintendo DS flashcard
|
|
||||||
---
|
|
||||||
|
|
||||||
### Installation
|
|
||||||
1. Download den nyeste version af `TWiLightMenu-Flashcard.7z` fra [udgivelsessiden](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. Udpak `TWiLightMenu-Flashcard.7z`
|
|
||||||
1. Kopier `_nds` mappen til rodden af dit flashkorts microSD-kort
|
|
||||||
1. Kopier `BOOT.NDS` filen til rodden af dit flashkorts microSD-kort
|
|
||||||
1. Kopier `roms` mappen til rodden af dit flashkorts microSD-kort
|
|
||||||
1. Hvis du allerede har save-data, så flyt din `.sav` filer, som er det samme sted som din DS ROM, til en ny mappe kaldet `saves`, som skal placeres samme sted som dine DS ROMs
|
|
||||||
1. ...
|
|
||||||
- **DS Phat / Lite brugere:** Hvis du køre `BOOT.NDS` og det medføre en hvid skærm, indsæt en DS Memory Expansion Pak, og prøv igen
|
|
||||||
- **DSi / 3DS brugere:** Kør TWLMenu++ på konsollens SD-kort, og slå `SCFG adgang i Slot-1` til
|
|
||||||
- Dette vil lade dig bruge TWL clock hastighed og/eller VRAM boost på dine flashkort spil, samt adgang til konsollens SD-kort
|
|
||||||
|
|
||||||
### To run games using your flashcard firmware
|
|
||||||
1. Extract what's in `Flashcart Loader/(your flashcard)` to the root of the flashcard's microSD card
|
|
||||||
- If you done so, continue to step 3. If not, follow the steps below the flashcard list below
|
|
||||||
|
|
||||||
1. For these flashcards:
|
|
||||||
- R4i-SDHC
|
|
||||||
- r4isdhc.com cards
|
|
||||||
- r4isdhc.hk cards
|
|
||||||
- R4i SDHC Upgrade Revolution
|
|
||||||
- R4DSiXL3D
|
|
||||||
- R4i Advance
|
|
||||||
- R4-IIIi
|
|
||||||
- R4 SDHC Revolution
|
|
||||||
- R4(i) Pocket
|
|
||||||
- R4i Gold (v1.4.1) (3DS)
|
|
||||||
- R4xDS
|
|
||||||
- DSTT(i)
|
|
||||||
|
|
||||||
Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/)
|
|
||||||
- Make sure you have `YSMenu.nds` (renamed from `TTMenu.dat` if there isn't one) and the `TTMenu` folder on the flashcard microSD root
|
|
||||||
1. Set `Use nds-bootstrap` to `No`, so the flashcard firmware will be used instead of nds-bootstrap
|
|
||||||
|
|
||||||
### Autobooting TWiLight Menu++
|
|
||||||
1. Extract the content(s) of `Autoboot/(your flashcard)` to the root of the flashcard's microSD card
|
|
||||||
- Skip this, if you don't see your flashcard
|
|
||||||
1. ...
|
|
||||||
- **DS Phat / DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot
|
|
||||||
- **DSi / 3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1`
|
|
@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: indexes
|
|
||||||
title: Installing
|
|
||||||
long_title: Installing TWiLight Menu++
|
|
||||||
description: How to install TWiLight Menu++ (index page)
|
|
||||||
---
|
|
||||||
|
|
||||||
The installation process for TWiLight Menu++ depends on whether you're using a Nintendo DSi, Nintendo 3DS, or a Nintendo DS flashcard. Please select the page for the one you're using.
|
|
||||||
|
|
||||||
### 3DS / 2DS
|
|
||||||
If you're using a 3DS or 2DS (from the internal SD card), follow the [3DS instructions](installing-3ds).
|
|
||||||
|
|
||||||
[](installing-3ds) [](installing-3ds) [](installing-3ds)
|
|
||||||
|
|
||||||
[](installing-3ds) [](installing-3ds) [](installing-3ds)
|
|
||||||
|
|
||||||
### DSi
|
|
||||||
If you're using a DSi (from the internal SD card), follow the [DSi instructions](installing-dsi).
|
|
||||||
|
|
||||||
[](installing-dsi) [](installing-dsi)
|
|
||||||
|
|
||||||
### Flashcard
|
|
||||||
If you're using a flashcard (regardless of which DS model you're on), follow the [flashcard instructions](installing-flashcard).
|
|
||||||
|
|
||||||
[](installing-flashcard) [](installing-flashcard) [](installing-flashcard)
|
|
@ -1,38 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Playing in Widescreen
|
|
||||||
description: How to use TWiLight Menu++ in widescreen on the Nintendo 3DS
|
|
||||||
---
|
|
||||||
|
|
||||||
Requires a Nintendo 3DS or 2DS console.
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
### Preparation
|
|
||||||
- Make sure Luma's `boot.firm` is on the SD root for this to work
|
|
||||||
|
|
||||||
### 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. 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!
|
|
||||||
|
|
||||||
**NOTE1:** Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released.
|
|
||||||
|
|
||||||
**NOTE2:** Do not hold <kbd>START</kbd> or <kbd>SELECT</kbd> when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released.
|
|
||||||
|
|
||||||
Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt)
|
|
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: uninstalling
|
|
||||||
title: Uninstalling (3DS)
|
|
||||||
long_title: Uninstalling TWiLight Menu++ (3DS)
|
|
||||||
description: How to uninstall TWiLight Menu++ from a Nintendo 3DS
|
|
||||||
---
|
|
||||||
|
|
||||||
### Uninstalling
|
|
||||||
1. Open FBI
|
|
||||||
1. Go to `Titles`
|
|
||||||
1. Find two `TWiLight Menu++` titles in purple text
|
|
||||||
1. Delete both titles
|
|
||||||
1. Exit the title list
|
|
||||||
1. Go to the SD card
|
|
||||||
1. Open `_nds`
|
|
||||||
1. Delete the `TWiLightMenu` folder
|
|
||||||
1. Delete the nds-bootstrap and GBARunner2 files
|
|
||||||
1. Exit `_nds`
|
|
||||||
1. Delete `boot.nds`
|
|
@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: uninstalling
|
|
||||||
title: Uninstalling (DS & DSi)
|
|
||||||
long_title: Uninstalling TWiLight Menu++ (DS & DSi)
|
|
||||||
description: How to uninstall TWiLight Menu++ from Nintendo DSi or DS flashcard
|
|
||||||
---
|
|
||||||
|
|
||||||
### Uninstalling
|
|
||||||
1. Go to either the console's SD card or the flashcard's SD card
|
|
||||||
1. Open `_nds`
|
|
||||||
1. Delete the `TWiLightMenu` folder
|
|
||||||
1. Delete the nds-bootstrap and GBARunner2 files
|
|
||||||
1. Exit `_nds`
|
|
||||||
1. Delete `boot.nds`
|
|
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: redirect
|
|
||||||
destination: updating-3ds?tab=manual
|
|
||||||
title: Updating (3DS, Manual)
|
|
||||||
---
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: updating
|
|
||||||
title: Updating (3DS)
|
|
||||||
long_title: Updating TWiLight Menu++ (3DS)
|
|
||||||
description: How to update TWiLight Menu++ on the Nintendo 3DS
|
|
||||||
tabs:
|
|
||||||
-
|
|
||||||
universal-updater: Universal-Updater
|
|
||||||
manual: Manual
|
|
||||||
---
|
|
||||||
|
|
||||||
If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms.
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
{% capture tab-universal-updater %}
|
|
||||||
1. Open Universal-Updater
|
|
||||||
- If you don't have it, follow the [installing](installing-3ds) instructions
|
|
||||||
1. Find TWiLight Menu++ in the app grid, you can search with the 3rd tab on the sidebar if you have trouble finding it
|
|
||||||
1. Press <kbd class="face">A</kbd> or tap the download icon in the sidebar and select `TWiLight Menu++` to install it
|
|
||||||
- This will take a while
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-universal-updater = tab-universal-updater | split: "////////" %}
|
|
||||||
|
|
||||||
{% capture tab-manual %}
|
|
||||||
1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. Extract `TWiLightMenu-3DS.7z`
|
|
||||||
1. Copy the `_nds` folder to your SD card root
|
|
||||||
1. Copy the `BOOT.NDS` file to your SD card root
|
|
||||||
1. Copy the two `.cia` files to your SD card root
|
|
||||||
1. On your 3DS, install the two CIAs with FBI
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-manual = tab-manual | split: "////////" %}
|
|
||||||
|
|
||||||
### Updating
|
|
||||||
|
|
||||||
{% assign tabs = tab-universal-updater | concat: tab-manual %}
|
|
||||||
{% include tabs.html index=0 tabs=tabs %}
|
|
||||||
|
|
||||||
### More steps for the flashcard side
|
|
||||||
|
|
||||||
If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps.
|
|
||||||
|
|
||||||
1. Go into TWLMenu++ Settings
|
|
||||||
1. Select `Update TWiLight Menu++`
|
|
||||||
1. Select `Console (micro)SD > Slot-1 microSD`
|
|
@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: updating
|
|
||||||
title: Updating (DSi)
|
|
||||||
long_title: Updating TWiLight Menu++ (DSi)
|
|
||||||
description: How to update TWiLight Menu++ on the Nintendo DSi
|
|
||||||
---
|
|
||||||
|
|
||||||
If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms.
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
### Updating
|
|
||||||
1. Download the latest `TWiLightMenu-DSi.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. Extract `TWiLightMenu-DSi.7z`
|
|
||||||
1. Copy the `_nds` folder to your SD card root
|
|
||||||
1. Copy the `BOOT.NDS` file to your SD card root
|
|
||||||
1. **hiyaCFW users:** Copy the `title` folder to your SD card root
|
|
||||||
|
|
||||||
### More steps for the flashcard side
|
|
||||||
|
|
||||||
If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps.
|
|
||||||
|
|
||||||
1. Go into TWLMenu++ Settings
|
|
||||||
1. Select `Update TWiLight Menu++`
|
|
||||||
1. Select `Console (micro)SD > Slot-1 microSD`
|
|
@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: updating
|
|
||||||
title: Updating (Flashcard)
|
|
||||||
long_title: Updating TWiLight Menu++ (Flashcard)
|
|
||||||
description: How to update TWiLight Menu++ on a Nintendo DS flashcard
|
|
||||||
---
|
|
||||||
|
|
||||||
If updating from a version older than v16.4.0, please move your `.sav` files for DS games to a new folder called `saves`, with the `saves` folder being in the same place as the DS roms.
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
### Updating
|
|
||||||
1. Download the latest version of `TWiLightMenu-Flashcard.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. Extract `TWiLightMenu-Flashcard.7z`
|
|
||||||
1. Copy the `_nds` folder to your flashcard's microSD card root
|
|
||||||
1. Copy the `BOOT.NDS` file to your flashcard's microSD card root
|
|
||||||
|
|
||||||
### More steps for the DSi / 3DS SD card side
|
|
||||||
|
|
||||||
If you can switch between the SD and flashcard contents in TWLMenu++, and if the flashcard TWLMenu++ is on v16.3.0 or later, please follow these steps.
|
|
||||||
|
|
||||||
1. Go into TWLMenu++ Settings
|
|
||||||
1. Select `Update TWiLight Menu++`
|
|
||||||
1. Select `Slot-1 microSD > Console (micro)SD`
|
|
@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: indexes
|
|
||||||
title: Updating
|
|
||||||
long_title: Updating TWiLight Menu++
|
|
||||||
description: How to update TWiLight Menu++ (index page)
|
|
||||||
---
|
|
||||||
|
|
||||||
The updating process for TWiLight Menu++ depends on whether you're using a Nintendo DSi, Nintendo 3DS, or a Nintendo DS flashcard. Please select the page for the one you're using.
|
|
||||||
|
|
||||||
### 3DS / 2DS
|
|
||||||
If you're using a 3DS or 2DS (from the internal SD card), follow the [3DS instructions](updating-3ds).
|
|
||||||
|
|
||||||
[](updating-3ds) [](updating-3ds) [](updating-3ds)
|
|
||||||
|
|
||||||
[](updating-3ds) [](updating-3ds) [](updating-3ds)
|
|
||||||
|
|
||||||
### DSi
|
|
||||||
If you're using a DSi (from the internal SD card), follow the [DSi instructions](updating-dsi).
|
|
||||||
|
|
||||||
[](updating-dsi) [](updating-dsi)
|
|
||||||
|
|
||||||
### Flashcard
|
|
||||||
If you're using a flashcard (regardless of which DS model you're on), follow the [flashcard instructions](updating-flashcard).
|
|
||||||
|
|
||||||
[](updating-flashcard) [](updating-flashcard) [](updating-flashcard)
|
|
@ -1,103 +0,0 @@
|
|||||||
---
|
|
||||||
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
|
|
@ -1,132 +0,0 @@
|
|||||||
---
|
|
||||||
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; it’s 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
|
|
@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: community
|
|
||||||
title: Home
|
|
||||||
description: Information about the DS-Homebrew community
|
|
||||||
---
|
|
||||||
|
|
||||||
You can find information about our community here, such as the rules for our Discord server. We have the following places:
|
|
||||||
- Discord: [DS⁽ⁱ⁾ 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)
|
|
@ -1,137 +0,0 @@
|
|||||||
---
|
|
||||||
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
|
|
||||||
tabs:
|
|
||||||
-
|
|
||||||
tab-sd-card: SD card
|
|
||||||
tab-flashcard: Flashcard
|
|
||||||
---
|
|
||||||
|
|
||||||
If you have any issues, check the FAQs on the [GBAtemp thread](https://gbatemp.net/threads/nds-forwarder-cias-for-your-home-menu.426174/).
|
|
||||||
{:.alert .alert-warning}
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
{% 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.
|
|
||||||
|
|
||||||
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`.
|
|
||||||
|
|
||||||
Compatible:
|
|
||||||
- [Acekard 2(i)](http://www.nds-card.com/ProShow.asp?ProID=160) (DSi-Enhanced games, including newer NTR games, don't work.)
|
|
||||||
- [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 < 2 GB microSD card)
|
|
||||||
- [R4 DS](http://www.nds-card.com/ProShow.asp?ProID=141) (Original Non-SDHC version, uses < 2 GB microSD card)
|
|
||||||
- [R4 SDHC Snoopy](http://www.nds-card.com/ProShow.asp?ProID=567)
|
|
||||||
- [R4 SDHC RTS LITE](http://www.nds-card.com/ProShow.asp?ProID=450) ([www.r4isdhc.com](http://www.r4isdhc.com/))
|
|
||||||
- R4 SDHC Upgrade ([www.r4i-sdhc.com](http://www.r4i-sdhc.com/))
|
|
||||||
- [R4i3D](http://www.3ds-cart.com/en/other-flashcarts/35-r4i3d-revolution-cart-for-3ds-dsi-dsl-ds.html) ([www.r4i3d.com](http://www.r4i-sdhc.com/))
|
|
||||||
- [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)
|
|
||||||
- [SuperCard DSONE](http://wiki.gbatemp.net/wiki/SuperCard_DSONEi)
|
|
||||||
- [SuperCard DSTWO](http://www.nds-card.com/ProShow.asp?ProID=135) (Normal and Plus versions)
|
|
||||||
|
|
||||||
Untested:
|
|
||||||
- R4i3D NEW (Use R4iDSN template and pack)
|
|
||||||
|
|
||||||
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.)
|
|
||||||
|
|
||||||
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)
|
|
||||||
- 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)
|
|
||||||
{% endcapture %}
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Supported flashcards</summary>
|
|
||||||
<div class="details-content">
|
|
||||||
{{ flashcards | markdownify }}
|
|
||||||
</div>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
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. 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 %}
|
|
||||||
1. Download the [SD card forwarder pack](https://www.dropbox.com/s/k5uaa4jzbtkgm0z/DS%20Game%20Forwarder%20pack%20%283DS%20SD%20Card%29.7z?dl=0)
|
|
||||||
1. Extract the contents of the `for SD card root` folder to the root of your 3DS's SD card
|
|
||||||
|
|
||||||
After you extract the pack, you can edit `sd:/_nds/nds-bootstrap.ini` and change the settings:
|
|
||||||
- `BOOST_CPU`: If set to 1, TWL clock speed is used, so lags begone
|
|
||||||
- `SOUND_FREQ`: If set to 1, sound will play at 48 kHz, instead of 32 kHz
|
|
||||||
{% endcapture%}
|
|
||||||
{% assign tab-sd-card = tab-sd-card | split: "////////" %}
|
|
||||||
|
|
||||||
{% capture tab-flashcard %}
|
|
||||||
1. Download one of these packs:
|
|
||||||
- [Original R4 / M3 Simply](https://www.dropbox.com/s/juxzri7h8bttunh/DS%20Game%20Forwarder%20pack%20%28Original%20R4%2C%20M3%20Simply%29.7z?dl=0)
|
|
||||||
- [Acekard 2(i) / M3DS Real](https://www.dropbox.com/s/5elogf885sd62hu/DS%20Game%20Forwarder%20pack%20%28M3DS%20Real%29.7z?dl=0)
|
|
||||||
- [DSTT / R4i Gold / R4i-SDHC / R4 SDHC Upgrade / SC DSONE](https://www.dropbox.com/s/xxfmvikwmnvsu63/DS%20Game%20Forwarder%20pack%20%28DSTT%2C%20R4i%20Gold%2C%20R4i-SDHC%2C%20SC%20DSONE%29.7z?dl=0)
|
|
||||||
- [Acekard RPG](https://drive.google.com/file/d/0B2_1xHkEp2_6OHVuZEJwU1BKbEU/view?usp=sharing)
|
|
||||||
- [R4iDSN / R4i Gold RTS / R4i Gold 3DS Plus](https://www.dropbox.com/s/j8nquh073k9y0h7/DS%20Game%20Forwarder%20pack%20%28R4iDSN%2C%20R4i%20Gold%20RTS%29.7z?dl=0)
|
|
||||||
- [Ace 3DS+ / Gateway Blue Card / R4iLS / R4iTT](https://www.dropbox.com/s/fd7dzhn8burcq02/DS%20Game%20Forwarder%20pack%20%28Ace3DS%2C%20GW%20Blue%20Card%2C%20R4iTT%29.7z?dl=0)
|
|
||||||
- [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.
|
|
||||||
|
|
||||||
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.
|
|
||||||
- `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
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-flashcard = tab-flashcard | split: "////////" %}
|
|
||||||
|
|
||||||
{% assign tabs = tab-sd-card | concat: tab-flashcard %}
|
|
||||||
{% include tabs.html index=0 tabs=tabs %}
|
|
||||||
|
|
||||||
### Part 2: Getting the AP fix files from TWiLight Menu++
|
|
||||||
If you already have TWiLight Menu++, skip to the next section.
|
|
||||||
1. Download the latest `TWiLightMenu-3DS.7z` from the [release page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. In the 7z file, go to `_nds/TWiLightMenu/`
|
|
||||||
1. Copy the `apfix` folder to `sd:/_nds/ntr-forwarder/` on your 3DS's SD card
|
|
||||||
|
|
||||||
### Part 3: Forwarder3-DS
|
|
||||||
1. Open `Forwarder3DS.jar`
|
|
||||||
- **Windows users:** If it doesn't open, download this [Forwarder3DS.bat](/assets/files/Forwarder3DS.bat), place it in the same folder as Forwarder3DS.jar, and run it
|
|
||||||
1. Set your card as the `Target` on the left
|
|
||||||
- **NOTE:** If you don't see a list of cards, download [this zip](https://github.com/Olmectron/olmectron.github.io/archive/master.zip), and put the `forwarders` folder in the same folder as Forwarder3DS.jar, then rename it to `.forwarders`
|
|
||||||
1. Enable `Automatically set ROM path`
|
|
||||||
- **Linux users:** The automatic path is incorrect since it includes the entire path (e.g. `/media/$USER/something/`), please remove that part
|
|
||||||
- **MacOS users:** The automatic path is incorrect since it includes `/Volumes/(cardname)/` at the start, please remove that part
|
|
||||||
1. Click the folder in the top right and select the ROMs you want to make forwarders for or drag and drop them onto the window
|
|
||||||
- **NOTE:** The ROMs must already be on your SD card when selecting them, and can't be moved without recreating the forwarders
|
|
||||||
- **SD card users:** If your save file is in the same folder as the ROM, move it to a folder called `saves`, with the `saves` folder being in the same place as the ROMs
|
|
||||||
1. If you're playing a hack / translation of a DSi-Enhanced game that has it's banner / title edited, find the banner for the game from [here](https://www.dropbox.com/sh/igr47pr0q5bh4p5/AAA9Dy8VOGfBLUA6KdLDSDW-a?dl=0), right click on the game in Forwarder3-DS, click `Import banner`, and click on the banner to use
|
|
||||||
1. If using a homebrew ROM, click on it, then clear the `Game title` and type the game's title
|
|
||||||
1. Click the floppy disk button to generate the forwarder CIA(s)
|
|
||||||
1. Copy the CIA(s) to your 3DS's SD card, then install them using FBI
|
|
||||||
- If using EmuNAND, install to both SysNAND and EmuNAND
|
|
@ -1,52 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Nintendo DSi / Nintendo 3DS TWL_FIRM
|
|
||||||
description: Information about the Nintendo DSi and the Nintendo 3DS's TWL_FIRM
|
|
||||||
---
|
|
||||||
|
|
||||||
### Setting up CFW
|
|
||||||
While most of the benefits of Custom Firmware are for the Nintendo DSi and the Nintendo 3DS family of systems, it allows you to unlock your consoles possibilities. Installing Custom Firmware is quite easy, and in most cases, all you need is a (micro)SD card. We have the best of guides for you to follow, with step-by-step instructions.
|
|
||||||
|
|
||||||
- [3DS Hacking Guide](https://3ds.hacks.guide)
|
|
||||||
- Lightning command: `mod 3ds`
|
|
||||||
- Kuriisu command: `guide 3ds`
|
|
||||||
- [DSi Hacking Guide](https://dsi.cfw.guide)
|
|
||||||
- Lightning command: `mod dsi cfw`
|
|
||||||
- Kuriisu command: `guide dsi`
|
|
||||||
|
|
||||||
### CPU speeds
|
|
||||||
The Nintendo DS shipped with a 67 MHz processor in 2004. The Nintendo DSi shipped with an 133 MHz processor in 2009. Most games of the Nintendo DS library were made before the Nintendo DSi came out, and as such the only processor available to them was 67 MHz. Some applications tied themselves to that clock speed and as a result, would not work well with a higher clock speed. Most games, however, would outperform the original with a higher clock speed.
|
|
||||||
|
|
||||||
nds-bootstrap has TWL Clock Speed as an option, but it will not try to adjust the ROM to work with the higher clock speed. That's on the application itself, and applications not working with a higher clock speed is NOT a bug on the nds-bootstrap end.
|
|
||||||
|
|
||||||
### Nintendo DSi system menu
|
|
||||||
The Nintendo DSi system menu uses a signed 32-bit integer to determine the amount of free space on the device. Using a device source that goes above the 32-bit integer limit, this counter is overflowed into a negative number, which crashes into an "An error has occurred" black screen.
|
|
||||||
|
|
||||||
The ranges that make it overflow is determined by pairs of two. For example, 1-2 GB of free space is allowed while 3-4 isn't. 5-6 GB of free space is allowed while 7-8 isn't.
|
|
||||||
|
|
||||||
This crash will never occur if the system menu is launched from an actual NAND chip (since it maxes out at 128 MB), but a redirection system (such as hiyaCFW) would cause this to trigger. Fortunately, this bug can easily by fixed by placing dummy files to set the counter at a positive number. hiyaCFW will automatically do this for you in the latest version.
|
|
||||||
|
|
||||||
In version 1.4.0, RSA signatures in the DS cart whitelist aren't verified. There is an exploit regarding a vulnerability in the Nintendo DSi flashcard whitelist that allows you to take access over the ARM9 processor, It requires version 1.4.0 (it was patched in future versions and didn't exist in prior versions) and a flashcard with a modified ROM.
|
|
||||||
|
|
||||||
### Nintendo DSi Slot-1 access & blockout
|
|
||||||
Slot-1 access is blocked when launching applications from the system menu, except if said applications is either the Slot-1 launcher itself or System Settings. In order to launch normally unlaunchable slot-1 cartridges, you'll need to either make a System Settings exploit or install Unlaunch. Without either of those, you cannot launch unlaunchable flashcards and you cannot dump ROMs to your SD card.
|
|
||||||
|
|
||||||
The flashcard white list is checked via RSA signatures are contained via RSA keys on every firmware expect 1.4.0. This means that people can white list their own carts
|
|
||||||
|
|
||||||
Before 1.4.0, the white list used to contain only two sections. In 1.4.0, they've introduced a third section which was made to block flashcards that got around the first two. The third section loads up to eight different section of the rom and checks them with a hash to see if the rom has been tampered with. However, due to the forgetfulness of putting any sanity check, we can overflow into the exception vector / interrupt address using a large enough value. Best of all, this runs on ARM7 (aka the security processor) so this makes it the first exploit for the ARM7 processor. Since this happens before the lock out of the SCFG registers, we can run advanced homebrew (such as Slot-1 dumpers & external slot-1 dumpers)
|
|
||||||
|
|
||||||
Unfortunately, the requirements are tight. It requires version 1.4.0 and a flashcard with a modified ROM. Also, the exploit never officially came out, due to Unlaunch being much simpler to install and having less requirements (just a way to get into homebrew) with the same advantages.
|
|
||||||
|
|
||||||
### Nintendo DSi Camera
|
|
||||||
The Nintendo DSi Camera application has the ability to take pictures in the JPEG and save them to either the System Memory or the SD card. The way it's loaded restricts it to only DSi made images, due to lacking the proper HMAC stored inside a custom EXIF tag. Any custom images are not readable on the DSi, whether its PC taken or PC edited.
|
|
||||||
|
|
||||||
A `pit.bin` file is used in order to load images. However, the header size at offset 0x16 is unchecked, so a big enough header size value can exceed boundaries and cause the buffer to overwrite and jump to unsigned code. This is how Memory Pit is powered.
|
|
||||||
|
|
||||||
### Nintendo DSi bootstage 2
|
|
||||||
The second bootstage of the Nintendo DSi loads launcher's "title.tmd" into memory. However, they do not specify a file size limit check, meaning that the first 80k bytes are loaded into RAM while the rest can be a custom payload. This is the basis of Unlaunch exploit.
|
|
||||||
|
|
||||||
### 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/).
|
|
@ -1,123 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: guides
|
|
||||||
title: Hardmod
|
|
||||||
description: How to hardmod a Nintendo DSi
|
|
||||||
tabs:
|
|
||||||
-
|
|
||||||
windows: Windows
|
|
||||||
other: macOS / Linux
|
|
||||||
---
|
|
||||||
|
|
||||||
Hardmodding is when you physically solder the motherboard of the Nintendo DSi to an SD card adapter in order to be read on a computer. This is useful for restoring NAND backups, viewing NAND on your PC, etc...
|
|
||||||
|
|
||||||
### Nintendo DS
|
|
||||||
[](/assets/images/ds-hardmod/mobo_pinout.png)
|
|
||||||
|
|
||||||
### Nintendo DSi
|
|
||||||
|
|
||||||
To hardmod a Nintendo DSi / DSi XL (LL) you will need:
|
|
||||||
- [Pencil tipped soldering iron](https://www.amazon.com/dp/B01N4571Q6)
|
|
||||||
- [Very fine wire](https://www.amazon.com/dp/B01MXGNTA4), 28AWG or smaller, preferably 30AWG+
|
|
||||||
- SD to microSD adapter
|
|
||||||
- An SD card reader able to read eMMC chips running in single data-line mode. [Here's a known working one](https://www.amazon.com/dp/B006T9B6R2)
|
|
||||||
- [Win32DiskImager](https://sourceforge.net/projects/win32diskimager/) and [HxD](https://mh-nexus.de/en/downloads.php?product=HxD20) if on Windows
|
|
||||||
- A valid NAND backup of the DSi you are hardmodding
|
|
||||||
- To be comfortable soldering to pads that are as small as 0.5mm in diameter
|
|
||||||
|
|
||||||
#### DSi side A pinouts
|
|
||||||
[](/assets/images/dsi-hardmod/side_a.jpg)
|
|
||||||
#### DSi side B pinouts
|
|
||||||
[](/assets/images/dsi-hardmod/side_b.png)
|
|
||||||
#### DSi XL side B pinouts
|
|
||||||
[](/assets/images/dsi-hardmod/dsi_xl_side_b.png)
|
|
||||||
|
|
||||||
- You will need to solder the points on the motherboard to the microSD card adapter
|
|
||||||
- CMD to pin 2
|
|
||||||
- GND to pins 3 and 6
|
|
||||||
- CLK to pin 5
|
|
||||||
- DAT0 to pin 7
|
|
||||||
|
|
||||||
#### Soldered microSD adapter example
|
|
||||||
[](/assets/images/dsi-hardmod/sd.jpg)
|
|
||||||
|
|
||||||
- Insert the microSD card adapter into your computer
|
|
||||||
- **WARNING** - Windows will ask you to format it: **DO NOT** format it - this might cause irrepairable damage
|
|
||||||
|
|
||||||
#### Removing the no$gba footer
|
|
||||||
You will first need to remove the NOCASH footer from the backup you are flashing to the DSi. This can be done by running the hiyaCFW helper application found [here](https://github.com/mondul/HiyaCFW-Helper/releases/latest).
|
|
||||||
|
|
||||||
1. Download the version for the operating system you are using
|
|
||||||
1. Run the script, selecting the NAND backup you wish to flash to your DSi
|
|
||||||
1. Switch to NAND mode with the button to the left of the file path
|
|
||||||
1. Click `Start` to create the NAND backup without the no$gba footer
|
|
||||||
|
|
||||||
- Once the script completes, there should be a file with a long name ending in `-no-footer.bin` in the folder where your terminal is open
|
|
||||||
- Use this file as the NAND image you flash onto the DSi
|
|
||||||
|
|
||||||
{% capture tab-windows %}
|
|
||||||
1. Open Win32DiskImager
|
|
||||||
1. Click the folder icon and browse to your desktop. In the text box, write `NAND_0.bin`. When selecting type, choose `All types *.*`
|
|
||||||
1. Choose the device that is the DSi and click read
|
|
||||||
1. Once it is done, click the folder icon, change the name to `NAND_1.bin` and read again
|
|
||||||
1. Open HxD and drag both files into the editor. Go to the top bar, click "Analysis", click "File compare" from the drop down menu, then click "Compare".
|
|
||||||
1. Choose to compare both files then click OK when done
|
|
||||||
- If it says "The chosen files are identical.", you are good to go to the next section
|
|
||||||
- If it doesn't say that, and both NANDs aren't around 240 MB, dump NAND_1 / NAND_0 again
|
|
||||||
1. Open Win32DiskImager, click the folder icon and choose your existing NAND backup you created before
|
|
||||||
1. Flash it with the `Write` button
|
|
||||||
1. Unplug the SD card adapter and attempt to turn on the DSi
|
|
||||||
{% endcapture tab-windows %}
|
|
||||||
{% assign tab-windows = tab-windows | split: "////////" %}
|
|
||||||
|
|
||||||
|
|
||||||
{% capture tab-other %}
|
|
||||||
1. Work out where the SD card is mounted
|
|
||||||
- Linux:
|
|
||||||
1. Unplug the SD card adapter
|
|
||||||
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* computer
|
|
||||||
|
|
||||||
- macOS:
|
|
||||||
1. Unplug the SD card adapter
|
|
||||||
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* computer
|
|
||||||
|
|
||||||
1. Dump the NAND
|
|
||||||
- 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`
|
|
||||||
- Then run `cat {device-name} > nand1.bin`
|
|
||||||
|
|
||||||
|
|
||||||
1. Compare NAND dumps
|
|
||||||
1. Run the following command:
|
|
||||||
- Linux: `md5sum nand0.bin nand1.bin`
|
|
||||||
- macOS: `md5 -r nand0.bin nand1.bin`
|
|
||||||
1. Check that the hash generated matches each other
|
|
||||||
1. If not, redump the NAND, adjusting the wiring if necessary
|
|
||||||
1. Keep on redumping the NAND until the hashes are identical
|
|
||||||
|
|
||||||
1. Flash NAND
|
|
||||||
1. Locate the NAND backup you created before on the console
|
|
||||||
1. Run the following command:
|
|
||||||
- `cat {existing-nand-backup} > {device-name}`
|
|
||||||
- Replace `{existing-nand-backup}` with the location and name of your old NAND backup
|
|
||||||
- Replace `{device-name}` with the mount point of the SD card
|
|
||||||
|
|
||||||
At this point you may unplug the SD card adapter and attempt to turn on the DSi. If all went well, the DSi should have booted to the state it was when the backup was created!
|
|
||||||
{% endcapture tab-other %}
|
|
||||||
{% assign tab-other = tab-other | split: "////////" %}
|
|
||||||
|
|
||||||
### Flashing the NAND backup
|
|
||||||
{% assign tabs = tab-windows | concat: tab-other %}
|
|
||||||
{% include tabs.html index=0 tabs=tabs %}
|
|
@ -1,47 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Homebrew
|
|
||||||
description: Information about homebrew on the Nintendo DS
|
|
||||||
---
|
|
||||||
|
|
||||||
### Development
|
|
||||||
|
|
||||||
Developing Nintendo DS Homebrew typically uses devkitPro tools, such as devkitARM, libnds, and libfat. However, there is the possibility to branch out and use alternative software:
|
|
||||||
|
|
||||||
- **SD card libraries:** [DevkitPro](https://devkitpro.org/) recommends [libfat](https://github.com/devkitPro/libfat). We recommend using [libslim](https://github.com/DS-Homebrew/libslim/) instead, as it allows usage of different partitions, quicker speeds, and non-blocking
|
|
||||||
- **Graphics libraries:** We recommend using [easyGL2D](http://rel.phatcode.net/junk.php?id=117), which comes shipped with libnds. However, you can use [NightFox Lib](https://github.com/knightfox75/nds_nflib)
|
|
||||||
- **Entire toolchains:** We recommend using [devkitARM](https://devkitpro.org/wiki/Getting_Started) and [libnds](https://libnds.devkitpro.org/), as it includes DSi compatibility and has a larger ecosystem. However, if your target is exclusively flashcards on a Nintendo DS, feel free to use [ToolchainGenericDS](https://bitbucket.org/Coto88/toolchaingenericds)
|
|
||||||
|
|
||||||
### Flashcards
|
|
||||||
|
|
||||||
DS mode flashcards are a slot-1 method of running Nintendo DS applications. Flashcards have the advantages of keeping console files and portable files separate, the ability to be used without modding your system and are usable on DS Phat/Lite consoles. However, unlike modding the actual console, there are multiple flashcards on the market, each with different kernel requirements. The kernel you use is the most important.
|
|
||||||
|
|
||||||
[There is a **work in progress** flashcard index](https://nightyoshi370.github.io/mm-github-pages-starter/), which has kernels, firmware, reviews and purchase links.
|
|
||||||
|
|
||||||
### DLDI
|
|
||||||
|
|
||||||
Different SD card slots have different hardware (most of the time) and code written for one card won't necessarily work for another card. DLDI (short for Dynamically Linked Device Interface) attempts to solve this by having the SD card handling code patched in externally. Loaders like YSMenu, Wood R4 and TWiLight Menu++ can automatically DLDI patch a homebrew, but if you need to manually patch it in, feel free to use a [DLDI Patcher](https://www.chishm.com/DLDI#tools) depending on your device.
|
|
||||||
|
|
||||||
### Time bomb
|
|
||||||
|
|
||||||
A time bomb is a expiration date on flashcard kernels that manufacturers use to force users to buy a new card. Once your system clock goes beyond a certain date, the kernel will refuse to boot past the expiration screen. Thankfully, a flag is not set anywhere and it's handled in the flashcard firmware, giving us two options for workarounds:
|
|
||||||
|
|
||||||
- Since it relies on the system clock, you can set back the date. This will break any game that uses your system clock, but it will allow you to use the default kernel.
|
|
||||||
- Since it relies on the kernel and not the firmware, you can switch to an alternative kernel. There are two options available:
|
|
||||||
- [YSmenu](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/) -- The menu is quite ugly and only displays `.nds` files, but it has far better game support, cheat support and no memory pak requirement
|
|
||||||
- [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu) -- This is useful if you'd like to have all your ROMs from various consoles in the same menu, there are two ways to run DS games with TWiLight Menu++:
|
|
||||||
- With nds-bootstrap on flashcard: Requires a Memory Expansion Pak for extended game compatibility and does not support cheats. But works on all flashcards that TWiLight Menu++ does
|
|
||||||
- With YSMenu: Gets the compatibility benefits of YSMenu with the better menu of TWiLight Menu++, however, cheats are not supported currently
|
|
||||||
|
|
||||||
We recommend YSMenu, with TWiLight Menu++ if you prefer it, due to the higher compatibility, and lack of need for a Memory Expansion Pak. If you want to setup YSMenu, DeadSkullzJr has made a [Dropbox repo](https://www.dropbox.com/sh/egadrhxj8gimu5t/AACv2KqWmeXEHkxoYRluobxha?dl=0) with all the primary boot kernels set up for your flashcard. All it requires is a drag and drop to your SD card root and you have completed. Instructions on how to install TWiLight Menu++ are [on the flashcard install page](../twilightmenu/installing-flashcard).
|
|
||||||
|
|
||||||
In order to test whether your flashcard has a time bomb, set the date on your system to the latest value possible and launch the flashcard.
|
|
||||||
|
|
||||||
### ARGV support
|
|
||||||
ARGV is an information transmitter between two homebrew Nintendo DS applications. It can be used for forwarders or alternative menus.
|
|
||||||
|
|
||||||
- The homebrew needs to be programmed in order to take advantage of it. For example, GBARunner2, NesDS, and GameYob all have ARGV implementation
|
|
||||||
- There also needs to have a way to set the ARGV variables. TWiLight Menu++ and HBMenu allow setting ARGV arguments
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
title: Nintendo DS Modding Index
|
|
||||||
description: An explanation of all things DS modding
|
|
||||||
---
|
|
||||||
|
|
||||||
Welcome to the Nintendo DS modding resources section. This will attempt to explain most things related to Nintendo DS modding as well as be a basic introduction to the NTR firmware of the Nintendo DS, the TWL firmware of the Nintendo DSi, and TWL_FIRM of the Nintendo 3DS.
|
|
@ -1,65 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Retail ROMs
|
|
||||||
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 Wood R4 purposes, these patches are included in the software itself. You will not need to modify the ROM itself.
|
|
||||||
|
|
||||||
In case there isn't a `.ips` file for your ROM or your software didn't patch your ROM, you can try directly modifying the ROM itself using [nds-scene tool](https://gbatemp.net/download/retrogamefan-nds-rom-tool-v1-0_b1215.35735/)
|
|
||||||
|
|
||||||
### Cloneboot
|
|
||||||
Cloneboot is when a game sends it's own loaded 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.
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
- EEPROM - Electrically Erasable Programmable Read-Only Memory
|
|
||||||
- FLASH
|
|
||||||
- FRAM - Ferroelectric Random-Access Memory
|
|
||||||
- NAND - NOT-AND
|
|
||||||
|
|
||||||
Though rare, there are DS Cartridges with NAND based saves: WarioWare DIY & Jam with the Band (USA)/Daigasso Band Brothers
|
|
||||||
|
|
||||||
There are different formats to use depending on the loader, but nds-bootstrap uses the raw `.sav` format. If you use a different format, here is a website you can use to convert it: http://www.shunyweb.info/convert.php
|
|
||||||
|
|
||||||
### Assembly
|
|
||||||
Assembly language is any low-level programming language with a strong connection between the language's instructions and the processor's instructions. On the DS, assembly code comes in the form of either ARM or THUMB instructions, THUMB instructions being a subset of the ARM instructions. THUMB is useful to save memory bandwidth as it uses 16-bit instructions over the regular 32-bit instructions that ARM uses. You can find more information on assembly instructions, as well as a lot more technical information for the DS and DSi, on [GBATEK](https://problemkaputt.de/gbatek.htm).
|
|
||||||
|
|
||||||
### Card read DMA
|
|
||||||
Card DMA (stands for Direct Memory Access) is a more efficient way to read cartridge data than by software. When there isn't any data available, code can still execute. In software cartridge data reads, polling the register to see if there is new data wastes times. It is the preferred way of accessing data.
|
|
||||||
|
|
||||||
You can spot a game that uses dma via no$gba by enabling the DMA log on ARM9. A DMA access to the card uses AF000001 as the third parameter.
|
|
||||||
- For example: `DMA2: 04100010 023C18C0 AF000001`
|
|
||||||
|
|
||||||
### Action Replay cheats
|
|
||||||
Action Replay cheat codes are codes that allow you to make low-level programmable changes in the memory region of your favorite game(s). These changes range from simple value tweaks to extremely advanced ASM tweaks, both of which can alter the experience of the game(s) being played altogether.
|
|
||||||
|
|
||||||
Flashcards can take advantage of cheat codes by using cheat databases. Cheat functionality is integrated within the flashcard kernel respectively. The following kernels can utilize cheats:
|
|
||||||
- Wood R4 (`usrcheat.dat`)
|
|
||||||
- YSMenu (`usrcheat.dat`)
|
|
||||||
|
|
||||||
Homebrew / digital based solutions can also take advantage of the cheat databases, the software currently available can use the following:
|
|
||||||
- [NitroHax](https://www.chishm.com/NitroHax) (`cheats.xml`)
|
|
||||||
- NitroHax lets you use cheats with real game cards from a flashcard. The engine used here loads the entire cheats.xml database into the Nintendo DS's limited RAM and tries to manage things from there. This imposes a serious limit on how many cheats you can have, as NitroHax will not load a cheats.xml file past 2.4 MB
|
|
||||||
- [NitroHax3DS](https://github.com/ahezard/NitroHax3DS/releases) ([usrcheat.dat fork](https://github.com/Epicpkmn11/NitroHax3DS/releases)) (`cheats.xml` or `usrcheat.dat`)
|
|
||||||
- NitroHax3DS is a version of NitroHax that runs from the system's SD card on DSi or 3DS. The original version uses cheats.xml with the same 2.4 MB limit as the original NitroHax, but there is also a fork that loads cheats from a usrcheat.dat database with no size limitation
|
|
||||||
- [TWiLight Menu++](https://github.com/DS-Homebrew/TWiLightMenu/releases) (`usrcheat.dat`)
|
|
||||||
- TWiLight Menu++ reads the `usrcheat.dat` and sends off the enabled cheat values to another file, which nds-bootstrap picks up
|
|
||||||
- The cheat engine used in nds-bootstrap is based on the one used in NitroHax. However, due to the cheat file containing only enabled cheats for that specific title, there is only a limit to how many cheats can be enabled, not a limit on the database size
|
|
||||||
- Bootstrap 4 DS (the nds-bootstrap version used on flashcards) does not support cheats, due to not having enough RAM and the limitations of the Memory Expansion Pack
|
|
||||||
|
|
||||||
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).
|
|
||||||
|
|
||||||
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.
|
|
@ -1,48 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: ds-index
|
|
||||||
category: reference
|
|
||||||
title: Wi-Fi
|
|
||||||
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 WPA and WPA2 support
|
|
||||||
|
|
||||||
Hotspots are usable, so you don't need to change your router configuration.
|
|
||||||
|
|
||||||
### 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:
|
|
||||||
- **Wiimmfi** - `164.132.44.106`
|
|
||||||
- **AltWFC/WFCZwei** - `172.104.88.237` or `104.131.93.87`
|
|
||||||
- **BenFi** - `24.218.177.103`
|
|
||||||
- **Twilit WFC** - `34.66.49.81`
|
|
||||||
1. Set `1.1.1.1` as your secondary DNS
|
|
||||||
1. You might need to NoSSL patch your game at this point, depending on the game
|
|
||||||
|
|
||||||
### 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 receiving any errors, you can enter the error code in wiimmfi's [troubleshooter](https://wiimmfi.de/error) for ways to fix it.
|
|
||||||
|
|
||||||
For more specific troubleshooting and more information, such as how to connect to online on emulators, you can read this [Wiimmfi Guide](https://docs.google.com/document/d/1f3PChwQig40UaiPXlh-Gi5CggGiBPzyrpiecLZlT8ZE/edit?usp=sharing) written by members of the [Mario Kart DS Network](https://discord.gg/pa9bea6).
|
|
@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
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 TWiLight Menu++) have [Normatt's Open Source BIOS](https://github.com/Normmatt/gba_bios) built-in. However, because it is not an exact copy, using a dump of the official BIOS increases compatibility. You can dump an official GBA BIOS with one of the following methods.
|
|
||||||
|
|
||||||
### Dumping Guides
|
|
||||||
|
|
||||||
- [Wii (not family edition) / GameCube + link cable dumper](https://github.com/FIX94/gba-link-cable-dumper)
|
|
||||||
- [3DS using most Virtual Console titles](https://glazedbelmont.github.io/gbabiosdump/#virtual-console-title-from-a-3ds) (Can't be GBA or non-Nintendo (Game Gear) Virtual Console Titles)
|
|
||||||
- [GBA or DS Phat / Lite with a GBA flashcard](https://glazedbelmont.github.io/gbabiosdump/#gameboy-advance-sp-micro-ds-ds-lite)
|
|
||||||
|
|
||||||
After dumping the BIOS, it must be renamed to `bios.bin` and then should be placed in `sd:/`, `sd:/gba/`, or `sd:/_gba/` for GBARunner2 to read it.
|
|
||||||
|
|
||||||
You can verify that your BIOS is a proper dump by comparing it with the following checksums:
|
|
||||||
|
|
||||||
**CRC32:** `81977335`
|
|
||||||
|
|
||||||
**MD5:** `a860e8c0b6d573d191e4ec7db1b1e4f6`
|
|
||||||
|
|
||||||
**SHA1:** `300c20df6731a33952ded8c436f7f186d25d3492`
|
|
||||||
|
|
||||||
**SHA256:** `fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570`
|
|
@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: gbarunner2
|
|
||||||
title: FAQ & Troubleshooting
|
|
||||||
long_title: GBARunner2 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 Wi-Fi link features?
|
|
||||||
|
|
||||||
You will need a build from the [wifi_link](https://github.com/Gericom/GBARunner2/tree/wifi_link) branch to use the features. You can find detailed instructions on how to setup the builds on its [GBATemp Wiki page](https://wiki.gbatemp.net/wiki/GBARunner2/Link).
|
|
@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: gbarunner2
|
|
||||||
title: Home
|
|
||||||
description: Information on how to use GBARunner2
|
|
||||||
---
|
|
||||||
|
|
||||||
GBARunner2 is an [open-source](https://github.com/Gericom/GBARunner2) hypervisor that runs GBA games on DS / DSi / 3DS in DS mode. Basically, like [Nintendont](https://github.com/FIX94/Nintendont) does for running GameCube games on Wii.
|
|
||||||
|
|
||||||
Along with what this wiki has to offer, the GBARunner compatibility lists have a lot of useful information:
|
|
||||||
- [DS flashcard](https://wiki.gbatemp.net/wiki/GBARunner2)
|
|
||||||
- [DSi / 3DS](https://wiki.gbatemp.net/wiki/GBARunner2/DSi_3DS_Compatibility_List)
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: default
|
|
||||||
title: Home
|
|
||||||
---
|
|
||||||
|
|
||||||
# Welcome to the DS-Homebrew Wiki!
|
|
||||||
|
|
||||||
This site is where you can find wikis for TWiLight Menu++ and other DS-Homebrew projects. Click on one of the sections at the top, then a list of pages will be on the left.
|
|
||||||
|
|
||||||
If you would like to help contribute you can find the source code on [GitHub](https://github.com/{{ site.repo }}) or help translate on [Crowdin](https://crowdin.com/project/ds-homebrew-wiki). To discuss this or get help with anything on it, please join the [DS⁽ⁱ⁾ Mode Hacking](https://ds-homebrew.com/discord) Discord server (English only).
|
|
@ -1,53 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: nds-bootstrap
|
|
||||||
category: other
|
|
||||||
title: FAQ & Troubleshooting
|
|
||||||
long_title: nds-bootstrap 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 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/`
|
|
||||||
|
|
||||||
#### 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-bootstrap [here](https://github.com/TWLBot/Builds/raw/master/nds-bootstrap.7z).
|
|
||||||
|
|
||||||
#### Why do my cheats not work?
|
|
||||||
The way E cheat types are implemented in nds-bootstrap is broken, meaning they'd only work half of the time. Your cheat probably uses that type. It is not a fault of the cheat database, but rather a fault of nds-bootstrap. Please do not request these cheats to get deleted from the DB.
|
|
||||||
|
|
||||||
#### Is there anything else I should know about cheats?
|
|
||||||
You can set heap shrink to `Hi` in settings for slightly better cheat support.
|
|
||||||
|
|
||||||
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 67 MHz, DS Mode, with 32 kHz of audio, etc. Basically, keep everything to DS settings. Don't try to improve it with DSi stuff
|
|
||||||
2. Delete the `fatTable` and `patchOffsetCache` folders in `sd:/_nds/nds-bootstrap/`
|
|
||||||
3. It's probably not that big of an issue; ask in the [Discord server](https://discord.gg/yD3spjv)
|
|
||||||
|
|
||||||
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.
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: nds-bootstrap
|
|
||||||
title: Home
|
|
||||||
description: Information on how to use nds-bootstrap
|
|
||||||
---
|
|
||||||
|
|
||||||
# Welcome to the nds-bootstrap Wiki
|
|
||||||
|
|
||||||
nds-bootstrap is an open-source application that allows Nintendo DS / DSi ROMs and homebrew to be natively utilized rather than using an emulator. nds-bootstrap works on Nintendo DSi / 3DS SD cards through CFW and on Nintendo DS through flashcards.
|
|
@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: nds-bootstrap
|
|
||||||
category: other
|
|
||||||
title: Compatibility List & Testing Tips
|
|
||||||
description: Compatibility list and tips for testing games
|
|
||||||
---
|
|
||||||
|
|
||||||
### 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
|
|
@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: other
|
|
||||||
title: GodMode9i
|
|
||||||
description: Information about GodMode9i
|
|
||||||
---
|
|
||||||
|
|
||||||
Information for [GodMode9i](https://github.com/DS-Homebrew/GodMode9i), a full access file browser for the Nintendo DS, Nintendo DSi and the Nintendo 3DS's TWL_FIRM.
|
|
||||||
|
|
||||||
### 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/).
|
|
@ -1,24 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: other
|
|
||||||
title: hiyaCFW
|
|
||||||
description: Information about 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 1 MiB for ideal performance and must be under around 10 MiB between the two absolute maximum
|
|
||||||
- If both loop infinitely then they will be shown for 3 seconds, otherwise they will be shown until both are complete
|
|
||||||
- If a frame has the user input flag set it will wait until the delay runs out or any button is pressed, whichever comes first
|
|
||||||
- Interlaced and plain text frames are ***not*** supported
|
|
||||||
- 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
|
|
@ -1,9 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: other
|
|
||||||
title: Home
|
|
||||||
description: Information about other DS-Homebrew projects
|
|
||||||
---
|
|
||||||
|
|
||||||
This section has information on other DS-Homebrew projects that aren't big enough to need a full section of the wiki.
|
|
@ -1,68 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Controls
|
|
||||||
long_title: TWiLight Menu++ Controls
|
|
||||||
description: Controls for using TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
#### Nintendo DSi, Nintendo 3DS, SEGA Saturn, and Homebrew Launcher themes
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Select a game / app
|
|
||||||
- <kbd class="face">A</kbd> / <kbd>START</kbd>: Launch game / app
|
|
||||||
- <kbd class="l">L</kbd> / <kbd class="r">R</kbd> or <kbd>SELECT</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd>: Switch pages
|
|
||||||
- (DSi/Saturn/HBL theme) <kbd>SELECT</kbd> + <kbd>Up</kbd> / <kbd>Down</kbd> & release <kbd>SELECT</kbd>: Switch between the SD card and flashcard
|
|
||||||
- <kbd class="face">Y</kbd>: Per-game settings
|
|
||||||
- <kbd class="face">X</kbd>: Cheat menu
|
|
||||||
- <kbd class="face">A</kbd>: Toggle cheat
|
|
||||||
- <kbd class="face">B</kbd>: Exit cheat menu
|
|
||||||
- <kbd class="face">X</kbd>: Save and exit cheat menu
|
|
||||||
- <kbd class="face">Y</kbd>: Show cheat description
|
|
||||||
- <kbd class="l">L</kbd>: Disable all cheats
|
|
||||||
- <kbd class="face">X</kbd>: Delete/hide game
|
|
||||||
- (DSi/Saturn/HBL theme) <kbd>SELECT</kbd>: SELECT menu or DS Classic Menu (Where system menu, TWLMenu++ Settings, and GBA Mode can be accessed)
|
|
||||||
|
|
||||||
#### R4 theme
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Select a game / app
|
|
||||||
- <kbd class="face">A</kbd>: Launch game / app
|
|
||||||
- <kbd class="l">L</kbd>: Switch between the SD card and flashcard
|
|
||||||
- <kbd class="face">Y</kbd>: Per-game settings
|
|
||||||
- <kbd class="face">X</kbd>: Cheat menu
|
|
||||||
- <kbd class="face">A</kbd>: Toggle cheat
|
|
||||||
- <kbd class="face">B</kbd>: Exit cheat menu
|
|
||||||
- <kbd class="face">X</kbd>: Save and exit cheat menu
|
|
||||||
- <kbd class="face">Y</kbd>: Show cheat description
|
|
||||||
- <kbd class="l">L</kbd>: Disable all cheats
|
|
||||||
|
|
||||||
#### DS ROMs (using nds-bootstrap)
|
|
||||||
- <kbd class="l">L</kbd> + <kbd class="r">R</kbd> + <kbd>Up</kbd> + <kbd class="face">X</kbd> for 1 second: Swap the screens
|
|
||||||
- <kbd class="l">L</kbd> + <kbd class="r">R</kbd> + <kbd>Down</kbd> + <kbd class="face">A</kbd> for 3 seconds: Dump RAM to `sd:/_nds/nds-bootstrap`, as `ramDump.bin`
|
|
||||||
- <kbd class="l">L</kbd> + <kbd>Down</kbd> + <kbd>SELECT</kbd>: Open the in-game menu
|
|
||||||
- RAM Viewer
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Scroll
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Fast scroll
|
|
||||||
- <kbd class="face">A</kbd>: Enter RAM Editor
|
|
||||||
- <kbd class="face">B</kbd>: Return to in-game menu
|
|
||||||
- <kbd class="face">Y</kbd>: Specify an address to jump to
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Increase / Decrease selected value
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Select a value
|
|
||||||
- <kbd class="face">A</kbd> / <kbd class="face">B</kbd>: Return to RAM Viewer/Editor at specified address
|
|
||||||
- RAM Editor
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd> / <kbd>Left</kbd> / <kbd>Right</kbd>: Select a value
|
|
||||||
- <kbd class="face">A</kbd>: Modify selected value
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Increase / Decrease value by 1h
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Increase / Decrease value by 10h
|
|
||||||
- <kbd class="face">A</kbd> / <kbd class="face">B</kbd>: Finish modifying value
|
|
||||||
- <kbd class="face">B</kbd>: Return to RAM Viewer
|
|
||||||
- <kbd class="face">Y</kbd>: Specify an address to jump to
|
|
||||||
- <kbd>Up</kbd> / <kbd>Down</kbd>: Increase / Decrease selected value
|
|
||||||
- <kbd>Left</kbd> / <kbd>Right</kbd>: Select a value
|
|
||||||
- <kbd class="face">A</kbd> / <kbd class="face">B</kbd>: Return to RAM Viewer/Editor at specified address
|
|
||||||
|
|
||||||
#### Boot shortcuts
|
|
||||||
These should be pressed on the TWiLight Menu++ splash screen / right after the Nintendo DSi splash screen.
|
|
||||||
|
|
||||||
- <kbd>SELECT</kbd>: Open settings
|
|
||||||
- <kbd class="face">A</kbd> + <kbd class="face">B</kbd> + <kbd class="face">X</kbd> + <kbd class="face">Y</kbd>: Reset all TWiLight Menu++ settings
|
|
||||||
- <kbd class="face">B</kbd>: Boot the last ran ROM or vice versa depending on if autobooting the last ran ROM is enabled
|
|
@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Creating RAM Disks
|
|
||||||
description: How to create RAM disks for using old DS homebrew with TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
You do not need to follow this if you're using a flashcard.
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
To make a RAM disk, download [this](http://memory.dataram.com/products-and-services/software/ramdisk#freeware) tool (click `Download Software`), and follow the instructions below.
|
|
||||||
|
|
||||||
Instructions by @Dakkon7, modified by RocketRobz:
|
|
||||||
|
|
||||||
1. Run RAMDisk
|
|
||||||
1. Click **View** -> **Advanced**
|
|
||||||
1. For **Disk Size**, type `12` for DSi, or `28` for 3DS, above **Max 1023 MB**
|
|
||||||
1. Un-mark **Create TEMP Directory**, if it's already marked
|
|
||||||
1. Click **Load/Save**
|
|
||||||
1. Click `Start RAMDisk`, and a new window for your .img should appear
|
|
||||||
1. Place any file and/or folder the homebrew expects there, and/or file(s) you want to use
|
|
||||||
1. In the RAMDisk program, click `Save Disk Image Now`
|
|
||||||
1. Save `romname.img` to a folder called `ramdisks` in the .nds file location
|
|
||||||
1. Click `Stop RAMDisk` when you're done
|
|
||||||
1. In TWiLight Menu++, open per-game settings for your homebrew
|
|
||||||
1. Set RAM disk to 0
|
|
||||||
1. Launch your homebrew, and it should read your RAM disk
|
|
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: Custom Boot Splashes
|
|
||||||
description: How to use custom splash screens for TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
You can use custom GIF files to have custom splash screens while booting TWiLight Menu++. They need to be named `splashtop.gif` and `splashbottom.gif` and be in `sd:/_nds/TWiLightMenu/extras`, then set `DSi Splash Screen` to `Custom` in TWiLight Menu++ settings.
|
|
||||||
|
|
||||||
Most GIF files up to 256x192 should work, with a few exceptions:
|
|
||||||
- GIF files over 1 MiB (DSi Mode) or 256 KiB (DS Mode) may not play at full speed as they will be decompressed on the fly
|
|
||||||
- Between the two, the GIFs must be less than about 10 MB (DSi Mode) or about 2 MB (DS Mode)
|
|
||||||
- If both GIFs are set to loop forever then they will show for 3 seconds, so set a loop count on at least one to control the time
|
|
||||||
- The user input flag is supported so set it and a long delay on a frame if you want to show a splash and wait like the defaults
|
|
||||||
- Only the GIF waiting for input will be paused, so the other can continue animating
|
|
||||||
- If using Local Color Tables the whole frame must be overwritten as it will replace the whole screen's palette, not just the current frame
|
|
||||||
- Interlaced and text frames will not work
|
|
@ -1,58 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: DSi / 3DS Skins - Custom SFX
|
|
||||||
description: How to use custom background music and sound effects in DSi and 3DS skins for TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
TWiLightMenu supports custom sound files in themes. Place your sound files under the `sound` subdirectory in your theme folder, for example for the `white` theme, you would place the files at `themes/white/sound/sfx.bin` and `themes/sound/bgm.pcm.raw` respectively. Both files are optional, if one is missing the default music will be used. You should then also set the music option in settings to "Theme".
|
|
||||||
|
|
||||||
These instructions assume you have devkitPro installed with mmutil. You can get devkitPro at the [devkitPro website](https://devkitpro.org/wiki/Getting_Started).
|
|
||||||
|
|
||||||
## Sound Effect Bank
|
|
||||||
The sound effect bank contains sound effects such as the icon select sound, etc.
|
|
||||||
|
|
||||||
| File | Description |
|
|
||||||
| ----------- | -------------------------------------------------------------------------------------- |
|
|
||||||
| startup.wav | Played on startup. See the section on [Startup sound](#startup-sound) for more details |
|
|
||||||
| back.wav | Back |
|
|
||||||
| launch.wav | Played when launching a game |
|
|
||||||
| select.wav | Played when moving the select cursor |
|
|
||||||
| wrong.wav | Played when reaching the end of the page |
|
|
||||||
| switch.wav | Played when switching pages |
|
|
||||||
| stop.wav | Played on the DSi Theme when the select cursor stops moving |
|
|
||||||
| bgm.pcm.raw | Not part of the soundbank. See the section on [Menu BGM](#menu-bgm) for more details |
|
|
||||||
|
|
||||||
You can then run `make` to make the sound effect bank. All files listed above, except *bgm.pcm.raw* are required, but you can make them silent.
|
|
||||||
|
|
||||||
Your resulting *sfx.bin* **must be under 512000B = 512 kB**. Any larger will result in either crashes or some sounds not playing fully.
|
|
||||||
|
|
||||||
### Startup sound
|
|
||||||
While the other sound effects will work with any WAV file, the startup sound must be in a specific format in order to work properly, otherwise there will be a gap between when the startup sound stops and the background music begins.
|
|
||||||
|
|
||||||
The startup.wav file must be **16-bit 16 kHz**. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**.
|
|
||||||
|
|
||||||
If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**.
|
|
||||||
|
|
||||||
You must set `PlayStartupJingle=1` in your `theme.ini` for the startup jingle to play.
|
|
||||||
|
|
||||||
|
|
||||||
## Menu BGM
|
|
||||||
|
|
||||||
Menu BGM needs to be a **16-bit 16 kHz Mono** raw PCM file. You can use [Audacity](https://www.audacityteam.org/download/) for example to convert to this format. Once the file is loaded in Audacity, change the **Project Rate (Hz)** to **16000**, then press **Shift+M**, and change the **Format** to **16-bit PCM**.
|
|
||||||
|
|
||||||
If your file is in Stereo, you should also go to **Tracks > Mix > Mix Stereo down to Mono**.
|
|
||||||
|
|
||||||
To export in the correct format, do:
|
|
||||||
1. Select `File` > `Export` > `Export Audio...`
|
|
||||||
1. Set `File Type` to `Other uncompressed files`
|
|
||||||
1. Set `Header` to `RAW (header-less)`
|
|
||||||
1. Set `Encoding` to `Signed 16-bit PCM`
|
|
||||||
1. Set the output name to `bgm.pcm.raw` and click `Save`
|
|
||||||
1. Click `OK` to the metadata editing
|
|
||||||
|
|
||||||
Now you have a `bgm.pcm.raw` file that can be copied to the *sound* subfolder in your theme folder.
|
|
||||||
|
|
||||||
Unlike sfx.bin, *bgm.pcm.raw* can be arbitrarily large.
|
|
@ -1,131 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: How to Create DSi / 3DS Skins
|
|
||||||
description: How to make custom DSi and 3DS skins for TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
The easiest way of customizing a theme is by editing the png textures in a theme's `ui`, `battery`, and/or `volume` folders. These files can be any png with one minor caveat in that only pixels that are 100% transparent will be rendered transparently, any other opacity will be drawn as fully opaque. Also, any part that is transparent in one of a set (ex. all the battery icons) should be transparent in all since transparent pixels are simply skipped rather than reverted to the background, so any part that is transparent in only some should have the background texture rather than transparency. These textures are allowed to vary in size, but may require tweaking of the theme configuration to render correctly (see below).
|
|
||||||
|
|
||||||
Changes to paletted textures are more involved. Within the `grit` and `background_grit` folders of a theme, the various image files may be edited. You will also require [devkitPro's toolchains](https://devkitpro.org) with GRIT installed. Once you have finished editing your files, you must run
|
|
||||||
```bash
|
|
||||||
$ make
|
|
||||||
```
|
|
||||||
in order to compile your themes into Grit RIFF Format. This will compile your paletted textures into **.grf** format in the `grf` folder. Do not make changes to the `.grit` files until you have read the [advanced theming](#advanced-theming) section below.
|
|
||||||
|
|
||||||
Be aware the paletted textures come with more restrictions than BMP textures, the primary being an absolute maximum of 16 colors per texture. However, some textures may have even tighter default palette restrictions, which can be modified at the risk of running out of palette memory (see below).
|
|
||||||
|
|
||||||
The example themes are in the [`romsel_dsimenutheme/resources/dsimenu_theme_examples` folder](https://github.com/DS-Homebrew/TWiLightMenu/tree/master/romsel_dsimenutheme/resources/dsimenu_theme_examples) in TWiLight Menu++'s repository. To download them, [download the repository](https://github.com/DS-Homebrew/TWiLightMenu/archive/master.zip) or clone it with git, then find that folder.
|
|
||||||
|
|
||||||
## Theme file descriptions
|
|
||||||
|
|
||||||
The `volume` and `battery` textures are self explanatory.
|
|
||||||
|
|
||||||
### Background textures (`background_grit` folder)
|
|
||||||
|
|
||||||
| Texture | Description |
|
|
||||||
| ------------------ | ------------------------------------------------------------------------------------------------- |
|
|
||||||
| bottom | The bottom background texture when not hovering over an icon |
|
|
||||||
| bottom_bubble | The bottom background texture when hovering over an icon |
|
|
||||||
| bottom_ds | For the 3DS theme, the bottom background texture when not hovering over an icon when on a DS lite |
|
|
||||||
| bottom_bubble_ds | For the 3DS theme, the bottom background texture when hovering over an icon when on a DS lite |
|
|
||||||
| top | The top background |
|
|
||||||
|
|
||||||
### Paletted textures (`grit` folder)
|
|
||||||
|
|
||||||
| Texture | Description | Palette Restrictions (if less than 16) |
|
|
||||||
| ------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
|
|
||||||
| bips | The bips displayed on the bottom of the scrollbar (DSi Theme) | |
|
|
||||||
| box | The box texture, containing both full and empty textures (DSi Theme) | |
|
|
||||||
| box_empty | The texture displayed for an empty box (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default |
|
|
||||||
| box_full | The texture displayed for a box with an icon (3DS Theme) | On the 3DS theme, the transparent color is `#E0DAD9` by default |
|
|
||||||
| brace | The brace texture shown past the first and last icon (DSi Theme) | 4 Colors |
|
|
||||||
| bubble | The bottom bit of the bubble that draws over the start border or icon box | 8 Colors |
|
|
||||||
| button_arrow | The textures for the arrows on either side of bottom scrollbar (DSi Theme) | |
|
|
||||||
| cornerbutton | The buttons that are displayed on the SELECT menu (DSi Theme) (The name is based on an old use) | |
|
|
||||||
| cursor | The border with animation frames that indicate the selected icon (3DS Theme) | |
|
|
||||||
| dialogbox | The background of the dialog box that slides down | |
|
|
||||||
| folder | The icon for folders | |
|
|
||||||
| icon_gb | The icon for Game Boy games | |
|
|
||||||
| icon_gba | The icon for GBA games (All themes) and the top icon to launch GBARunner2 (3DS Theme) | The default transparent color is `#00FF00` |
|
|
||||||
| icon_gbamode | The icon for native GBA Mode | |
|
|
||||||
| icon_gg | The icon for Game Gear games | |
|
|
||||||
| icon_manual | The icon for the manual | |
|
|
||||||
| icon_md | The icon for Mega Drive games | |
|
|
||||||
| icon_nes | The icon for NES games | |
|
|
||||||
| icon_plg | The icon for DSTWO plugins | |
|
|
||||||
| icon_settings | The icon for Nintendo DSi Settings | |
|
|
||||||
| icon_sms | The icon for Sega Master System games | |
|
|
||||||
| icon_snes | The icon for SNES games | |
|
|
||||||
| icon_unk | The icon displayed when a game is missing an icon | |
|
|
||||||
| launch_dot | The dots displayed when a game is launched (DSi Theme) | |
|
|
||||||
| moving_arrow | The arrow displayed when a game is being moved (DSi Theme) | |
|
|
||||||
| progress | The progress loading animation with 8 frames | 9 Colors |
|
|
||||||
| scroll_window | The part of the scrollbar that indicates the icons that are in view | 7 Colors |
|
|
||||||
| small_cart | The icons displayed along the top (3DS Theme) and in the SELECT menu (DSi Theme) | |
|
|
||||||
| start_border | The border with animation frames that indicates the selected icon (DSi Theme) | |
|
|
||||||
| start_text | The text displayed on the start border (DSi Theme) | 4 Colors |
|
|
||||||
| wirelessicons | The icons displayed to indicate a game has wireless support | 7 Colors |
|
|
||||||
|
|
||||||
### UI textures (`ui` folder)
|
|
||||||
|
|
||||||
| Texture | Description |
|
|
||||||
| ---------------- | ------------------------------------------------------- |
|
|
||||||
| date_time_font | The font to display the date and time |
|
|
||||||
| Lshoulder | The left shoulder |
|
|
||||||
| Lshoulder_greyed | The left shoulder when there are no pages to the left |
|
|
||||||
| Rshoulder | The right shoulder |
|
|
||||||
| Rshoulder_greyed | The right shoulder when there are no pages to the right |
|
|
||||||
|
|
||||||
### Video texture (`video` folder)
|
|
||||||
|
|
||||||
`3dsRotatingCubes.rvid` is a Rocket Video file. For more information on converting videos to rvid, read [Converting a video to .rvid](https://github.com/RocketRobz/Vid2RVID/wiki/Converting-a-video-to-.rvid) on the Vid2RVID wiki. If you don't want this to be drawn you can simply delete it.
|
|
||||||
|
|
||||||
## Theme configuration
|
|
||||||
|
|
||||||
You may configure various options on how the theme is drawn in the `theme.ini` to accommodate larger sprites or textures.
|
|
||||||
|
|
||||||
| Value | Description | Default (3DS) | Default (DSi) |
|
|
||||||
| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------- | ------------- |
|
|
||||||
| `StartBorderRenderY` | The initial Y position of the Start Border | 92 | 81 |
|
|
||||||
| `StartBorderSpriteW` | The width of the start border sprite. Note that the start border texture is exactly half of the full border. | 32 | 32 |
|
|
||||||
| `StartBorderSpriteH` | The height of the start border sprite | 64 | 80 |
|
|
||||||
| `TitleboxRenderY` | The initial Y position of the title text drawn | 96 | 85 |
|
|
||||||
| `BubbleTipRenderY` | The Y position of the tip of the bubble that is drawn over the start border | 98 | 80 |
|
|
||||||
| `BubbleTipRenderX` | The X position of the tip of the bubble that is drawn over the start border | 125 | 22 |
|
|
||||||
| `BubbleTipSpriteH` | The height of the bubble tip sprite | 7 | 8 |
|
|
||||||
| `BubbleTipSpriteW` | The width of the bubble tip sprite | 7 | 11 |
|
|
||||||
| `RotatingCubesRenderY` | The Y position on the top screen to draw the rotating cubes | 78 | N/A |
|
|
||||||
| `ShoulderLRenderY` | The Y position on the top screen to draw the left shoulder | 172 | 172 |
|
|
||||||
| `ShoulderLRenderX` | The X position on the top screen to draw the left shoulder | 0 | 0 |
|
|
||||||
| `ShoulderRRenderY` | The Y position on the top screen to draw the right shoulder | 172 | 172 |
|
|
||||||
| `ShoulderRRenderX` | The X position on the top screen to draw the right shoulder | 178 | 178 |
|
|
||||||
| `VolumeRenderX` | The X position on the top screen to draw the volume icon | 4 | 4 |
|
|
||||||
| `VolumeRenderY` | The Y position on the top screen to draw the volume icon | 16 | 16 |
|
|
||||||
| `BatteryRenderY` | The Y position on the top screen to draw the battery icon | 5 | 5 |
|
|
||||||
| `BatteryRenderX` | The X position on the top screen to draw the battery icon | 235 | 235 |
|
|
||||||
| `RenderPhoto` | Whether or not to draw a photo on the top screen | 0 | 1 |
|
|
||||||
| `StartTextUserPalette` | Whether to use the DS Profile color for the palette of the start text | N/A | 1 |
|
|
||||||
| `StartBorderUserPalette` | Whether to use the DS Profile color for the palette of the start border | N/A | 1 |
|
|
||||||
| `ButtonArrowUserPalette` | Whether to use the DS Profile color for the palette of the arrow buttons on the bottom of the screen | N/A | 1 |
|
|
||||||
| `MovingArrowUserPalette` | Whether to use the DS Profile color for the palette of the arrow shown when moving icons | N/A | 1 |
|
|
||||||
| `LaunchDotsUserPalette` | Whether to use the DS Profile color for the palette of the launch dots | N/A | 1 |
|
|
||||||
| `DialogBoxUserPalette` | Whether to use the DS Profile color for the palette of the dialog box | N/A | 1 |
|
|
||||||
|
|
||||||
## Advanced theming
|
|
||||||
|
|
||||||
Occasionally, you may require more than the default number of colors for some paletted textures. In such cases, you may modify the `.grit` compilation file for the texture to increase the size of the palette.
|
|
||||||
|
|
||||||
For example, in `scroll_window.grit`, you may edit `-pn7` and change `7` to `16` for 16 colors. Be aware that if you remove the entire `-pn` line, you may encounter unexpected results.
|
|
||||||
|
|
||||||
Also note that the absolute maximum of 16 colors per texture is enforced in code and can not be modified. Even if you increase the number of colors in the palette to above 16, no more than 16 colors worth of palette data will be loaded. With the amount of textures loaded in, there may not be enough palette memory to hold 16 colors worth of palettes for every texture. Keep this in mind when adjusting palette sizes.
|
|
||||||
|
|
||||||
Additionally, paletted textures must have dimensions that are a multiple of 2. Paletted textures sizes can not be changed except for `bubble` and `start_border`, which can have configurable sprite dimensions in `theme.ini`. However, note that doing so may have unexpected consequences.
|
|
||||||
|
|
||||||
Paletted textures are not checked for validity. An invalid texture should be rare if created with the provided makefile, but in certain cases a corrupted texture will cause the menu to not load at all.
|
|
||||||
|
|
||||||
## Custom background music and sound effects
|
|
||||||
|
|
||||||
The DSi Menu and 3DS themes also support custom music. See [DSi / 3DS skins - Custom SFX](custom-dsi-3ds-sfx) for more details.
|
|
@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: Custom Fonts
|
|
||||||
description: How to use custom fonts with TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
TWiLight Menu++ can use custom fonts in NFTR (Nitro FonT Resource) format. They will be used in Settings, the Manual's titles, and in the Nintendo DSi, Nintendo 3DS, SEGA Saturn, and Homebrew Launcher themes.
|
|
||||||
|
|
||||||
### Included font info
|
|
||||||
There are three fonts included with TWiLight Menu++. When TWiLight Menu++ is running in DSi Mode they all contain all of the characters that should be needed for all of the languages TWiLight is translated to, but when running in DS Mode they are more limited due to RAM limitations. They are as follows:
|
|
||||||
- Default: This uses the official DSi font as it's primary font and supports all characters that are used in TWiLight Menu++ itself in all languages in DS mode
|
|
||||||
- Chinese (Simplified): This uses Noto Sans CS as the primary font and has significantly more Chinese (Simplified) characters in DS Mode, at the cost of characters for other languages
|
|
||||||
- Korean: This is identical to Default in DSi Mode, but in DS Mode has a more complete set of hangul, at the cost of characters for other languages
|
|
||||||
|
|
||||||
### Directory structure
|
|
||||||
Custom fonts are loaded from `sd:/_nds/TWiLightMenu/extras/fonts/[font name]/[font file].nftr` where `[font name]` is whatever name you want and `[font file].nftr` is one of the following:
|
|
||||||
- `large-ds.nftr`, `large-dsi.nftr`, or `large.nftr`: The larger font used for titles
|
|
||||||
- `small-ds.nftr`, `small-dsi.nftr`, or `small.nftr`: The smaller font used for most other text
|
|
||||||
|
|
||||||
The `-ds` and `-dsi` files have higher priority than the normal one and if found will be used when TWiLight Menu++ is running in DS or DSi Mode respectively.
|
|
||||||
|
|
||||||
### Generating custom fonts
|
|
||||||
You can make your own fonts using a utility such as Pk11's [nftr-editor](https://pk11.us/nftr-editor/). To regenerate one of TWiLight Menu++'s existing fonts using it:
|
|
||||||
1. Load an NFTR file in nftr-editor
|
|
||||||
1. Type the names of the fonts you want to use from highest to lowest priority in the `Input font` text box, comma separated
|
|
||||||
- You can see a preview of the input fonts in the top box on the left and the current NFTR in the bottom box
|
|
||||||
1. Click `Generate from font`, then say `OK` to regenerating existing characters and `Cancel` to regenerating the special button characters (ex. )
|
|
||||||
1. Click `Save`, then repeat for the other sizes
|
|
@ -1,49 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: customization
|
|
||||||
title: Custom Unlaunch Backgrounds
|
|
||||||
description: How to make custom Unlaunch backgrounds and install them using TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
Using TWiLight Menu++ you can patch the Unlaunch installer to have a custom background image. This needs to be a 256 x 192 GIF, with a few restrictions:
|
|
||||||
- Only the first frame will be shown, no animated backgrounds
|
|
||||||
- The file must be less than or equal to 15,472 bytes
|
|
||||||
- GIFs with more than 31 colors require specially made palettes to prevent breaking the text
|
|
||||||
|
|
||||||
### Installing
|
|
||||||
1. Copy the GIF file to `sd:/_nds/TWiLightMenu/unlaunch/backgrounds`
|
|
||||||
1. Download the [latest Unlaunch installer](https://problemkaputt.de/unlaunch.zip) and extract `UNLAUNCH.DSI` to your SD card
|
|
||||||
1. Open TWiLight Menu++ Settings, switch to the `Unlaunch settings` page, and click on `Background`, then select the one you want
|
|
||||||
1. Exit settings and launch `Unlaunch DSi Installer`
|
|
||||||
- It should use your custom image, if it does not then turn off your console and make sure your GIF conforms with the requirements above
|
|
||||||
1. Choose `Install Now`
|
|
||||||
|
|
||||||
### Using GIFs with more than 31 colors
|
|
||||||
As the GIF's palette is loaded to the same area of VRAM as the text palettes it will overwrite them if the palette gets too large, however this can be worked around by including the text palettes in the GIF's palettes. Using this with different colors would also let you have different text colors, should you want that. These instructions will be for [GIMP](https://gimp.org), but any image editor capable of rearranging the palette of an image will work.
|
|
||||||
1. Open your image in GIMP and make sure it's 256 x 192 pixels
|
|
||||||
1. In the menu bar at the top, select `Image` -> `Mode` -> `Indexed...`
|
|
||||||
1. Select `Generate optimum palette` and set the maximum colors to anything up to 226 colors
|
|
||||||
1. Select a dithering pattern from the `Color dithering` dropdown
|
|
||||||
- Images without dithering generally compress best, but with it will generally look better, try and see which looks best for the size
|
|
||||||
1. Click `Convert`
|
|
||||||
1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export`
|
|
||||||
- If it gives any warnings, click the accept button
|
|
||||||
1. In the next popup, disable the `GIF comment` and click `Export`
|
|
||||||
1. Check the size of the exported file, if it's 15,472 bytes or less, then skip to step 13
|
|
||||||
1. If your GIF is too large, then using either [gifsicle](http://www.lcdf.org/gifsicle/) or [ezgif.com](https://ezgif.com/optimize) you can try optimizing it
|
|
||||||
- These instructions will use ezgif as its simpler, being a website
|
|
||||||
1. Open https://ezgif.com/optimize, and upload your GIF
|
|
||||||
1. Try different compression levels until you find the best one under 15,472 bytes (15.11 KiB), ideally a bit under as GIMP may increase the size a bit
|
|
||||||
1. Save the optimized GIF and open it in GIMP
|
|
||||||
1. In the menu bar at the top, select `Windows` -> `Dockable Dialogs` -> `Colormap`
|
|
||||||
1. Change your current `Foreground color` to #080808 and add 14 new colors with the `+` button
|
|
||||||
- If your image doesn't have at least 133 colors you will also need to add filler colors to arrange the text colors in the correct spots
|
|
||||||
1. Right click a color in the Colormap and select `Rearrange Colormap...`
|
|
||||||
1. Arrange your new colors so they match these: (The 2nd and 3rd columns starting at index 49)<br> 
|
|
||||||
1. Use the color picker to make your new colors match those in the above image
|
|
||||||
1. In the menu bar at the top, select `File` -> `Export As...`, give it a name with the extension `.gif`, and click `Export`
|
|
||||||
1. In the next popup, make sure `GIF comment` is off and click `Export`
|
|
||||||
1. Ensure the image is still under 15,472 bytes, if it's gotten too big then repeat from step 10 using a higher compression level
|
|
||||||
1. You're done! Follow the [installing](#installing) section above to use your image!
|
|
@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Download Play / Pictochat in DS Classic Menu
|
|
||||||
description: How to get DS Download Play and Pictochat in TWiLight Menu++'s DS Classic Menu
|
|
||||||
---
|
|
||||||
|
|
||||||
If you're using a DSi console, you should already be able to launch those apps. Otherwise, if you have a 3DS, proceed below.
|
|
||||||
|
|
||||||
In GodMode9:
|
|
||||||
- Press <kbd class="r">R</kbd> + <kbd class="face">A</kbd> on SYSNAND TWLN
|
|
||||||
- Select `Search for titles`
|
|
||||||
- Select `DS Download Play (NTR-HNDA).tmd`
|
|
||||||
- Select `TMD file options...`
|
|
||||||
- Select `Dump CXI/NDS file`
|
|
||||||
- Done. It should be under `sdmc:/gm9/out/`, as `DS Download Play (NTR-HNDA).nds`
|
|
||||||
|
|
||||||
Copy to `sd:/_nds/`, and rename to `dlplay.nds`.
|
|
||||||
|
|
||||||
The above steps will increase DLP boot speed.
|
|
||||||
|
|
||||||
To run Pictochat on 3DS (DSi required):
|
|
||||||
- Copy `pictochat.nds` from `sd:/_nds/` on the DSi'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.
|
|
@ -1,119 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: FAQ & Troubleshooting
|
|
||||||
long_title: TWiLight Menu++ FAQ & Troubleshooting
|
|
||||||
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}
|
|
||||||
|
|
||||||
#### 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>
|
|
||||||
|
|
||||||
#### 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 32 KB cluster/allocation size
|
|
||||||
- If that also doesn't work, try a different SD card
|
|
||||||
|
|
||||||
#### How do I fix TWiLight Menu++ restarting or giving a Guru Meditation Error when launching a game?
|
|
||||||
Go into TWLMenu++ Settings, and disable `Update recently played list`.
|
|
||||||
|
|
||||||
#### Why do I get a white screen when trying to load a game from SD card?
|
|
||||||
- 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/`
|
|
||||||
|
|
||||||
#### 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/).
|
|
||||||
- On the 3DS, this database is available in the Universal Updater app as "NDS Cheat Databases." This will automatically install it to the required location.
|
|
||||||
|
|
||||||
Alternatively, you can use [r4cce](http://hp.vector.co.jp/authors/VA013928/soft_en.html) to create your own cheat DB.
|
|
||||||
|
|
||||||
#### 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
|
|
||||||
|
|
||||||
#### 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_all_DS_homebrew#Games). 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
|
|
||||||
|
|
||||||
#### 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.
|
|
||||||
|
|
||||||
#### 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++
|
|
||||||
|
|
||||||
#### 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).
|
|
||||||
|
|
||||||
#### What systems does TWiLight Menu++ support?
|
|
||||||
|
|
||||||
| 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}
|
|
||||||
|
|
||||||
#### Why isn't touch input working on sudokuhax?
|
|
||||||
Depending on the save file of sudokuhax, the touch screen inputs may not work.
|
|
||||||
|
|
||||||
#### 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]: 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
|
|
||||||
[dstwo]: http://eng.supercard.sc
|
|
||||||
[gameyob]: https://github.com/Drenn1/GameYob
|
|
||||||
[gbarunner2]: https://github.com/Gericom/GBARunner2
|
|
||||||
[jenesis]: https://www.gamebrew.org/wiki/JEnesisDS
|
|
||||||
[mpeg4player]: https://gbatemp.net/threads/544095
|
|
||||||
[ndsbs]: https://github.com/DS-Homebrew/nds-bootstrap
|
|
||||||
[nesds]: https://github.com/DS-Homebrew/NesDS
|
|
||||||
[nitrografx]: https://www.gamebrew.org/wiki/NitroGrafx
|
|
||||||
[pdtwl]: https://github.com/DS-Homebrew/PicoDriveTWL
|
|
||||||
[rvidplayer]: https://gbatemp.net/threads/539163
|
|
||||||
[s8ds]: https://www.gamebrew.org/wiki/S8DS
|
|
||||||
[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
|
|
@ -1,47 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: How to Get Box Art
|
|
||||||
description: How to get box art / game covers in TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
### 3DS
|
|
||||||
1. Install [KirovAir's TWiLight Menu++ Updater fork](https://github.com/KirovAir/TWiLightMenu-Updater/releases)
|
|
||||||
- This will replace the normal TWiLight Menu++ Updater, so use Universal-Updater instead for updating TWiLight Menu++
|
|
||||||
1. Select `Extras`, `Boxart`, then press <kbd class="face">X</kbd> to scan the full SD card or <kbd class="face">A</kbd> to select a folder to scan
|
|
||||||
1. Choose a box art size
|
|
||||||
1. Choose a border style
|
|
||||||
1. Make sure box art is set to be shown in TWiLight Menu++ settings
|
|
||||||
|
|
||||||
### Windows
|
|
||||||
1. Download the latest version of [TWiLightBoxart](https://github.com/KirovAir/TwilightBoxart/releases)
|
|
||||||
1. Extract `TwilightBoxart-Windows-UX.zip` and run `TwilightBoxart.exe`
|
|
||||||
1. Click `Detect SD`
|
|
||||||
- If it doesn't find the correct SD card click `Browse...` and select the right one
|
|
||||||
1. Change the size, border, etc options to your liking
|
|
||||||
1. Click `Start`
|
|
||||||
1. 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
|
|
||||||
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`
|
|
||||||
1. Say `Yes` if it shows your SD path correctly
|
|
||||||
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. Make sure box art is set to be shown in TWiLight Menu++ settings
|
|
||||||
|
|
||||||
**To add your own box art:** Place them in `sd:/_nds/TWiLightMenu/boxart`. Can either have the game's TID (ex. `ASME.png`), or the filename (ex. `SM64DS.nds.png`). Must be in `.png` format, with the recommended size of 128x115 and maximum of 208x143.
|
|
||||||
|
|
||||||
Individual box art can also be downloaded from GameTDB, under the **S Covers (png)** category.
|
|
@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
section: twilightmenu
|
|
||||||
title: Home
|
|
||||||
description: Guides on how to use and customize TWiLight Menu++
|
|
||||||
---
|
|
||||||
|
|
||||||
# Welcome to the TWiLight Menu++ wiki!
|
|
||||||
|
|
||||||
TWiLight Menu++ is an open-source DSi Menu upgrade/replacement, and frontend for nds-bootstrap for DSi, 3DS, and flashcards.
|
|
||||||
|
|
||||||
For info on how to install, click on the page in the sidebar for your console in the Installing section.
|
|
@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
lang: de-DE
|
|
||||||
layout: redirect
|
|
||||||
destination: installing-3ds?tab=manual
|
|
||||||
title: Installing (3DS, Manual)
|
|
||||||
---
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
|||||||
---
|
|
||||||
lang: de-DE
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: installing
|
|
||||||
title: Installing (3DS)
|
|
||||||
long_title: Installing TWiLight Menu++ (3DS)
|
|
||||||
description: How to install TWiLight Menu++ on the Nintendo 3DS
|
|
||||||
tabs:
|
|
||||||
-
|
|
||||||
working-camera: Working camera
|
|
||||||
non-working-camera: Non-working camera
|
|
||||||
manual: Manual
|
|
||||||
---
|
|
||||||
|
|
||||||
You will first need to have Custom Firmware on your 3DS, follow [3ds.hacks.guide](https://3ds.hacks.guide) to install it
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
{% capture tab-working-camera %}
|
|
||||||
1. Öffne FBI und wähle `Remote-Installation`, dann `QR-Code scannen`
|
|
||||||
1. Scannen Sie diesen QR-Code, um die neueste Version von [Universal-Updater](https://github.com/Universal-Team/Universal-Updater) zu installieren<br> 
|
|
||||||
1. Schließe FBI und starte Universal-Updater
|
|
||||||
- Falls es nicht auf deinem Home-Menü erscheint, starte deinen 3DS neu
|
|
||||||
1. Finde TWiLight Menü++ im App-Raster, du kannst mit der 3. Registerkarte in der Seitenleiste suchen, falls du Probleme hast es zu finden
|
|
||||||
- Es hat dieses Symbol: 
|
|
||||||
1. Drücke <kbd class="face">A</kbd> oder tippe auf das Download-Symbol in der Seitenleiste und wähle `TWiLight Menu++`, um es zu installieren
|
|
||||||
- This will take a while
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-working-camera = tab-working-camera | split: "////////" %}
|
|
||||||
|
|
||||||
{% capture tab-non-working-camera %}
|
|
||||||
1. Download the `Universal-Updater.cia` file from the [Universal-Updater release page](https://github.com/Universal-Team/Universal-Updater/releases)
|
|
||||||
1. Place the `Universal-Updater.cia` file anywhere on your SD card
|
|
||||||
1. Launch FBI on your Nintendo 3DS
|
|
||||||
1. In FBI, go to the place you pasted the `Universal-Updater.cia` file
|
|
||||||
1. Select the `Universal-Updater.cia` file and hit "Install & Delete"
|
|
||||||
1. Close FBI and launch Universal-Updater
|
|
||||||
- If it doesn't show up on your home menu, reboot your 3DS
|
|
||||||
1. Find TWiLight Menu++ in the app grid, you can search with the 3rd tab on the sidebar if you have trouble finding it
|
|
||||||
- It has this icon: 
|
|
||||||
1. Press <kbd class="face">A</kbd> or tap the download icon in the sidebar and select `TWiLight Menu++` to install it
|
|
||||||
- This will take a while
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-non-working-camera = tab-non-working-camera | split: "////////" %}
|
|
||||||
|
|
||||||
{% capture tab-manual %}
|
|
||||||
1. Download the latest version of `TWiLightMenu-3DS.7z` from [the releases page](https://github.com/DS-Homebrew/TWiLightMenu/releases)
|
|
||||||
1. Extract `TWiLightMenu-3DS.7z`
|
|
||||||
1. Copy the `_nds` folder to your SD card root
|
|
||||||
1. Copy the `BOOT.NDS` file to your SD card root
|
|
||||||
1. Copy the `roms` folder to your SD card root
|
|
||||||
1. Copy the two `.cia` files to your SD card root
|
|
||||||
1. On your 3DS, install the two CIAs with FBI
|
|
||||||
{% endcapture %}
|
|
||||||
{% assign tab-manual = tab-manual | split: "////////" %}
|
|
||||||
|
|
||||||
### Installing
|
|
||||||
|
|
||||||
{% assign tabs = tab-working-camera | concat: tab-non-working-camera | concat: tab-manual %}
|
|
||||||
{% include tabs.html index=0 tabs=tabs %}
|
|
@ -1,25 +0,0 @@
|
|||||||
---
|
|
||||||
lang: de-DE
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: installing
|
|
||||||
title: Installing (DSi)
|
|
||||||
long_title: Installing TWiLight Menu++ (DSi)
|
|
||||||
description: How to install TWiLight Menu++ on the Nintendo DSi
|
|
||||||
---
|
|
||||||
|
|
||||||
If you do not already have a way to run homebrew on your DSi, follow [dsi.cfw.guide](https://dsi.cfw.guide) to install TWiLight Menu++
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
### Installiere
|
|
||||||
1. Laden Sie die neueste Version von `TWiLightMenü-3DS.7z` von [der Veröffentlichungsseite](https://github.com/DS-Homebrew/TWiLightMenu/releases) herunter
|
|
||||||
1. `TWiLightMenü-3DS.7z` entpacken
|
|
||||||
1. Kopiere den `_nds` Ordner in dein SD-Kartenverzeichnis
|
|
||||||
1. Kopiere den `BOOT.NDS` Ordner in dein SD-Kartenverzeichnis
|
|
||||||
1. Kopiere den `roms` Ordner in dein SD-Kartenverzeichnis
|
|
||||||
1. **HiyaCFW Benutzer:** Kopieren Sie den `Titel` Ordner in Ihr Stammverzeichnis der SD-Karte
|
|
||||||
|
|
||||||
### Autobootingt mit Unstart
|
|
||||||
1. Schalten Sie Ihren DSi ein, während Sie <kbd class="face">A</kbd> und <kbd class="face">B</kbd> gedrückt halten
|
|
||||||
1. Gehen Sie im Unstart-Menü zu `OPTIONEN`
|
|
||||||
1. Setze `KEIN Knopf` oder einen Knopf deiner Wahl auf das `TWiLight Menü++`, das `BOOT.NDS` auf dem unteren Bildschirm anzeigt
|
|
@ -1,50 +0,0 @@
|
|||||||
---
|
|
||||||
lang: de-DE
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: installing
|
|
||||||
title: Installing (Flashcard)
|
|
||||||
long_title: Installing TWiLight Menu++ (Flashcard)
|
|
||||||
description: How to install TWiLight Menu++ on a Nintendo DS flashcard
|
|
||||||
---
|
|
||||||
|
|
||||||
### Installiere
|
|
||||||
1. Laden Sie die neueste Version von `TWiLightMenu-Flashcard.7z` von [der Veröffentlichungsseite](https://github.com/DS-Homebrew/TWiLightMenu/releases) herunter
|
|
||||||
1. `TWiLightMenu-3DS.7z `entpacken
|
|
||||||
1. Kopiere den `_nds` Ordner in dein Sd-Kartenverzeichnis
|
|
||||||
1. Kopiere den `BOOT.NDS` Ordner in dein Sd-Kartenverzeichnis
|
|
||||||
1. Kopiere den `roms` Ordner in dein Sd-Kartenverzeichnis
|
|
||||||
1. Wenn Sie bereits gespeicherte Daten haben, verschieben Sie Ihr `.sav` Dateien, die sich in Ihrem DS-ROM-Standort befinden in einem neuen Ordner namens `speichert`, was auch in den DS-ROM-Speicherort geht
|
|
||||||
1. ...
|
|
||||||
- **DS Phat / Lite users:** If booting `BOOT.NDS` causes a white screen lock-up, insert a DS Memory Expansion Pak, and try again
|
|
||||||
- **DSi / 3DS users:** Run TWLMenu++ on the console's SD card, and turn on `SCFG access in Slot-1`
|
|
||||||
- Hiermit kannst du TWL Taktgeschwindigkeit und/oder VRAM Boost für deine Flashcard-Spiele verwenden sowie auf die SD-Karte der Konsole zugreifen
|
|
||||||
|
|
||||||
### Um spiele mit deiner Flashcard Firmware ausführen
|
|
||||||
1. Extrahieren Sie `Flashcart Loader/(Ihre Flashcard)` im Stammverzeichnis der microSD-Karte
|
|
||||||
- Wenn Sie dies getan haben, fahren Sie mit Schritt 3 fort. Wenn nicht, folgen Sie den Schritten unter der Karteikartenliste
|
|
||||||
|
|
||||||
1. Für diese Speicherkarten:
|
|
||||||
- R4i-SDHC
|
|
||||||
- r4isdhc.com Karten
|
|
||||||
- r4isdhc.hk Karten
|
|
||||||
- R4i SDHC Upgrade Revolution
|
|
||||||
- R4DSiXL3D
|
|
||||||
- R4i Advance
|
|
||||||
- R4-IIIi
|
|
||||||
- R4 SDHC Revolution
|
|
||||||
- R4(i) Pocket
|
|
||||||
- R4i Gold (v1.4.1) (3DS)
|
|
||||||
- R4xDS
|
|
||||||
- DSTT(i)
|
|
||||||
|
|
||||||
Install YSMenu from [here](https://gbatemp.net/threads/retrogamefan-updates-releases.267243/)
|
|
||||||
- Make sure you have `YSMenu.nds` (renamed from `TTMenu.dat` if there isn't one) and the `TTMenu` folder on the flashcard microSD root
|
|
||||||
1. Set `Use nds-bootstrap` to `No`, so the flashcard firmware will be used instead of nds-bootstrap
|
|
||||||
|
|
||||||
### Autostarte TWiLight Menü++
|
|
||||||
1. Extrahieren Sie `Flashcart Loader/(Ihre Flashcard)` im Stammverzeichnis der microSD-Karte
|
|
||||||
- Überspringe dies, wenn du deine Speicherkarte nicht siehst
|
|
||||||
1. ...
|
|
||||||
- **DS Phat / DS Lite users:** Go to settings in the DS menu, and turn on auto-start, so your flashcard will start on boot
|
|
||||||
- **DSi / 3DS users:** Run TWLMenu++ on the console's SD card, and turn on `Auto-start Slot-1`
|
|
@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: indexes
|
|
||||||
title: Installing
|
|
||||||
long_title: Installing TWiLight Menu++
|
|
||||||
description: How to install TWiLight Menu++ (index page)
|
|
||||||
---
|
|
||||||
|
|
||||||
The installation process for TWiLight Menu++ depends on whether you're using a Nintendo DSi, Nintendo 3DS, or a Nintendo DS flashcard. Please select the page for the one you're using.
|
|
||||||
|
|
||||||
### 3DS / 2DS
|
|
||||||
If you're using a 3DS or 2DS (from the internal SD card), follow the [3DS instructions](installing-3ds).
|
|
||||||
|
|
||||||
[](installing-3ds) [](installing-3ds) [](installing-3ds)
|
|
||||||
|
|
||||||
[](installing-3ds) [](installing-3ds) [](installing-3ds)
|
|
||||||
|
|
||||||
### DSi
|
|
||||||
If you're using a DSi (from the internal SD card), follow the [DSi instructions](installing-dsi).
|
|
||||||
|
|
||||||
[](installing-dsi) [](installing-dsi)
|
|
||||||
|
|
||||||
### Flashcard
|
|
||||||
If you're using a flashcard (regardless of which DS model you're on), follow the [flashcard instructions](installing-flashcard).
|
|
||||||
|
|
||||||
[](installing-flashcard) [](installing-flashcard) [](installing-flashcard)
|
|
@ -1,38 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: other
|
|
||||||
title: Playing in Widescreen
|
|
||||||
description: How to use TWiLight Menu++ in widescreen on the Nintendo 3DS
|
|
||||||
---
|
|
||||||
|
|
||||||
Requires a Nintendo 3DS or 2DS console.
|
|
||||||
{:.alert .alert-info}
|
|
||||||
|
|
||||||
### Preparation
|
|
||||||
- Make sure Luma's `boot.firm` is on the SD root for this to work
|
|
||||||
|
|
||||||
### 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. 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!
|
|
||||||
|
|
||||||
**NOTE1:** Every game/app in DS(i) mode will run in widescreen, even the games that aren't compatible with widescreen. For this to be fixed so only the widescreen-compatible games run in widescreen, wait for RTCom-activated widescreen to be released.
|
|
||||||
|
|
||||||
**NOTE2:** Do not hold <kbd>START</kbd> or <kbd>SELECT</kbd> when launching TWLMenu++, if you don't want widescreen to look glitched. If you don't see the screen aspect ratio setting, wait for RTCom-activated widescreen to be released.
|
|
||||||
|
|
||||||
Not every game is widescreen compatible. [We have created a list of games with widescreen](https://github.com/DS-Homebrew/TWiLightMenu/blob/master/7zfile/3DS%20-%20CFW%20users/Games%20supported%20with%20widescreen.txt)
|
|
@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
lang: en-US
|
|
||||||
layout: wiki
|
|
||||||
section: twilightmenu
|
|
||||||
category: uninstalling
|
|
||||||
title: Uninstalling (3DS)
|
|
||||||
long_title: Uninstalling TWiLight Menu++ (3DS)
|
|
||||||
description: How to uninstall TWiLight Menu++ from a Nintendo 3DS
|
|
||||||
---
|
|
||||||
|
|
||||||
### Uninstalling
|
|
||||||
1. Open FBI
|
|
||||||
1. Go to `Titles`
|
|
||||||
1. Find two `TWiLight Menu++` titles in purple text
|
|
||||||
1. Delete both titles
|
|
||||||
1. Exit the title list
|
|
||||||
1. Go to the SD card
|
|
||||||
1. Open `_nds`
|
|
||||||
1. Delete the `TWiLightMenu` folder
|
|
||||||
1. Delete the nds-bootstrap and GBARunner2 files
|
|
||||||
1. Exit `_nds`
|
|
||||||
1. Delete `boot.nds`
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user