# pw：Pokéwalker 固件的一致性反编译重建

> 以 C 语言重建 Pokéwalker 的固件。Pokéwalker 是《宝可梦 心金／魂银》配套的计步器配件，采用 Renesas H8/38606 微控制器。README 报告，使用从使用者自备的零售固件镜像中取得的美术素材及受支持的 Renesas 编译器套件，可重新构建出逐字节相同的 48 KiB 镜像；没有该镜像时，项目原创的占位美术只能生成不一致的参考构建。作者称其结合已公开的硬件研究，对零售二进制文件、心金／魂银 ROM 及候选编译器进行了反汇编和反编译。

- 类型：案例
- 目标：固件 · 游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-27
- 原始资源：<https://github.com/lumirth/pw>
- 一手来源：<https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/pokewalker-matching-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/pokewalker-matching-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/pokewalker-matching-decomp-case/index.md)

## 使用条件与局限

- 所审阅的 main 分支只有 2026-09-14 的一次初始发布提交，没有标签或发行版。README 称针对单一镜像的一致性重建已经完成；该镜像大小为 49,152 字节，SHA-256 为 f9e210a3…d15607，项目假定它是唯一的 Pokéwalker 固件。源码保留为 40 个 C90 模块，文件名体现观察到的链接顺序，任何修改都必须保持一致。
- 使用者需自备合法取得的 Pokéwalker 固件镜像（只用于美术素材），以及 Renesas H8、H8S、H8SX 系列 C 编译器套件；仓库不分发两者，README 也不提供获取方法。据报告只有 6.02.01 和 6.02.02 两个套件能重现该镜像。缺少美术素材时会改用随附的占位素材，通常会使输出哈希不同。
- 据报告已在 macOS Arm64（32 位 Windows 编译器经 Wibo 和 Rosetta 运行）及 Windows x86_64（原生运行）上构建成功，其他宿主未经验证。uv 依 uv.lock 提供 Python 3.11 及以上版本（默认 3.12）、Ninja 和 Pillow，configure.py 生成 build.ninja；在 macOS 上，配置步骤会下载并校验记录在案的 Wibo 版本。
- ninja verify 要求与零售镜像的大小及 SHA-256 一致，并写出 verified.json；构建指南要求在两个编译器套件下都完成这项检查，并记录每个模块的输入和输出哈希以发现过期的目标文件。宿主单元测试覆盖构建工具，开发检查另加 clang-format、Ruff 和 Cppcheck，项目没有 CI 工作流。一致性结果为作者报告。
- 项目原创内容以 CC0 1.0 贡献至公有领域，占位美术另附 CC0 声明；零售固件及提取的美术素材仍受各自权利约束。include/startup/iodefine.h 是保留的 Renesas HEW 器件头文件，不在 CC0 贡献范围内，也没有许可授权；编译器归档读取器注明借鉴采用 MIT 许可的 ISx 和 Unshield。项目声明与 Nintendo、The Pokémon Company、GAME FREAK 及 Renesas 均无关联。

## 一手来源

1. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/README.md>
2. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/docs/build.md>
3. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/docs/source.md>
4. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/docs/references.md>
5. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/docs/third-party.md>
6. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/assets/README.md>
7. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/assets/placeholders/LICENSE.md>
8. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/config/toolchains.json>
9. <https://github.com/lumirth/pw/blob/6dc7bc09950078fa3fe0dffa4dae34e9549a99da/LICENSE>

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

- [Ratchet & Clank：记录了代理流程的 PS2 一致性反编译](https://awesomerea.org/zh/resources/rac1-matching-decomp-case/index.md) · 案例
- [re4：Resident Evil 4 GameCube 调试版的字节一致反编译](https://awesomerea.org/zh/resources/re4-gamecube-debug-decomp-case/index.md) · 案例
- [sead：Nintendo 第一方 C++ 标准库的反编译重建](https://awesomerea.org/zh/resources/sead-nintendo-library-decomp-case/index.md) · 案例
- [《天空之剑》：以哈希校验重新链接的 Wii 版反编译](https://awesomerea.org/zh/resources/skyward-sword-decomp-case/index.md) · 案例
- [Sly Cooper and the Thievius Raccoonus：PlayStation 2 一致性反编译](https://awesomerea.org/zh/resources/sly1-matching-decomp-case/index.md) · 案例
- [Snowboard Kids 2：大模型辅助的 N64 匹配反编译](https://awesomerea.org/zh/resources/snowboardkids2-decomp-case/index.md) · 案例

## 关于此条目

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