# Boulder Dash：NES 反汇编与 C/SDL2 移植

> Boulder Dash 对美版 NES 游戏生成带注释的反汇编，并将各例程移植为原生 C11 与 SDL2 程序。游戏数据和生成的汇编来自用户本地 ROM；记录工具采集原版的 RAM 变化及硬件访问，用于逐例程比较 C 实现。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-11-06
- 收录于：2026-11-08
- 原始资源：<https://github.com/Kryyto/boulder-dash-nes-decomp>
- 一手来源：<https://github.com/Kryyto/boulder-dash-nes-decomp/blob/206dcca9f1f2a6aae550b28e397cc43e478e48c8/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/boulder-dash-nes-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/boulder-dash-nes-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/boulder-dash-nes-decomp-case/index.md)

## 使用条件与局限

- **前提条件：**需要合法持有的 Boulder Dash 美版 NES ROM；不支持其他版本或修改过的 ROM。
- **前提条件：**需要 CMake 3.20 或更新版本、C11 编译器、SDL2、Python 3；构建反汇编结果还需 cc65。
- **测试证据：**作者报告称，其机器上约 144,000 次记录调用均比对一致。
- **许可：**采用 MIT 许可证。

## 一手来源

1. <https://github.com/Kryyto/boulder-dash-nes-decomp/blob/206dcca9f1f2a6aae550b28e397cc43e478e48c8/README.md>
2. <https://github.com/Kryyto/boulder-dash-nes-decomp/blob/206dcca9f1f2a6aae550b28e397cc43e478e48c8/port/README.md>

## 同分区更多条目：游戏

- [BrawlerPad：Super Smash Bros. 64 的 Apple 平台移植](https://awesomerea.org/zh/resources/brawlerpad-smash-64-apple-port-case/index.md) · 案例
- [Budokai Tenkaichi 3：基于一致性反编译的原生 PC 移植](https://awesomerea.org/zh/resources/tenkaichi3-pc-port-case/index.md) · 案例
- [Burnout 3 for PlayStation 5：Takedawn 的 PS5 移植](https://awesomerea.org/zh/resources/ps5-burnout-3-case/index.md) · 案例
- [Caesar II：将恢复的游戏源码移植到现代平台](https://awesomerea.org/zh/resources/caesar-ii-port-case/index.md) · 案例
- [Calico：含渲染器逆向分析的 Atari Jaguar DOOM 移植](https://awesomerea.org/zh/resources/calico-doom-case/index.md) · 案例
- [CannonBall：《OutRun》街机引擎的 C++ 重写](https://awesomerea.org/zh/resources/cannonball-outrun-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
