NES 有以下硬件
这里有一张原理图:
图中左上为 CPU,左下为 PPU,右上为卡槽
能够观察到图中有两条粗的蓝色的线,一个在上方,一个在下方
总结下来,我们知道了 NES 有 CPU 和 PPU 两类总线,他们分别有自己的寻址空间。由于卡带上既有图像数据又有程序数据,所以卡带同时接入了两根总线
了解了 NES 有两条总线之后,我们需要关注 NES 的内存映射,也就是总线上哪些地址对应了哪些数据
这个图简单看看就好了,后面介绍 PPU 的时候再详细看看
了解了各个硬件作用和内存映射后,下面可以来探讨 NES 游戏运行时的流程了,其实只是很简单的循环:
首先系统上电或者 RESET 按钮按下后,会触发 RESET 中断,CPU 从 0xFFFA 和 0xFFFB 存储的地址处(2byte)开始取指令运行(具体在 CPU 章节讨论),之后 CPU 会一直运行 0x8000 - 0xFFF9 区间的指令。在每一帧渲染之前,CPU 会读取输入设备,然后通过 PPU 寄存器往 PPU 总线上的 VRAM 写数据,同时往 APU 写数据,最终反馈到了屏幕和声音上
- 随机文章