native-gb/super-mario-land

GitHub: native-gb/super-mario-land

使用 C++20 对 Game Boy 版《Super Mario Land》进行非官方原生重写的开源研究项目,目标是生成可读的原生游戏而非模拟器。

Stars: 0 | Forks: 0

# native-gb-super-mario-land 这是对 Game Boy 版《Super Mario Land》计划中的非官方原生 C++20 重新实现。其目标是打造一个可读的原生游戏,而不是一个模拟器。它将通过 Gubsy 使用 SDL 3,并在运行时从用户提供的兼容 ROM 中读取所需内容。 本仓库不包含 ROM、提取的游戏资产或参考汇编代码。它不隶属于 Nintendo 或任何其他版权所有者,也未获得其认可。 ## 状态 研究目标和仓库边界已确立。原生游戏玩法尚未实现。详细顺序请参见 [PORTING_PLAN](PORTING_PLAN.md)。 支持的研究输入: ``` Title SUPER MARIOLAND Size 65,536 bytes Revision 1 (World Rev A) SHA-1 418203621b887caa090215d97e3f509b79affd3e SHA-256 49fbd2f61f953d5ef28cab73e357e524c3009ad19fcf30f6a9ee0ae273be41dc ``` 第一个可执行的里程碑将在读取任何内容之前验证此身份。ROM 文件将被忽略,且绝不能被提交。 ## 工作区布局 本仓库将是唯一的 C++ 工作区。通用工具位于 `GBRE` 中;语义映射、测试场景、固定的参考配置和 oracle 绑定位于私有的同级仓库 `native-gb-super-mario-land-re` 中。 ``` GBRE/ native-gb-super-mario-land-re/ native-gb-super-mario-land/ ``` 最终面向玩家的程序将不会链接到或内嵌 mGBA。模拟器比较仅用于开发。 ## 预期结果 - 确定性的无头游戏逻辑和控制器优先的原生游玩; - 运行时 ROM 验证和带有来源信息的内容提取; - 原始的 160x144 验证展示和整数缩放; - 高刷新率的原生分辨率宽屏渲染; - 无需 CPU 模拟的原生 Game Boy 音频重构; - 用于状态、角色、碰撞、相机、资产和脚本的开发者检查器; - 可选的增强功能与兼容性行为保持分离。 ## 分发 本仓库中不应包含任何 ROM、提取的音视频内容、存档状态、参考截屏或复制的反汇编代码。纯文本的游戏名称仅用于标识兼容性,并不意味着赞助。在公开本仓库或分发构建版本之前,请参阅 GBRE 的仓库和发布政策。 ## 许可证 本仓库中的原始源代码和文档在 GPL-3.0-only 许可下提供。该许可不授予任何第三方游戏内容或商标的权利。
标签:C++20, Game Boy, SDL, 云资产清单, 平台跳跃游戏, 开源重制, 游戏引擎, 逆向工程