用 Odin 写一个 NES 模拟器
来源:lucypero.com — 2026-11
📋 概述
作者 2024 年 6 月开始用 Odin 语言写 NES 模拟器,断断续续做到现在:能跑《战斗蛙》和上百款游戏,带调试器、存档状态、手柄支持、CRT 着色器与部分音效。她借这个项目第一次认真接触 NES 架构、位运算与 Odin,也顺手反驳了「模拟器是个周末项目」的说法——两周能跑到 80%,最后 10% 要磨很久,因为 CPU 与 PPU 并行运行的时序容错极小,mapper 又是带自己行为的电路。
🔑 核心要点
- 已支持 NROM、MMC1、UxROM、CNROM、MMC3、GxROM、AxROM 等 mapper,可玩上百款游戏。
- 难点不在「跑起来」而在时序精度:CPU 与 PPU 并行通信,差一点就有游戏出错。
- mapper 不是纯数据而是电路,必须按其真实行为模拟,否则卡带根本认不出来。
- 项目同时是 Odin、十六进制与位运算、CPU 指令周期的一手练习。
💡 金句
You can get to 80% or maybe 90% pretty fast. It's the last 10% that takes a long, long time.
👍 0
👎 0
← 返回 Hacker News 首页