5步打造复古游戏中心:TWiLight Menu++全攻略
TWiLight Menu++ 是一款开源的 DSi 菜单替代方案,专为任天堂 DSi、3DS 和 DS 烧录卡用户设计。它能让你的掌机变身复古游戏中心,支持 NDS、GBA、SNES、NES 等多种经典平台游戏,通过模块化设计提供个性化游戏体验,是怀旧玩家的必备工具。
环境配置全流程
安装开发工具链
首先需要安装 devkitPro 开发套件,它包含了编译 NDS 程序所需的所有工具。
在基于 Arch 的系统上,使用以下命令安装:
sudo dkp-pacman -S nds-dev
在 Ubuntu 或 Debian 系统上,需要先添加 devkitPro 仓库,然后安装:
sudo apt-get install build-essential
# 后续添加 devkitPro 仓库并安装 nds-dev
注意:确保安装过程中没有错误提示,若出现依赖问题,需根据提示安装缺失的组件。
获取项目代码
使用 git 命令克隆项目仓库,由于项目包含子模块,需要添加 --recursive 参数:
git clone --recursive https://gitcode.com/gh_mirrors/tw/TWiLightMenu
如果之前已经克隆过仓库,可以通过以下命令更新子模块:
git submodule update --init --recursive
项目编译实战指南
完整编译步骤
进入项目根目录,执行以下命令进行完整编译:
make package
编译完成后,所有输出文件会统一打包到项目根目录下的 7zfile 文件夹中。
部分编译选项
如果只需要编译特定模块,可以进入相应文件夹执行 make dist 命令:
- 启动器核心模块:
cd booter && make dist - 设置模块:
cd settings && make dist - 主题相关模块:
cd romsel_dsimenutheme && make dist
 TWiLight Menu++ 盒艺术设计,展示了支持的多种复古游戏平台
项目架构与核心模块解析
TWiLight Menu++ 采用模块化设计,主要包含以下核心组件:
启动与核心模块
- booter:启动器核心,负责初始化系统并加载主要功能
- slot1launch:处理游戏卡带启动相关功能
- universal:提供各模块共享的通用功能和工具函数
用户界面模块
- romsel_dsimenutheme:DSi 风格的 ROM 选择界面
- romsel_r4theme:R4 烧录卡风格的主题界面
- romsel_aktheme:AceKard 风格的主题界面
- quickmenu:快速操作菜单,提供常用功能入口
功能模块
- settings:系统设置模块,允许用户自定义菜单行为
- title:标题显示和启动画面管理
- imageview:图片查看器,支持在掌机上浏览图片
- manual:用户手册和帮助文档查看器
TWiLight Menu++ 支持多种复古游戏平台,包括世嘉Master System
输出文件与目录结构
主要输出目录
编译完成后,生成的文件主要存放在以下位置:
-
7zfile/:包含最终打包的发行文件
- 7zfile/Flashcard users/:针对烧录卡用户的文件
- 7zfile/_nds/TWiLightMenu/:菜单核心文件
- 7zfile/roms/:示例 ROM 存放目录
-
各模块目录下的 bin 文件:如
booter/booter.bin
文件部署指南
将编译好的文件复制到 SD 卡的相应位置:
- 将
7zfile/_nds文件夹复制到 SD 卡根目录 - 根据你的设备类型(DSi/3DS/烧录卡),复制对应的启动文件
- 将 ROM 文件放入
roms目录下的相应子文件夹
 TWiLight Menu++ 卡带标签设计
实用技巧与问题排查
编译优化技巧
- 并行编译:使用
make -j4 package命令利用多核 CPU 加速编译 - 增量编译:修改代码后直接运行
make,只会重新编译更改的文件 - 清理编译产物:使用
make clean清理当前模块,或./clean.sh清理整个项目
常见问题解决
- 编译失败:检查 devkitPro 是否正确安装,确保所有子模块已更新
- 启动黑屏:确认 SD 卡文件结构正确,尝试重新复制文件
- ROM 无法识别:检查 ROM 文件是否放在正确的目录,文件名是否包含特殊字符
- 主题显示异常:确认主题文件完整,尝试使用默认主题
启动界面预览
 TWiLight Menu++ 启动界面设计预览
总结
通过本指南,你已经了解了 TWiLight Menu++ 的安装、编译和使用方法。这款强大的开源工具让你的任天堂掌机焕发新生,轻松畅玩各类经典复古游戏。无论是开发爱好者还是普通玩家,都能通过这个项目体验到自定义掌机菜单的乐趣。
如果遇到问题,可以查阅项目目录中的文档,或参与社区讨论获取帮助。享受你的复古游戏之旅吧!🎮
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0197
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0126
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python06
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07