FC模拟器开发

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

规约定义

什么是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

QQ交流群:972662717

解析参考

NES-ROM-FC解析相关推荐

  1. 酷派Y60-C1官方ROM内容解析

    酷派Y60-C1官方ROM大小接近1GB.为什么会这么大,来分析一下. 修改日期 修改时间 文件大小 文件名 文件用途 2014/7/1 9:54 1,353,216 8x10_msimage.mbn ...

  2. 很久很久以前写的FC/NES 游戏ROM文件管理程序,许久没更新,用得着的试试吧

    那是在很久很久以前了, 那时候才刚刚学习Win32 SDK编程,恰恰又学了Sqlite3数据库的使用,所以就写 了这么一个程序, 没什么特殊的功能, 就是把NES文件保存到数据库中, 支持搜索, 要查 ...

  3. 【转】FC(红白机)游戏nes文件的汉化技术

    FC大字体汉化方法 作者:madcell 一.前言: 本文以FC上第一个发售的游戏<大金刚>为例,介绍如何对标题画面进行大字体汉化. 阅读本文,必须具备一定的的条件,否则看了也是不知所云. ...

  4. Android Nes模拟器,nes/fc任天堂/小霸王游戏SDK集成

    Android Nes Emulator(Nes模拟器/FC任天堂/小霸王游戏)SDK集成 Android Nes模拟器SDK集成,一键引入,配置简单明了,链接如下↓↓↓ 欢迎留下star githu ...

  5. 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(原理篇)

    1. 认识nes文件 我们既然是模拟,就不可能使用实体的卡带硬件.那我们如何获取游戏文件呢?好在已经有人为我们准备好了(心怀感恩). .nes文件是NES(FC)的rom文件,关于它的来龙去脉这里就不 ...

  6. 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(实现篇)

    (继上篇:原理篇,下:实现篇) 2. Cartridge 与 Mapper的实现 首先我们在QT中创建两个类,Cartridge 与 Mapper类: Cartridge 类负责加载和解析ROM,因为 ...

  7. 【南大PA实验2020学习记录---PA1 nemu初识(玩fc游戏)】

    目录 what is NEMU? 测试画面和声音(fc游戏!) the most important what is NEMU? yzh说"一款经过简化的全系统模拟器",作用是执行 ...

  8. 任天堂娱乐系统技术文档(屎王nes资料)

    Nintendo Entertainment System Basic Information 任天堂娱乐系统技术文档 0.01 版 发布于 2002 年 8 月 14 日 作者:Necrosaro ...

  9. CAN-TP(15765-2协议)网络层协议解析

    CAN-TP 层位于 UDS诊断层和CAN Driver层中间,主要作用是 当CAN数据长度超过8Byte(CAN-FD为64Byte)时,对CAN数据进行分包和解包. TP层在 OSI分层中的位置 ...

最新文章

  1. 干货|简单理解逻辑回归基础
  2. 接班 RT 系统?Windows 10 云服务版首次亮相
  3. ios应用,64位问题,Missing 64-bit support
  4. c语言编写程序计算行列式值,新手作品:行列式计算C语言版
  5. python网络模块_Python的pyroute2网络模块-阿里云开发者社区
  6. mysql自定义函数多参数_自定义mysql函数 - 无法传递参数
  7. (19)Verilog HDL顺序块:begin-end
  8. vue工程化与路由router
  9. 正面管教之PHP_主题体验活动之亲密关系
  10. oracle8i数据库修复,用ORACLE8i修复数据库坏块的三种方法
  11. 我的if else代码纯净无暇,一个字也不能简化
  12. 国美易卡对IP层数据进行处理,国美易卡对TCP/IP的封装
  13. 换手机了,换用三星S559
  14. 【信号与系统】笔记(4-1)拉普拉斯变换
  15. html5诊断报告,网站诊断报告(模板).doc
  16. 高通驱动开发参考(二)
  17. 解读 | 全球七大央行最新报告:CBDC发行原则与核心特征
  18. 中科大辅修计算机,中科大新生入学第二考来了——校规考试!(一不小心就挂)...
  19. 鼠标双击测试r软件,R.A.T7蜕变版游戏鼠标使用测试_Mad Catz R.A.T.7蜕变版激光游戏鼠标_键鼠评测-中关村在线...
  20. 联想开机启动项按哪个_联想电脑怎么在BIOS中设置从U盘或光盘启动

热门文章

  1. vscode初次远程连接服务器报错解决
  2. 1068: 二进制数 Python
  3. 分割(计数板)展示数字样式
  4. CodingGame - Shadows of the Knight - Episode 1思路
  5. Maven 管理不同jdk版本的jar,war,eba
  6. 个体户报税流程如何?需要交哪些税
  7. 人工智能 java 坦克机器人系列: 强化学习_Java坦克机器人系列强化学习
  8. MAC动态精美壁纸强烈推荐【文末福利】
  9. 一行代码实现python调用迅雷下载文件 悄悄的帮你下载你想要的
  10. 如何给U盘或移动硬盘添加个性的图标? | 不着调软件