首页 > 代码库 > NES文件利用MATLAB可视化
NES文件利用MATLAB可视化
NES是Nintendo Entertainment System的缩写,记录了NES小游戏的所有代码和数据。像超级玛丽、忍者龙剑传、热血格斗、007等游戏都有精彩纷呈的背景图片和形象生动的人物造型,我们是否能提取出这些素材,经过加工,用于其他UI设计呢?今天我们用MATLAB研究下具体内容。
NES文件结构分为3大部分:文件头、CPU代码区、PPU数据区。通过文件头可以获得代码区、数据区的大小。这里只需要数据区。
数据区组织为4KB大小的数据块,填充在PPU地址区间0x0000~0x1000(或者0x1000~0x2000),称为Pattern Table,其实就是一个个8x8的点阵数据,用户程序写入Name Table、SPR-RAM中相应的索引就能实现在屏幕指定位置上描绘相应的点阵信息,组合多个点阵可以实现复杂背景和人物造型的显示。这里只将原始点阵描出。代码如下:
clear; clc; close all; path = './rom/'; [nes_file_name, path, filterindex] = uigetfile('*.nes', 'Pick an NES file',path);%选择NES文件 fid = fopen(fullfile(path,nes_file_name),'rb'); rawdata = http://www.mamicode.com/fread(fid,'uint8');>
下面欣赏几幅游戏中提取出来的Pattern Table
NES文件利用MATLAB可视化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。