nes 红白机模拟器 第7篇 编译使用方法
模拟器,基于 InfoNES ,作者添加修改以下功能:
1, joypad 真实手柄驱动程序(字符型设备驱动)
2,原始图像只有256*240 ,添加 图像放大算法,这里实现了2种,a, 最近邻插值 b, 双线性插值
(因为2440 速度太慢,采用双线性插值时,大概要3秒算一帧,等以后用 4412 在测试实际效果,本文还会更新)
3,声音支持,原 InfoNES 中,使用 oss 播放声音,添加 使用 alsa 播放支持,
4,LCD显示支持,原 InfoNES 中,使用 Gtk进行显示,作者添加直接绘制到 framebuffer 上,提供 ARM 在 LCD上使用。
编译方法:
1,下载源码, 可以使用 download zip 或者 clone 我的项目地址
git 方法,需要电脑上装有 git 工具,ubunto 可以 apt-get install git , CentOS 可以 yum install git
git 安装以后可以使用以下命令,克隆我的项目
git clone https://github.com/nejidev/arm-NES-linux.git
等待一会儿,就会在当前目录下生成 arm-NES-linux
先编译 真实手柄,驱动,注意,这里是真实的 小霸王,红白机游戏手柄,不是 USB 的,更不是蓝牙的。 接线方式,下面还会重新介绍一下。
cd arm-NES-linux/joypad/
修改 Makefile 中的 内核源码地址

我这里使用的是比较新的 4.1.36 ,相对于 2.6 有一些变化,3.4 基本上变化不大,如果在编译中遇到问题,
需要自己解决,或者给我发站内消息也行。
修改完 Makefile 后执行
Make
会编译生成一个 joypad.ko 将这个文件复制到 开发板的文件系统中。
接着编译 InfoNES 主程序。
回到 arm-NES-linux 位置
cd ..
进入 linux 文件夹
执行 Make 即可,需要说明的是,这里是需要 alsa-lib 库的。你的ARM 板,必须已经有 alsa 声卡驱动,并且安装并配置了 alsa-lib 库的 头文件,库文件等。
执行 Make 后会生成一个可执行文件 InfoNES
将这个文件复制到 开发板文件系统的 usr/bin 中
真实手柄,接线及使用说明。
手柄的公头比较粗,如果使用万能板连接线,可能太细,所以我这里找了一个 DVD 上面拆下来的 手柄插座。以保正,接线连通性。

如何 玩 ?
你要找一些 rom ,放到 开发板文件系统中。
在 开发板 终端上执行
insmod joypad.ko #先加载手柄驱动
InfoNES superML.nes 这样 ,LCD 上就能显示出来了。
在播放的时候,有的 rom 会提示 Floating point exception ,这个是 InfoNES 本身的问题。 等以后有时间在修正。
nes 红白机模拟器 第7篇 编译使用方法的更多相关文章
- arm 2440 linux 应用程序 nes 红白机模拟器 第1篇
对比了很多种,开源的 NES 模拟器 VirtuaNES , nestopia , FakeNES , FCEUX , InfoNES , LiteNES 最后决定使用 LiteNES 进行移值,它是 ...
- nes 红白机模拟器 第1篇
对比了很多种,开源的 NES 模拟器 VirtuaNES , nestopia , FakeNES , FCEUX , InfoNES , LiteNES 最后决定使用 LiteNES 进行移值,它是 ...
- arm 2440 linux 应用程序 nes 红白机模拟器 第4篇 linux 手柄驱动支持
小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #includ ...
- arm 2440 linux 应用程序 nes 红白机模拟器 第2篇 InfoNES
InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES 的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame () Wo ...
- nes 红白机模拟器 第6篇 声音支持
InfoNES 源码中并没有包含 linux 的声音支持. 但提供 wince 和 win 的工程,文件,通过分析,win 的 DirectSound 发声,在使用 linux ALSA 实现. 先使 ...
- nes 红白机模拟器 第5篇 全屏显示
先看一下效果图 放大的原理是使用最初级的算法,直接取对应像素法. /*================================================================= ...
- nes 红白机模拟器 第4篇 linux 手柄驱动支持
小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #includ ...
- nes 红白机模拟器 第2篇 InfoNES
InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES 的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame () Wo ...
- nes 红白机模拟器 第3篇 游戏手柄测试 51 STM32
手柄使用的是 CD4021 ,datasheet 上说支持 3V - 15V . 因为手柄是 5V 供电,2440 开发板上是GPIO 3.3V 电平,STM32 GPIO 也是 3.3V (也兼容5 ...
随机推荐
- [LC] 520. Detect Capital
Given a word, you need to judge whether the usage of capitals in it is right or not. We define the u ...
- [LC] 557. Reverse Words in a String III
Given a string, you need to reverse the order of characters in each word within a sentence while sti ...
- [LC] 426. Convert Binary Search Tree to Sorted Doubly Linked List
Convert a BST to a sorted circular doubly-linked list in-place. Think of the left and right pointers ...
- Oralce获取32位随机数
SELECT SYS_GUID() from dual;
- 【Java集合】试读LinkedList源码
LinkedList的本质是双向链表.(01) LinkedList继承于AbstractSequentialList,并且实现了Dequeue接口. (02) LinkedList包含两个重要的成员 ...
- jquery框架概览(二)
(function(window, undefined) { })(window) window对象作为参数传进闭包的好处 JavaScript 全局对象.函数以及变量均自动成为 window 对象的 ...
- HLS图像处理总结(一)
HLS工具 以个人的理解,xilinx将HLS(高层次综合)定位于更方便的将复杂算法转化为硬件语言,通过添加某些配置条件HLS工具可以把可并行化的C/C++的代码转化为vhdl或verilog,相比于 ...
- 从CVPR 2014看计算机视觉领域的最新热点
2014看计算机视觉领域的最新热点" title="从CVPR 2014看计算机视觉领域的最新热点"> 编者按:2014年度计算机视觉方向的顶级会议CVPR上月落下 ...
- auto uninstaller 密钥 破解 修复卸载工具
auto uninstaller 修复卸载工具 密钥注册机破解分享 只可以用于8.8.38,亲测可用 zhAAxzm5Wmmhzomyxyhoahra6AXrzy6X## hzWh6maaa5hmah ...
- [SDOI2006] 线性方程组
洛谷 P2455 传送门 刚开始写了个消成上三角的,结果狂wa. 后来经过研究发现,消成上三角那种不能直接判断无解或无穷多解,需要其它的操作. 所以干脆学了个消成对角线的,写了一发A了. 其实两种消元 ...