MikeWuPing

Nes Reverse Engineering — Development skill for Claude Code

Development community

Platform-agnostic methodology for reverse-engineering NES/Famicom ROMs into faithful recreations on any target platform: docs, deep-dive references, and a zero-dependency extraction template.

How to install Nes Reverse Engineering

This entry records only its repository, not the path inside it, so there is no exact command to give. Open MikeWuPing/nes-reverse-engineering and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Nes Reverse Engineering does

Platform-agnostic methodology for reverse-engineering NES/Famicom ROMs into faithful recreations on any target platform: docs, deep-dive references, and a zero-dependency extraction template. A Claude Code skill.

Alternatives in Development

  • Management Deep Dive — 管理层纵深研究:买股票就是买人 15.9k ★
  • How Claude Code Works — Deep dive into Claude Code internals — architecture, agent loop, context engineering, and more 1.9k ★
  • Native Feel Skill — An Agent Skill for designing cross-platform desktop apps that feel native — distilled from Raycast's 2.0 deep 1.9k ★

README

NES ROM 逆向与忠实重建技能

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skill-blue.svg)](https://claude.ai/code)

从 6502 反汇编忠实重建红白机游戏的方法论 skill:翻译逻辑、提取资源、证明保真。重建目标平台与语言不限——UEFI 应用、Windows/Linux 桌面程序、Android 应用、Web 页面是同等合法的目标。

[English](README_EN.md) | 简体中文

简介

本技能为 Claude Code 提供一套 **NES/Famicom ROM 逆向与忠实重建**的方法论:给定一个 ROM 和它的 6502 反汇编,产出结构清晰、可验证、能长期维护的重建工程。核心做法是**翻译逻辑 + 提取资源**两条腿走路——**不写模拟器**,不复刻 CPU/PPU/APU 的硬件行为,而是把游戏逻辑逐行翻译成目标语言、把素材逐表提取成语言中立的产物,让游戏在目标平台上原样重跑。方法论本身与平台无关:重建目标是 UEFI 应用、桌面程序、安卓应用还是网页,用 C、Rust、JS 还是 Kotlin,走的都是同一套流程;平台专属的实现细节(目标平台的图形 API、构建系统、调试工具链)不属于本 skill 的范围,必要时只给一行指针。

特性

  • 四铁律方法论 — 证据优先、翻译不重写、校验报错时修登记而非放宽校验、保真优先级排序;违反任何一条的结果都是"看起来完成了、实际不可信",四条铁律在全文反复落地为可执行动作
  • 证据化提取与校验 — 每块被提取的数据都要带 {汇编标签, bank/地址, 来源行号, 证据} 四元证据;校验四件套(边界、指针回环、索引范围、条目数对齐)构成零假阴性闸门,报错只回查登记,绝不删掉检查
  • 6502 翻译纪律与 quirk 清单 — 命名贴汇编标签、保持帧驱动模型、状态机编号与迁移条件照抄、定点行为逐位还原;计数 0 按 256、进位链隔断、隐式寄存器依赖等语义陷阱逐条成表,每条带现象、语义、翻译要点与实例证据
  • 保真验证阶梯 — L1 结构校验 → L2 golden CRC 双侧互证 → L3 锚定测试 → L4 端到端闭环,逐级抬高证据强度;"跑通 ≠ 验证",结论必须引用具体文件与行号/帧,证据不足按失败处理
  • 多模态抽样核对 — 提取产物抽样渲染成 PNG,让 agent 用自己的"眼睛"核对内容;运行侧同样以截图与日志形成闭环,而不是回头问用户"看着对不对"
  • 模板开箱即跑 — templates/rom_extract/ 是完整的提取管线骨架:iNES 解析、表登记与签名定位、结构校验、格式解码、代码生成、零依赖 PNG 渲染;48 个基于合成 mini-ROM 的测试开箱即绿,不依赖任何真实 ROM
  • 首次完整实战背书 — 《赤色要塞》复刻:约两天半把一款红白机游戏从反汇编翻译到目标平台并跑通主流程,留下 491 条带证据登记、约 160 项宿主锚定测试、48 项提取器回归与 7 个端到端断言模式

安装

复制整个目录

本 skill 不是单个 `SKILL.md`:`references/`(深水参考)与 `templates/`(可运行模板)都是运行时要真正读到的内容,必须随目录整体复制到 `~/.claude/skills/` 下——只拷 `SKILL.md` 会得到一份引用了不存在文件的文档。

:: Windows (cmd)
xcopy /E /I nes-reverse-engineering %USERPROFILE%\.claude\skills\nes-reverse-engineering
# Linux / macOS
cp -r nes-reverse-engineering ~/.claude/skills/

复制完成后,`~/.claude/skills/nes-reverse-engineering/` 下应能看到 `SKILL.md`、`README.md`、`references/`、`templates/` 与 `evals/`。

环境要求

模板为纯 Python 标准库、零第三方依赖,但需要 **Py