TWiLight Menu++ 是 Nintendo DSi、Nintendo 3DS 和 Nintendo DS 快閃記憶體卡的開源 DSi 選單升級/替代品。它可以啟動Nintendo DS(i)、SNES、NES、GameBoy (Color)、GameBoy Advance、Sega GameGear/Master System、SG-1000/SC-3000 & Mega Drive/Genesis、Atari 2600/5200/7800/XEGS、MSX 、Intellivision、Neo Geo Pocket、Sord M5、PC Engine/TurboGrafx-16、WonderSwan 和ColecoVision ROM,以及DSTWO 外掛程式(如果您使用DSTWO)。
編譯此應用程式需要 devkitPro 的 devkitARM、libnds、grit 和 mmutil。可以使用 devkitPro pacman 透過以下命令安裝它們:
sudo dkp-pacman -S nds-dev
(注意:指令會因作業系統而異,可能不需要 sudo,可能只是pacman
。)
儲存庫包含子模組,因此您需要遞歸克隆:
git clone --recursive https://github.com/DS-Homebrew/TWiLightMenu.git
如果您在沒有拉取子模組的情況下進行了克隆,則可以在之後更新它們:
git submodule update --init --recursive
一旦安裝了 devkitPro 的工具鏈,您只需在儲存庫的根目錄中執行make package
即可建置整個 TWiLight Menu++。如果您只想建立 TWiLight Menu++ 的特定部分,您可以cd
到該資料夾並執行make dist
。
建置完成後,輸出檔案將位於7zfile
資料夾中,其目錄結構與官方TWiLightMenu.7z
的目錄結構相同。
使用隨附的 Docker 映像,您可以輕鬆編譯 TWiLight Menu++,而無需使用提供的 PowerShell ( .ps1
) 腳本手動設定所需版本的 devkitARM。
該腳本也接受make
參數。例如, .compile_docker.ps1 clean
將清除所有已編譯程式碼的目錄。如果您想建置所有工件,請執行.compile_docker.ps1 package
。
請注意,Docker 編譯與 Windows 上的本機編譯不相容。在嘗試使用 Docker 建置之前,您應該執行.compile_docker.ps1 clean
來清理工件。如果出現通知要求您共用磁碟機,您必須選擇啟用磁碟機共用,以便 Docker 在 Windows 上執行。
手冊頁儲存在單獨的儲存庫中,並在建置 TWiLight Menu++ 時從版本下載。有關更多信息,請參閱 twilight-manual 存儲庫。
TWiLight Menu++ 由多個「子專案」組成,它們共同創建 DSi 選單替代品。儲存庫中的大多數子資料夾都包含自己的程式碼,這些程式碼將編譯xxx.nds
文件,該文件通常複製到7z
文件(或7zfile
資料夾)內的/_nds/TWiLightMenu/xxx.srldr
。
3dssplash :開啟 3ds 和 cia 檔案(?)
編譯為/_nds/TWiLightMenu/3dssplash.srldr
booter : 主入口點,如果使用 SD 卡或 CFW,則控制台載入的第一個文件
建立/BOOT.nds
和/title/00030004/53524c41/content/00000000.app
(同一檔案)。
booter_fc :抽認卡的主要入口點
建立_DS_MENU.dat
、 dsedgei.dat
、 akmenu4.nds
、 _DSMENU.nds
、 SCFW.SC
等。
巴巴徹
imageview :類似 DSi 相機的影像檢視器(gif、png、bmp)
/_nds/TWiLightMenu/imageview.srldr
手冊: TWiLight Menu++ 使用手冊
建立/_nds/TWiLightMenu/manual.srldr
Quickmenu :DS Lite 選單,舊的經典 ui
建立/_nds/TWiLightMenu/mainmenu.srldr
resources : 將反盜版和寬螢幕補丁合併到一個套件檔案中
/_nds/TWiLightMenu/extras/apfix.pck
和/_nds/TWiLightMenu/extras/widescreen.pck
romsel_aktheme :Wood UI 主題的選單
建立/_nds/TWiLightMenu/akmenu.srldr
romsel_dsimenutheme :「Nintendo DSi」、「Nintendo 3DS」、「SEGA Saturn」和「Homebrew Launcher」使用的 DSi 主題選單
創建/_nds/TWiLightMenu/dsimenu.srldr
romsel_r4theme :「R4 Original」和「Gameboy Color」使用的 R4 主題選單
建立/_nds/TWiLightMenu/r4menu.srldr
設定:設定選單
建立/_nds/TWiLightMenu/settings.srldr
slot1啟動:
建立/_nds/TWiLightMenu/slot1launch.srldr
title : 開機啟動畫面(預設為任天堂標誌)
建立/_nds/TWiLightMenu/main.srldr
您可以協助翻譯 Crowdin 專案上的 TWiLight Menu++。如果您想要求新增語言,請在 Discord 伺服器上詢問。
Rocket Robz:首席開發人員
chyyran:將 akMenu/Wood UI 移植到 TWiLight Menu++ 並加入從 DSi/3DS 主題的 SD 卡載入子主題的功能
Pk11:為 R4 主題添加從 SD 卡載入皮膚的功能,實現排序並使用 PNG 製作手冊,改進字體渲染,為 Unlaunch 提供自訂背景,管理翻譯和各種錯誤修復
DieGo:新增對自訂 ROM/資料夾圖示的支援以及對自訂皮膚的改進
lifehackerhansol:改進對閃存卡自動引導和內核載入的支持,以及用於 32KB DLDI 驅動程式支援的 libnds32 分支
NightScript:程式碼清理、定義程式碼標準、為 Wood UI 主題新增抽認卡功能、手冊頁
ahezard、shutterbug2000 和 Rocket Robz:nds-bootstrap(用於從 SD 卡啟動 Nintendo DS(i) ROM)
Alekmaul:AmeDS(用於啟動 Amstrad CPC ROM)
Alekmaul & wavemotion:StellaDS、A5200DS、A7800DS、A8DS(用於啟動 Atari 2600/5200/7800/XEGS ROM)和 ColecoDS(用於啟動 ColecoVision、MSX、Sord M5 和 Sega SG-1000/SC-3000 ROM-3000
archiede:SNEmulDS(用於啟動 SNES ROM)
Coto:SNEmulDS 復興
chishm:tuna-viDS(用於播放 Xvid 影片)
Drenn:GameYob(用於啟動 Gameboy ROM)
FluBBaOfWard:S8DS(用於啟動 Sega Master System、Game Gear、SG-1000/SG-3000 和 ColecoVision ROM)、NitroGrafx(用於啟動 PC Engine/TurboGrafx-16 ROM)、NitroSwan(用於啟動 WonderSwan ROM)、和NGPDS(用於啟動Neo Geo Pocket ROM)
FluBBaOfWard、Coto 和 Loopy:nesDS(用於啟動 NES ROM)
Apache Thunder:nesDS TWL 版
Gericom:FastVideoDSPlayer(用於啟動 FastVideoDS 影片)和 GBARunner2(用於在 DS Phat/Lite 的 GBA 模式之外啟動 GameBoy Advance ROM)
therealteamplayer:Hicode+DSP 合併的 GBARunner2 版本包含在 DSi/3DS 中
unresolvedsymbol:ROM3M + master“DSL-Enhanced”版本的 GBARunner2 包含在抽認卡上玩Pokémon:Emerald 版本
Lordus:jEnesisDS(用於啟動 Sega Mega Drive/Genesis ROM)
xonn83:jEnesisDS 的 GBMacro 版本
redbug26:CrocoDS(用於啟動 Amstrad CPC ROM)
Ryan FB、Rocket Robz 和 xonn83:PicoDriveTWL(用於啟動大型 Sega Mega Drive/Genesis ROM)
wavemotion:Nintellivision/NINTV-DS(用於啟動 Intellivision ROM)
缺席的現實:Intellivision 圖標
davi:GBC 主題的邊框(最初用於 GameYob)
fail0verflow、Fluto 和 Arkhandar:Homebrew 頻道/啟動器圖形
FlameKat53:DSi 主題的SELECT
選單的手動圖標
開始先生:超級任天堂 DS 啟動畫面
PW5190:星之卡比主題TWLMenu++啟動畫面
Spindle_cord:DSi4DS 與 DSision2 圖形
StarvingArtist:遊戲控制台圖標
BlastoiseVeteran:任天堂 DSi 商店音樂的重製版
IkaMusumeYiyaRoxie:通用 N64 MIDI Soundfont,用於舊版的標題啟動
dbry:來自 adpcm-xq 的 Xtreme 質量 IMA-ADPCM 解碼器代碼。
Firexploit:3DS UI 聲音適用於 3DS 主題,其中一些也用於 DSi 主題。
ahezard:來自 nds-bootstrap 的 NDMA 代碼
另一個世界和黃木妖精:原始的 akMenu/Wood UI
Arisotura:來自 melonDS 的 ROM 列表,以及來自 dsbiosdumper 的 BIOS 轉儲器代碼
Dartz150:為Iridion II和Top Gun: Combat Zones GBA 遊戲提供修復
devkitPro:nds-hb-menu 中使用的程式碼,以及 bootloader、devkitARM、libnds 和 libfat 的使用
edo9300:DS Phat 校驗碼
Gericom、TrolleyDave 和 FAST6191:GBA SRAM 修補程式碼,用於 gbapatcher(GBAtemp 的 SRAM 修補線程)
Gericom & profi200:GBA色彩校正程式碼,用於GBARunner3
Nikokaro:找到了WarioWare:Twisted 的無傾斜補丁! ,和耀西顛倒。 (GBAtemp 線程)
profi200:改進了 fastboot3DS 的 SD 程式碼
RadDude McCoolguy、fintogive、KazoWAR、Vague Rant、gamemasterplc、Rocket Robz、ChampionLeake、DeadSkullzJr、spellboundtriangle、LedyBacer:寬螢幕秘籍
Retrogamefan & Rudolph:包含 nds-bootstrap 的 AP 補丁
enler:修復 Pokemon Black 2(日本)的 AP 補丁,以實現 DS⁽ⁱ⁾ 模式相容性
Rocket Robz:修復了一些 DS⁽ⁱ⁾ 增強型遊戲 AP 補丁,以實現 DS⁽ⁱ⁾ 模式兼容性
SNBeast:解除補丁
Taiju Yamada:用於繞過 R4i-SDHC 啟動檔案保護的程式碼
阿拉伯語:肯·布朗,SLG3
保加利亞語:Peter0x44、Tescu
加泰隆尼亞語:
簡體中文: cai_miao, Chris, Forbidden, James-Makoto, R-YaTian, Yukino Song, 曾國立, 天地人人, 百地希留耶
繁體中文:cai_miao、ccccchoho、James-Makoto、Rintim、奇諾比奧
捷克語:Štěpán Dolský
丹麥:喬納森、麥可米勒、納迪亞佩德森
荷蘭文:Arthur、guusbuk、Mikosu、Minionguyjpro、Xtremegamer007
法文:Arky、cooolgamer、Dhalian、maximesharp、Ghost0159、Léo、LinuxCat、Martinez、NightScript、SLG3、SombrAbsol、TM-47、Yolopix
德語:ariebe9115、Blurry Knight、Christian Schuhmann、Dubsenbert Reachs、Fırat Tay、hehe、Ilke Hür Eyiol、Julian、Kazuto、malekairmaroc7、Michael Brey、Oleh Hatsenko、SkillLP、SuperSaiyajinStackekairmaroc7、Michael Brey、Oleh Hatsenko、SkillLP、SuperSaiyajinStackZ、Tcm07、TheDude
希臘文:Anestis1403
希伯來文:Barawer,亞尼夫‧萊文
匈牙利語:Viktor Varga,ハトヴィngu -- hatto
印尼語:Cyruz Wings、Farid Irwan、heydootdoot、Shiori
義大利文:亞歷山德羅·塔沃列裡、李奧納多·萊達、馬蒂亞、TM-47、Vendicatorealato、xavimel
日文:Chromaryu、inucat、Pk11、kuragehime、rinrinrin2002、Rintim、Ronny Chan、Uriki
韓文:DDinghoya、lifehackerhansol、我不哭、Myebyeol_NOTE、Oleh Hatsenko、그그기그
挪威語:無效區塊
波蘭語:Avginike、gierkowiec tv、Kipi000、Konrad Borowski、MaksCROWDIN0、Mateusz Tobiasz、Michał Słonina、RedstonekPL、TheCasachii
葡萄牙文(巴西):César Memère、Jeff Sousa、themasterf、Victor Coronado
葡萄牙語(葡萄牙):bruwyvn、Christopher Rodrigues、Gabz Almeida、jim、joyrv、leteka 1234、Rodrigo Tavares、Tiago Silva、Wodson de Andrade、Wodson de Andrade、Zak
羅馬尼亞語: Tescu
俄文:Alexey Barsukov、Ckau、manwithnoface、mbhz、MMR Marler、Nikita、Молодая Кукуруза
琉球:倉姬姬
西班牙語:Adrin Ramen、Adrian Rodriguez、Allinxter、beta215、ccccmark、dimateos、Kaede159、KplyAsteroid、mschifino、Nicolás Herrera Concha、Nintendo R、nuxa17、Radriant、SofyUchiha、TM-47、UrikXxnuxa17、Radriant、SofyUchiha、TM-47、UrikXxnuxa196xPhoenix1
瑞典語:Max Hambraeus、Nullified Block、TM-47、Victor Ahlin、Walter Lindell
土耳其語:Alp、Egehan.TWL、Emir、GlideGuy06、Grandmaquil、imbeegboi22、Ilke Hür Eyiol、rewix32、rewold20、Yağmur Celep
烏克蘭語:Oleh Hatsenko、Mykola Pukhalskyi、TM-47、вухаста гітара
巴倫西亞語:tsolo
越南語:Chử Tiến Bình、daicahuyoi Đỗ Minh Hiếu、hotungkhanh、Trương Hồng Sơn