TWiLight Menu++ é uma atualização/substituição do menu DSi de código aberto para o Nintendo DSi, o Nintendo 3DS e os flashcards do Nintendo DS. Pode lançar Nintendo DS(i), SNES, NES, GameBoy (Color), GameBoy Advance, Sega GameGear/Master System, SG-1000/SC-3000 e Mega Drive/Genesis, Atari 2600/5200/7800/XEGS, MSX , Intellivision, Neo Geo Pocket, Sord M5, PC Engine/TurboGrafx-16, WonderSwan e ROMs ColecoVision, bem como plug-ins DSTWO (se você usar um DSTWO).
A compilação deste aplicativo requer devkitARM, libnds, grit e mmutil do devkitPro. Eles podem ser instalados usando devkitPro pacman com o seguinte comando:
sudo dkp-pacman -S nds-dev
(Observação: o comando varia de acordo com o sistema operacional, o sudo pode não ser necessário e pode ser apenas pacman
.)
O repositório contém submódulos, então você precisa clonar recursivamente:
git clone --recursive https://github.com/DS-Homebrew/TWiLightMenu.git
Se você clonou sem extrair os submódulos, poderá atualizá-los posteriormente:
git submodule update --init --recursive
Depois de instalar as cadeias de ferramentas do devkitPro, você pode construir todo o TWiLight Menu++ simplesmente executando make package
na raiz do repositório. Se você deseja apenas construir uma parte específica do TWiLight Menu++, você pode cd
para essa pasta e executar make dist
.
Assim que terminar a construção, os arquivos de saída estarão na pasta 7zfile
seguindo a mesma estrutura de diretórios das compilações oficiais TWiLightMenu.7z
.
Usando a imagem Docker incluída, você pode compilar facilmente o TWiLight Menu++ sem precisar configurar manualmente a versão necessária do devkitARM usando os scripts PowerShell ( .ps1
) fornecidos.
O script também aceita argumentos make
. Por exemplo, .compile_docker.ps1 clean
limpará os diretórios de todo o código compilado. Se desejar construir todos os artefatos, execute .compile_docker.ps1 package
.
Observe que a compilação do Docker não é compatível com a compilação nativa no Windows. Você deve executar .compile_docker.ps1 clean
para limpar os artefatos antes de tentar construir com o Docker. Se aparecer uma notificação solicitando que você compartilhe sua unidade, você deverá optar por habilitar o compartilhamento de unidade para que o Docker funcione no Windows.
As páginas de manual são armazenadas em um repositório separado e baixadas de uma versão ao construir o TWiLight Menu++. Para obter mais informações, consulte o repositório do manual do crepúsculo.
TWiLight Menu++ é composto de vários "subprojetos" que trabalham juntos para criar o substituto do DSi Menu. A maioria das subpastas no repositório contém seu próprio código que irá compilar um arquivo xxx.nds
, que geralmente é copiado para /_nds/TWiLightMenu/xxx.srldr
dentro do arquivo 7z
(ou pasta 7zfile
).
3dssplash : abre arquivos 3ds e cia (?)
Compilado em /_nds/TWiLightMenu/3dssplash.srldr
booter : ponto de entrada principal, o primeiro arquivo carregado pelo console se estiver usando cartão SD ou CFW
Cria /BOOT.nds
e /title/00030004/53524c41/content/00000000.app
(mesmo arquivo).
booter_fc : ponto de entrada principal para flashcards
Cria _DS_MENU.dat
, dsedgei.dat
, akmenu4.nds
, _DSMENU.nds
, SCFW.SC
e outros.
gbapatcher
imageview : visualizador de imagens semelhante à câmera DSi (gif, png, bmp)
/_nds/TWiLightMenu/imageview.srldr
manual : manual de instruções do TWiLight Menu++
Cria /_nds/TWiLightMenu/manual.srldr
quickmenu : menu DS Lite, a antiga interface clássica
Cria /_nds/TWiLightMenu/mainmenu.srldr
recursos : mescla os patches antipirataria e widescreen em um arquivo de pacote
/_nds/TWiLightMenu/extras/apfix.pck
e /_nds/TWiLightMenu/extras/widescreen.pck
romsel_aktheme : menu para o tema Wood UI
Cria /_nds/TWiLightMenu/akmenu.srldr
romsel_dsimenutheme : menu para o tema DSi usado por "Nintendo DSi", "Nintendo 3DS", "SEGA Saturn" e "Homebrew Launcher"
Cria /_nds/TWiLightMenu/dsimenu.srldr
romsel_r4theme : menu para o tema R4 usado por "R4 Original" e "Gameboy Color"
Cria /_nds/TWiLightMenu/r4menu.srldr
configurações : menu de configurações
Cria /_nds/TWiLightMenu/settings.srldr
slot1lançamento :
Cria /_nds/TWiLightMenu/slot1launch.srldr
título : tela inicial de inicialização (logotipo da Nintendo por padrão)
Cria /_nds/TWiLightMenu/main.srldr
Você pode ajudar a traduzir TWiLight Menu++ no projeto Crowdin. Se você deseja solicitar a adição de um novo idioma, pergunte no servidor Discord.
Rocket Robz: desenvolvedor líder
chyyran: Portando a UI akMenu/Wood para TWiLight Menu++ e adicionando a capacidade de carregar subtemas do cartão SD para temas DSi/3DS
Pk11: Adicionando a capacidade de carregar skins do cartão SD para o tema R4, classificação implementada e manuais feitos usando PNG, renderização de fonte aprimorada, fornecimento de um plano de fundo personalizado para Unlaunch, gerenciamento de traduções e várias correções de bugs
DieGo: Adicionando suporte para ícones de ROM/pastas personalizados e melhorias para skins personalizados
lifehackerhansol: Melhorando o suporte para inicialização automática de flashcard e carregamento de kernel, e fork libnds32 para suporte de driver DLDI de 32 KB
NightScript: limpeza de código, definição de padrões de código, adição de funcionalidade de flashcard para o tema Wood UI, páginas de manual
ahezard, shutterbug2000 e Rocket Robz: nds-bootstrap (usado para iniciar ROMs do Nintendo DS(i) a partir do cartão SD)
Alekmaul: AmeDS (usado para lançar ROMs Amstrad CPC)
Alekmaul & wavemotion: StellaDS, A5200DS, A7800DS, A8DS (usado para lançar ROMs Atari 2600/5200/7800/XEGS) e ColecoDS (usado para lançar ROMs ColecoVision, MSX, Sord M5 e Sega SG-1000/SC-3000)
archiede: SNEmulDS (usado para lançar ROMs SNES)
Coto: SNEmulDS Revival
chishm: tuna-viDS (usado para reproduzir vídeos Xvid)
Drenn: GameYob (usado para lançar ROMs de Gameboy)
FluBBaOfWard: S8DS (usado para lançar ROMs Sega Master System, Game Gear, SG-1000/SG-3000 e ColecoVision), NitroGrafx (usado para lançar ROMs PC Engine/TurboGrafx-16), NitroSwan (usado para lançar ROMs WonderSwan), e NGPDS (usado para lançar ROMs Neo Geo Pocket)
FluBBaOfWard, Coto e Loopy: nesDS (usado para lançar ROMs NES)
Apache Thunder: Edição TWL do nesDS
Gericom: FastVideoDSPlayer (usado para lançar vídeos FastVideoDS) e GBARunner2 (usado para lançar ROMs do GameBoy Advance fora do modo GBA do DS Phat/Lite)
therealteamplayer: compilações mescladas de Hicode + DSP do GBARunner2 incluídas para DSi/3DS
unresolvedsymbol: rom3M+master compilações "DSL-Enhanced" do GBARunner2 incluídas para jogar Pokémon: Emerald Version em flashcards
Lordus: jEnesisDS (usado para lançar ROMs Sega Mega Drive/Genesis)
xonn83: versão GBMacro do jEnesisDS
redbug26: CrocoDS (usado para lançar ROMs Amstrad CPC)
Ryan FB, Rocket Robz e xonn83: PicoDriveTWL (usado para lançar grandes ROMs Sega Mega Drive/Genesis)
wavemotion: Nintellivision/NINTV-DS (usado para lançar ROMs do Intellivision)
Realidade Ausente: ícone do Intellivision
davi: tema Border for GBC (originalmente para GameYob)
fail0verflow, Fluto e Arkhandar: gráficos do Homebrew Channel/Launcher
FlameKat53: Ícone manual para o menu SELECT
do tema DSi
Start: tela inicial do Super Nintendo DS
PW5190: Tela inicial TWLMenu++ com tema Kirby
espinhal_cord: gráficos DSi4DS e DSision2
StarvingArtist: ícones do console de jogos
BlastoiseVeteran: versão remasterizada da música da Nintendo DSi Shop
IkaMusumeYiyaRoxie: General N64 MIDI Soundfont, usado para a fanfarra do título em versões antigas
dbry: Código do decodificador IMA-ADPCM de qualidade Xtreme de adpcm-xq.
Firexploit: Sons de UI 3DS para o tema 3DS, alguns dos quais também são usados no tema DSi.
ahezard: código NDMA do nds-bootstrap
Outro mundo e Goblin de madeira amarelo: a interface original do akMenu/Wood
Arisotura: lista de ROM do melonDS e código dumper do BIOS do dsibiosdumper
Dartz150: Correção fornecida para jogos Iridion II e Top Gun: Combat Zones GBA
devkitPro: Código usado no nds-hb-menu e o uso do bootloader, devkitARM, libnds e libfat
edo9300: código de verificação DS Phat
Gericom, TrolleyDave e FAST6191: código de patch GBA SRAM, usado no gbapatcher (thread de patch SRAM em GBAtemp)
Gericom & profi200: código de correção de cores GBA, usado no GBARunner3
Nikokaro: Foram encontrados patches sem inclinação para WarioWare: Twisted! e Yoshi Topsy-Turvy . (tópico GBAtemp)
profi200: Código SD aprimorado do fastboot3DS
RadDude McCoolguy, fintogive, KazoWAR, Vague Rant, gamemasterplc, Rocket Robz, ChampionLeake, DeadSkullzJr, Spellboundtriangle, LedyBacer: cheats widescreen
retrogamefan & Rudolph: Patches AP incluídos para nds-bootstrap
enler: Corrigindo patch AP para Pokémon Black 2 (Japão) para compatibilidade com o modo DS⁽ⁱ⁾
Rocket Robz: Corrigindo alguns patches de AP de jogo aprimorados para DS⁽ⁱ⁾ para compatibilidade com o modo DS⁽ⁱ⁾
SNBeast: Liberar patches
Taiju Yamada: Código usado para ignorar a proteção do arquivo de inicialização R4i-SDHC
Árabe: Ken Brown, SLG3
Búlgaro: Peter0x44, Tescu
Catalão:
Chinês simplificado: cai_miao, Chris, Forbidden, James-Makoto, R-YaTian, Yukino Song, 曾国立, 天天地地人人, 百地 希留耶
Tradicional Chinês: cai_miao, ccccchoho, James-Makoto, Rintim, 奇诺比奥
Tcheco: Štěpán Dolský
Dinamarquês: jonata, Michael Millet, Nadia Pedersen
Holandês: Arthur, guusbuk, Mikosu, Minionguyjpro, Xtremegamer007
Francês: Arcky, cooolgamer, Dhalian, maximesharp, Ghost0159, Léo, LinuxCat, Martinez, NightScript, SLG3, SombrAbsol, TM-47, Yolopix
Alemão: ariebe9115, Blurry Knight, Christian Schuhmann, Dubsenbert Reaches, Fırat Tay, hehe, İlke Hür Eyiol, Julian, Kazuto, malekairmaroc7, Michael Brey, Oleh Hatsenko, SkillP, SuperSaiyajinStackZ, Tcm0, TheDude, TM-47, Uriki
Grego: Anestis1403
Hebraico: Barawer, Yaniv Levin
Húngaro: Viktor Varga, ハトヴィング -- ハット
Indonésio: Cyruz Wings, Farid Irwan, heydootdoot, Shiori
Italiano: Alessandro Tavolieri, Leonardo Ledda, Mattia, TM-47, Vendicatorealato, xavimel
Japonês: Chromaryu, inucat, Pk11, kuragehime, rinrinrin2002, Rintim, Ronny Chan, Uriki
Coreano: DDinghoya, lifehackerhansol, I'm Not Cry, Myebyeol_NOTE, Oleh Hatsenko, 그그기그
Norueguês: Bloco Anulado
Polonês: Avginike, gierkowiec tv, Kipi000, Konrad Borowski, MaksCROWDIN0, Mateusz Tobiasz, Michał Słonina, RedstonekPL, TheCasachii
Português (Brasil): César Memère, Jeff Sousa, themasterf, Victor Coronado
Português (Portugal): bruwyvn, Christopher Rodrigues, Gabz Almeida, jim, joyrv, leteka 1234, Rodrigo Tavares, Tiago Silva, Wodson de Andrade, Wodson de Andrade, Zak
Romeno: Tescu
Russo: Alexey Barsukov, Ckau, manwithnoface, mbhz, MMR Marler, Nikita, Молодая Кукуруза
Ryukyuan: Kuragehime
Espanhol: Adrin Ramen, Adrian Rodriguez, Allinxter, beta215, ccccmark, dimateos, Kaede159, KplyAsteroid, mschifino, Nicolás Herrera Concha, Nintendo R, nuxa17, Radriant, SofyUchiha, TM-47, Uriki, XxPhoenix1996xX
Sueco: Max Hambraeus, Bloco Anulado, TM-47, Victor Ahlin, Walter Lindell
Turco: Alp, Egehan.TWL, Emir, GlideGuy06, Grandmaquil, imbeegboi22, İlke Hür Eyiol, rewix32, rewold20, Yağmur Celep
Ucraniano: Oleh Hatsenko, Mykola Pukhalskyi, TM-47, вухаста гітара
Valenciano: tsolo
Vietnamita: Chử Tiến Bình, daicahuyoi Đỗ Minh Hiếu, hotungkhanh, Trương Hồng Sơn