C · 项目报告

EstebanPdN/zelda-alttp-3ds

Nintendo 3DS dual-screen port of Zelda A Link to the Past based on zelda3

已完成 打开 GitHub
E
302星标
5Fork
5Issue
未知许可证

分析结果

项目分析

这是一个将《塞尔达传说:众神的三角力量》(Zelda A Link to the Past)的开源逆向工程引擎 zelda3 移植到 Nintendo 3DS 的项目。它提供 3DS 双屏体验:上屏显示游戏画面,下屏显示地图、装备、物品和设置等辅助界面。仓库不包含 ROM 或游戏资源,用户必须自行提供合法获得的美版无头 ROM,并在首次启动时从本地 ROM 提取资源。

适用领域 Nintendo 3DS 自制软件 / 游戏移植 / 复古游戏引擎 / C 语言开发 / 嵌入式/掌机平台开发 / SDL2 / Homebrew / 游戏资源提取
配置难度 中等偏高。普通玩家只安装 Release 并提供 ROM 的难度中等,主要难点在 3DS Homebrew 环境、SD 卡路径和 dspfirm.cdc 配置;开发者从源码构建则需要熟悉 devkitPro、CMake、libctru、makerom、bannertool 和 3DS 平台开发流程。
商业价值 商业价值有限,主要价值在开源学习、复古游戏保存、Homebrew 社区和掌机移植技术研究。由于项目涉及知名商业游戏 ROM 的用户自备要求,且仓库未声明许可证,不适合直接商业化。对开发者而言,它可作为 3DS 双屏 UI 适配、C/SDL2 游戏移植、资源提取流程和 Homebrew 打包发布的参考案例。
01

技术亮点

  • 针对 Nintendo 3DS 的双屏适配,上屏 400x240 显示游戏主画面,下屏显示地图、装备、物品和设置。
  • 首次启动可从用户本地 ROM 提取 zelda3_assets.dat,避免仓库分发版权资源。
  • 支持任意 .sfc 或 .smc 文件名,短文件名更推荐。
  • 支持 Original、Stretch、Wide 三种显示模式。
  • New 3DS 支持 Turbo speed。
  • 支持通过 L + R + A 快速生成诊断 dump,包括内存文件和上下屏截图,便于提交 bug。
  • Release 提供 CIA、3DSX、FBI 可扫描的 QR 码和对应版本源码包。
  • 项目基于已有 zelda3、Android port 和双屏 Android 分支,具备较明确的技术来源。
02

目标用户

  • 拥有破解或可运行 Homebrew 的 Nintendo 3DS 用户
  • 复古游戏爱好者
  • 3DS 自制软件玩家
  • 对 zelda3 引擎移植感兴趣的开发者
  • 熟悉 devkitPro/devkitARM 的掌机开发者
  • 希望研究双屏游戏 UI 适配的开发者
03

配置要求

  • 需要一台可运行 Homebrew 或 CIA 的 Nintendo 3DS/2DS 主机。
  • 需要 SD 卡路径 sdmc:/3ds/Zelda 3DS/。
  • 需要用户自行提供合法获得的 USA、unheadered ROM。
  • ROM 不应由本项目分发,仓库和 CIA 不包含 ROM 或提取后的资源。
  • 音频功能需要 sdmc:/3ds/dspfirm.cdc。
  • 构建源码需要 devkitARM、libctru、3ds-cmake,并配置在 DEVKITPRO 环境下。
  • 构建 CIA 需要 makerom 和 bannertool。
  • 构建依赖 vendored SDL2 源码,路径为 app/jni/SDL2。
  • 构建脚本为 platform/3ds/build.sh,产物位于 build-3ds/game/。
04

适用场景

  • 在 Nintendo 3DS 上运行《塞尔达传说:众神的三角力量》的现代移植版本
  • 利用 3DS 上下双屏实现游戏画面与地图/装备/物品界面分离
  • 研究 zelda3 逆向工程引擎在掌机平台上的适配方式
  • 构建 3DSX 或 CIA 格式的 Homebrew 应用
  • 测试不同显示模式,如 Original、Stretch、Wide
  • 为类似 SNES 游戏移植项目提供参考
  • 分析 3DS 平台音频、输入、屏幕布局和资源读取流程
05

部署与配置

  • 从 GitHub Releases 页面下载最新版本的 CIA 或 3DSX 文件。
  • 如果使用 CIA,使用 FBI 等工具安装到 Nintendo 3DS。
  • 在 SD 卡上创建目录:sdmc:/3ds/Zelda 3DS/。
  • 将自己合法获得的 USA、unheadered ROM 放入该目录,文件扩展名可为 .sfc 或 .smc。
  • 如需使用翻译 ROM,可将原版 USA ROM 和翻译 ROM 同时放入该目录,以便缺失资源时回退到原版。
  • 确保音频所需文件存在:sdmc:/3ds/dspfirm.cdc。
  • 如没有 dspfirm.cdc,可通过 Luma3DS 的 Rosalina 菜单执行 Dump DSP firmware 生成。
  • 首次启动游戏后按 A 验证 ROM 并提取 zelda3_assets.dat。
  • 之后即可正常运行游戏。
06

风险与注意事项

  • 版权合规风险较高:虽然仓库不包含 ROM 和资源,但用户必须自行确保 ROM 来源合法。
  • 项目未声明明确开源许可证,二次分发、商业使用和代码复用存在法律不确定性。
  • 依赖 3DS Homebrew 生态,普通用户需要具备一定破解、安装 CIA 或运行 3DSX 的经验。
  • 音频依赖 dspfirm.cdc,配置不正确可能导致无声音。
  • 兼容性可能受 ROM 版本、翻译 ROM 数据完整性和 SD 卡路径影响。
  • 3DS 平台较老,开发工具链 devkitARM/libctru/3ds-cmake 配置对新手不友好。
  • 仓库 star 数中等、fork 数较少,社区维护能力和长期活跃度需要进一步观察。
  • 游戏移植涉及逆向工程基础项目,部分地区可能存在额外法律风险。

历史记录

热榜历史快照

2026-08-03 第28名 新收录 · github_search
2026-08-02 第27名 新收录 · github_search