PPU概念说明
超级PPU超级“图片处理设备”是一种视频控制器芯片,可处理图块图形,滚动平面和SNES子画面。 该功能类似于PPU控制台NES。
虚拟RAM视频 RAM-超级PPU使用的RAM。 包含图块。 每种屏幕模式都使用其自己的图块大小。 每个图块通常为8x8或16x16像素。 VRAM的容量为64 KB。
燕麦“对象属性存储器”-包含子画面的数据定义。 可能包含不超过128个精灵的数据。 与NES中的OAM类似,但更高级。
为每个精灵存储的OAM数据- X子画面位置(9位,0-511或$ 00- $ 1FF)
- 子画面位置在Y中(8位,0-239或$ 00- $ EF)。 值0-239在屏幕上,从-63到-1-“在屏幕上方”,因此sprite的底部在屏幕顶部可见。 这意味着非常大的精灵可以从底部开始,从顶部结束。
- 第一个精灵图块的ID。 8位索引
- 精灵名称表
- Sprite使用的调色板的ID(0-7 / $ 00- $ 07)。 Sprite在最后8个子选板中使用子选板索引,因此ID实际上为7 + N
- 精灵的大小。 1位:0 =较小的精灵可用于当前模式(通常为1个图块16x16像素),1 =较大的精灵可用于当前模式(通常为4个图块(2x2瓦片16x16像素))
- 精灵优先 OAM优先级:2比特; 这些位确定子画面相对于背景平面的优先级(请参见下面的图形平面部分)。 优先于其他精灵。 OAM中的零精灵具有最高优先级。 OAM中的第一个精灵具有较低的优先级。 第二个更低,依此类推。
OAM Viewer模拟器No $ sns(SMW)两种主要类型的机器
NTSC控制台- 超级任天堂(SNES),60赫兹的机器,主要在美国销售。 屏幕分辨率256x224像素(如NTSC NES)
PAL控制台- Super Famicom(SFC)的50赫兹汽车销往世界各地。 屏幕分辨率256x240像素(与PAL Famicom相同)
左:NTSC超级任天堂(1型),右:PAL超级家族瓷砖卡
SNES具有7种不同的“模式”后台处理
- 他们被称为模式0-7。 模式1具有变化模式。 模式7具有模式7 Ext的子模式。 BG 每种模式都有其自己的可用背景平面数量。 对于该模式下可用的背景平面,每种模式都有其自己的颜色数量。 每个背景的渲染属性略有不同。 在图形的所有模式和所有平面中,任何子调色板中的颜色索引0始终表示透明颜色。
模式汇总表4个平面图形
SNES最多可以处理4个图形平面,称为BG1-BG4。 这些图形平面可以滚动(滚动)。
磁贴卡大小- 滚动平面的平铺图的大小可以为32x32、32x64、64x32或64x64切片。 根据磁贴卡每个块的大小(16x16 px / 1磁贴块或32x32 / 2x2磁贴块),磁贴卡的大小可能从256x256到1024x1024像素不等
- 有关图块地图中图块大小的更多信息,请参见本文的“图块地图和角色图” 部分。
瓦片地图中每个瓦片的属性- V / HFlip砖(垂直/水平反射)
- 平铺优先级(低/高)
- 调色板编号(3位,0-7 / $ 00- $ 07)。 飞机使用CGRAM的前8个子选板; 后8个子选板用于精灵(OAM)
- 磁贴ID
SWM中用于4个背景(BG)的Tilemap Viewer视频模式模式0- 4个背景(BG),每个背景有4种颜色
- 优先BG(从前到后)
模式1- 2 BG 16种颜色
- 1 BG 4种颜色
- 优先级BG(从前到后)。 优先级根据寄存器$ 2105中第3位的状态而变化。
模式2- 2个BG,每种16种颜色
- 优先BG(从前到后)
- 第一种模式具有“按瓦片偏移”(有关更多详细信息,请参见模式2 )
模式3- 1个256色BG
- 1 BG 16种颜色
- 优先BG(从前到后)
- 可用的直接彩色模式(注册2130美元)
模式4- 1个256色BG
- 1 BG 4种颜色
- 优先BG(从前到后)
- 第二种模式是“平铺”(有关更多详细信息,请参见模式4 )
模式5- 1 BG 16种颜色
- 1 BG 4种颜色
- 优先BG(从前到后)
- “模式5与以前的模式不同。 它始终使用宽度为16像素(高度仍然可以是8或16)的图块,而不使用宽度为8/16像素的标准图块,并且仅使用一半的像素(从零开始,子屏幕图块为偶数像素,主屏幕图块为奇数像素)。 然后,它切换为伪整数以渲染512像素宽的栅格线。 此外,如果启用了隔行模式(请参见寄存器$ 2133的位0),则屏幕高度而不是224或239是448或478个半行。 在每个帧中绘制偶数或奇数行,这由$ 213f寄存器中的位7确定。 这也意味着可以为$ 212c和$ 212d分配相同的值,以获得“预期”显示。”
模式6- 1 BG 16种颜色
- 优先BG(从前到后)
- 特殊属性:与模式5类似,它具有一定的区别。 与模式2一样,它也是向平铺模式的转变。 “但是,值得记住的是,模式6始终使用宽度为8像素(16个半像素)的图块,这与BG3和BG1有关。 “不能将偏移量应用于8个半像素的图块或16像素宽的区域(仅当您不对两个8像素区域使用两个偏移值时)。”
模式7- 1个256色BG
- 一种非常不同的模式; 允许BG层的矩阵变换
- 在Super Mario Kart,FZero等游戏中用于伪3D效果。
- 有关更多详细信息,请参见模式7 。
克格拉姆
“彩色图形RAM”- 包含调色板的颜色信息
- 总共包含256($ FF)个调色板颜色条目。
- 每个图形模式将256个调色板条目划分为多个子调色板,每个子调色板具有N种颜色。 N取决于视频模式。 默认情况下,每个子调色板包含16种颜色(256个颜色/每个子调色板16种颜色= 16个子调色板)。 默认情况下,前8个子调色板(ID为0-7 / $ 00- $ 07,调色板记录ID为0-63 / $ 00- $ 3F)用于前景图块(FG),后8个子调色板(子调色板ID为8-16 / $ 08- $ 10,记录ID调色板64-127或$ 40- $ 80)-用于精灵对象。 使用此子调色板,子调色板中的第一种颜色对于图块/子图形变为透明
- 15位BGR颜色格式。 CGRAM中的每个颜色条目的格式均为2个字节(“字”),格式为0BBBBBGG GGGRRRRR(B =蓝色位,G =绿色位,R =红色位)。 16位,不使用第一位,因此保留15位颜色范围。 每个颜色分量(B,G,R)的值范围为0-31(十进制)或$ 00- $ 1F(十六进制)
SNES调色板的细分(调色板查看器模拟器中的“超级马里奥世界”没有$ sns)推荐的调试和图形工具
寻找一款优秀的软件来创建复古图形,将像素图稿拆分为多个图块并减少要在各种SNES视频模式下处理的色彩数量可能是一个困难的过程。 以下是与复古图形和专用仿真器一起使用的推荐软件列表,可让您浏览VRAM和平面的内容。
图形软件:yIrfanview- 用于查看/编辑通用程序的程序,具有插件,并广泛支持许多文件类型
- 可以编辑,导出和导入调色板,以及增加/减少图像中的颜色数量并显示该数量
- 免费和开源软件
- 有一个PNG插件,用于在保留调色板顺序的同时更改颜色深度更改
- 网页首页
推荐的用于调试Super PPU的专用仿真器没有$ sns- 调试SNES模拟器
- 可以模拟SNES-CD Super Disc自制软件原型
- 可以显示机器/ CPU状态
- 即时显示BG图层
- 可以即时显示OAM
- 可以在各种颜色模式下显示VRAM磁贴的内容
- 可以显示CGRAM内容
- 资讯中心
希根- 各种复古控制台的模拟器
- 具有对 SNES设备周期的非常精确的仿真; 用于模拟/调试SNES硬件问题
- 资讯中心
链接和其他阅读