🏯

6.nes 模拟器模拟 PPU

🎨
6.1. 模拟 PPU 寄存器
🛠️
6.2. 模拟 NMI 中断
📜
6.3. 渲染 CHR ROM 切片
🔉
6.4.渲染静态屏幕
图片处理单元是最难模仿的,因为它处理游戏中最复杂的方面:渲染屏幕状态。NES PPU 有很多怪癖。虽然不一定需要模拟其中一些,但其他一些对于拥有可玩环境至关重要。64KiB 的空间并不大,NES 平台设计人员试图尽可能多地从中挤出。使用 CHR ROM 数据意味着使用压缩数据格式。它需要大量的位算术、解压缩和解析。
notion imagenotion image
我们将使用四个主要步骤创建 PPU 模拟器:
  • 模拟寄存器和 NMI 中断
  • 从 CHR ROM 解析和绘制图块
  • 渲染 PPU 状态:
    • 渲染背景图块
    • 渲染精灵
  • 实现滚动
第一步与模拟 CPU 非常相似。在第三个之后,就可以玩静态屏幕游戏了:
当我们完成卷轴后,我们可以玩诸如超级马里奥兄弟之类的平台游戏。
所以让我们开始吧。