FC模拟器开发
规约定义
什么是NES?
NES(Nintendo Entertainment System的缩写),是Nintendo在20世纪80年代和20世纪90年代发售的一种家庭主机,俗称红白机,也是此类游戏机在日本以外的地区发行版本的缩写,在日本发行的游戏机型缩写为FC(Family Computer)又写作Famicom。在该游戏平台上比较著名的游戏有《Contra》,《Super Mario》等等。任天堂FC的后续机种是1990年推出的任天堂SFC。nes20世纪80年代末、90年代初进入中国,是80后最早接触的游戏机。
而*.nes/.NES文件格式(后缀名的文件.nes)是NES二进制程序的分配事实上的标准,在使用即使在许可的模拟器,如商业化PocketNES和Wii虚拟主机。它通常被称为iNES格式,因为它是由Marat Fayzullin为名为iNES的模拟器创建的。最新版本格式为INES2.0。下文所讲的内容都是围绕NES 格式进行说明而非任天堂娱乐系统。
NES 格式结构
INES
INES 格式由固定的Header、Trainer Data、PRG-ROM、CHR-ROM、INST-ROM、PROM组成。
格式说明如下图:
INES2.0
INES2.0 格式由固定的Header、Trainer Data、PRG-ROM、CHR-ROM、杂项ROM组成。它最大的特点是兼容INES1.0格式,且支持更多的Mapper类型、和更大的NES文件模拟。
格式说明如下图:
NES ROM 图像解码
Tile (格子)
Tile是一个由16字节组成的元素,其中前8个字节以Bit的方式存储图像的形状,后8个字节则是辅助前8个字节进行配色。
一个Tile只支持一个调色板。
Palette (调色板)
CHR-BANK(图形ROM 部分)
附录
项目地址:
https://gitee.com/omuao/open-rom-nes?_from=gitee_search