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 StartedRust0544
MiniMax-H3MiniMax H3 是一个通用的全模态生成系统。它支持对由文本、图像、视频和音频组成的多模态上下文进行统一理解,并能生成分辨率高达 2K、时长可达 15 秒的带原生立体声音频的视频。得益于面向任务泛化的系统设计,H3 在预训练阶段就已具备广泛的多模态上下文理解与生成能力,能够出色地执行复杂的多模态指令。Python00
DataFlow基于大模型算子和工作流的高效文本大模型训练数据合成框架Python05
doraDORA (Dataflow-Oriented Robotic Architecture 面向数据流的机器人架构) 是为 AI 与具身智能机器人打造的高性能开发框架,以数据流范式重构开发逻辑,原生支持分布式部署与端边云协同 —— 无需复杂适配,即可实现一体端到端具身大小脑、VLA等模型部署,无缝衔接感知、推理、控制全链路,让 AI 能力与机器人动作深度融合。 依托 Rust 内核与零拷贝通信技术,它将具身大小脑、VLA等模型推理、多模态数据融合延迟压缩至微秒级,同时兼容 ROS2 生态与国产 AI 芯片,彻底降低具身智能机器人的开发门槛,让分布式部署下的 AI 赋能创新更高效、更灵活。Rust01
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown01
py-xiaozhi基于Python的Xiaozhi AI,适用于想要完整Xiaozhi体验而无需拥有专用硬件的用户。Python01