NES-ROM-FC解析

FC模拟器开发

  • 规约定义
  • 什么是NES?
  • NES 格式结构
    • INES
    • INES2.0
  • NES ROM 图像解码
    • Tile (格子)
    • Palette (调色板)
    • CHR-BANK(图形ROM 部分)
  • 附录
    • 解析参考

规约定义

什么是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组成。

格式说明如下图:
NES-ROM-FC解析_第1张图片

INES2.0

INES2.0 格式由固定的Header、Trainer Data、PRG-ROM、CHR-ROM、杂项ROM组成。它最大的特点是兼容INES1.0格式,且支持更多的Mapper类型、和更大的NES文件模拟。

格式说明如下图:
NES-ROM-FC解析_第2张图片

NES ROM 图像解码

Tile (格子)

Tile是一个由16字节组成的元素,其中前8个字节以Bit的方式存储图像的形状,后8个字节则是辅助前8个字节进行配色。
一个Tile只支持一个调色板。

Palette (调色板)

CHR-BANK(图形ROM 部分)

附录

解析参考

你可能感兴趣的:(FC模拟器)