- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任天堂产品系统文件
(Pinokio@163.com 译、编 2002/10/10)
目录
·1、系统简介·2、缩写表·3、中央处理器·4、图形处理器·5、声音处理器·6、手柄、控制器和扩展口·7、内存映像硬件·8、I/O端口·9、NES文件格式·10、任天堂磁碟机系统_____________________________________________________________________
1、系统简介
任天堂主机由6502处理器和一个特制的图形处理器组成。CPU是6502,而不是传言中的65C02(CMOS)。PPU的显存是和CPU的内存是分离的,可以通过对特殊端口的读/写来操作。卡带可能包含的内容有位于处理器地址$8000-$FFFF的ROM,和位于PPU地址$0000-$1FFF的VROM。由于NES只有2K的RAM,因此变量的可用的变量空间只有从$0000到$07FF共8个页面。在开机之后RAM和VRAM中的内容是0,但是注意:复位并不改变其中的内容。在更小的卡带,比如只有16KB的ROM,它占有$C000-$FFFF,而$8000-$BFFF的空间是不用的。那些大于32KB的卡带,它被特殊的电路分页到一定的地址空间。一些卡带在$6000-$7FFF有SRAM,那是电池存储的位置。卡带VROM被用来做图案表(例如 Tile 表, 角色发生器等等)。通常的数量是8KB,包含两个图案表。大于8KB 的VROM被特殊的电路分页到一定的地址空间。内部的VRAM在 PPU 内存里定位于$2000-$3FFF,它用来存储命名表(例如屏幕缓冲)。虽然PPU 支持4个命名表,但只能支持两个的存放空间。另外的两个是开始两个的镜像。NES共有154条指令。在本文本里,你将遇到如下形式的符号:“Dn (5 位,3 位,等等)。位是按从最低位(0 位)到最高位(7 位)。所有的十六进制都在前面加上一个美圆符号($)($2002,$4026,等等)是在6502处理器汇编里常用的符号,二进制前面加上一个百分号%。
2、缩写表
NES
任天堂娱乐系统
Famicom
任天堂家用计算机,即FC
FDS
任天堂磁碟机系统
CPU
中央处理器,NES使用一个定制的6502(NMOS)芯片,有些型号为6527
PPU
图像处理器,用来处理背景,精灵和其他图像特性,通常为6538
APU
声音处理器,集合在CPU内部,包含4个模拟通道和1个数字通道
MMC
ROM和VROM的扩容控制,用来控制访问超过6502限制的64K地址,同样,也可以扩容VROM
VRAM
图像RAM,PPU专用,2K字节
VROM
图像ROM,储存图像数据的地方,可以由MMC切换到VRAM里
ROM
程序ROM,实际程序储存的地方,扩容部分可以通过MMC切换到PRG-RAM里
RAM
程序RAM,和ROM同义,不同的是它是RAM
SPR-RAM
精灵RAM,RAM中的256字节,专用于储存精灵,它不属于VRAM或ROM
SRAM
电池RAM,卡带上用来保存游戏记录的EPROM-电擦写ROM
DMC
三角波调制通道,APU用来处理数字声音的,也写作PCM通道
EX-RAM
扩展VRAM,用在MMC5里,可以扩展VRAM容量
3、中央处理器
NES定制的6502内部特别加上了声音处理单元。NTSC制式的NES使用1.7897725MHz主频,PAL制式使用1.773447MHz主频。CPU内存映像:
开始地址
用途
结束地址
$0000
2K字节RAM,做4次镜象(即$0000-$07FF可用)
$1FFF
$2000
寄存器
$2007
$2008
寄存器($2000-$2008的镜像,每8个字节镜像一次)
$3FFF
$4000
寄存器
$401F
$4020
扩展ROM
$5FFF
$6000
卡带的SRAM(需要有电池支持)
$7FFF
$8000
卡带的下层ROM
$BFFF
$C000
卡带的上层ROM
$FFFF
中断:6502有3个中断IRQ/BRK、NMI和RESET,每个中断都有一个16位的向量,即指针,用来存放该中断发生时中断服务函数的地址。中断发生时CPU都会把状态标志和返回地址压栈,然后调用中断服务程序。IRQ/BRK中断由一下两种情况产生:一是软件通过BRK指令产生,一是硬件通过IRQ引脚产生。RESET在开机的时候触发,这是ROM被装入,6502跳到RESET向量指向的地址没有寄存器被修改,没有内存被清空,这些都只在开机是发生。NMI指不可屏蔽中断,它在VBlank即屏幕刷新时发生,持续时间根
文档评论(0)