关于nes的模拟

   上个世纪80年代的Nintendo Entertainment System游戏主机算是被模拟最多的主机了。现在无论手机上,psp上都充斥着它的身影。一些经典的老游戏仍在继续发挥着余热。

  nes内部主要部件有中央处理器cpu,图形处理器ppu,声音处理器apu,弄清楚这几块就基本上搞定了它的运行流程。虽然nes模拟器的源代码到处都可以找到,但不弄清楚nes的基本结构直接看源码是肯定看不懂的。

说一下cpu,nes有一块8位的6502 cpu,8bits 说的是每条指令(opcode)的长度,所以它的全部指令数量也不会超过2的8次方 256个。地址线位数是16位,意思可以寻址2的16次方,64K的内存空间,实际上nes并没有64k的内存。cpu的模拟要实现它那几种内存寻址的方式以及每条指令的运算实现,虽然不算太复杂但也比较繁琐,需要一份详细的文档一一对照。

ppu的处理过程相对比较复杂些,首先涉及到pattern table, name table, attribute table , palette, sprite 等一大堆名词,再者就是0x2000-0x2007这几个ppu寄存器的读写过程也是有点繁琐,有机会详细的写下文档。

apu应该也是比较麻烦的一个东西,目前的理解是把要里面几种声道给糅合起来。

posted @ 2010-11-12 12:42  火月  阅读(397)  评论(1编辑  收藏  举报