任天堂产品系统介绍(doc 30页)(正式版) 联系客服

发布时间 : 星期六 文章任天堂产品系统介绍(doc 30页)(正式版)更新完毕开始阅读ff229c74541810a6f524ccbff121dd36a32dc49a

$2C00 命名表3(32x30块)(镜像,见命名表镜像) $2FBF $2FC0 属性表3(镜像,见命名表镜像) $3000 $2000-$2EFF的镜像 $3F00 背景调色板#1 $3F10 精灵调色板#1 $3F20 镜像,(见调色板镜像) $4000 $0000-$3FFF的镜像 $2FFF $3EFF $3F0F $3F1F $3FFF $7FFF 命名表:

NES的图像通过Tile矩阵来显示,这个网格就叫命名表。一个命名表和字符模式下的屏幕缓冲比较相象,它包含字符的代码,也就是30列的32Byte长度。每个Tile有8x8个象素,每个命名表有32x30个Tile,也就是256x240象素。PPU支持4个命名表,他们在$2000,$2400,$2800,$2C00。在NTSC制式下,上面和下面的8象素通常不显示出来,只有256x224象素;在PAL制式下,屏幕有256x240象素。

需要说的是,虽然PPU支持4个命名表,任天堂主机只支持2个命名表。另外两个被做了镜像。命名表保存了Tile的编号,而Tile存在图案表里。计算命名表里Tile号对应的实际地址的公式是:

(Tile号×16)+由$2000端口指定的图案表地址

命名表镜像:

NES只有2048字节($800)的VRAM给命名表使用,但是如前表所示,NES有能力寻址到4个命名表。缺省情况下,NES卡带都带有水平和垂直镜像,允许你改变命名表指向PPU的VRAM位置。这种方式同时影响两个命名表,你不能单独改变其中的一个。每个卡带都控制着PPU地址线的A10 和A11。它可能将他们设置成以下4种可能的方式的1种。下面这个图表有助于理解NES里的各种镜像,指向PPU VRAM中命名表的12位地址相当于

“$2xxxx”:

命名 命名 命名 命名 名字 说明 表#0 表#1 表#2 表#3 水平 $000 $000 $400 $400 垂直 $000 $800 $000 $800 地址 地址线线A11 A10 1 0 0 1 1 0 4屏幕卡带里有2K VRAM,4个命名$000 $400 $800 $C00 1 镜像 表物理上独立的 所有的命名表指相同的VRAM单屏幕 $X00 $X00 $X00 $X00 0 区域,X=0、4、8、C VROMMapper 68#游戏映射VROM到PPU VRAM的命名表,这使 镜像 得命名表是基于VROM的,你不能写它但却可以通过mapper自己来控制是否使用这种特性 图案表:

图案表储存了实际8x8象素的Tile,同时也储存了用来指向NES调色板全部16种颜色的4位元矩阵的低两位。PPU支持两个图案表在$0000和$1000。他们有以下格式: VRAM地址 $0000 .. .. .. .. .. .. $0007 图案表内容