模拟器,基于 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篇 编译使用方法的更多相关文章

  1. arm 2440 linux 应用程序 nes 红白机模拟器 第1篇

    对比了很多种,开源的 NES 模拟器 VirtuaNES , nestopia , FakeNES , FCEUX , InfoNES , LiteNES 最后决定使用 LiteNES 进行移值,它是 ...

  2. nes 红白机模拟器 第1篇

    对比了很多种,开源的 NES 模拟器 VirtuaNES , nestopia , FakeNES , FCEUX , InfoNES , LiteNES 最后决定使用 LiteNES 进行移值,它是 ...

  3. arm 2440 linux 应用程序 nes 红白机模拟器 第4篇 linux 手柄驱动支持

    小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #includ ...

  4. arm 2440 linux 应用程序 nes 红白机模拟器 第2篇 InfoNES

    InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES  的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame ()  Wo ...

  5. nes 红白机模拟器 第6篇 声音支持

    InfoNES 源码中并没有包含 linux 的声音支持. 但提供 wince 和 win 的工程,文件,通过分析,win 的 DirectSound 发声,在使用 linux ALSA 实现. 先使 ...

  6. nes 红白机模拟器 第5篇 全屏显示

    先看一下效果图 放大的原理是使用最初级的算法,直接取对应像素法. /*================================================================= ...

  7. nes 红白机模拟器 第4篇 linux 手柄驱动支持

    小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #includ ...

  8. nes 红白机模拟器 第2篇 InfoNES

    InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES  的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame ()  Wo ...

  9. nes 红白机模拟器 第3篇 游戏手柄测试 51 STM32

    手柄使用的是 CD4021 ,datasheet 上说支持 3V - 15V . 因为手柄是 5V 供电,2440 开发板上是GPIO 3.3V 电平,STM32 GPIO 也是 3.3V (也兼容5 ...

随机推荐

  1. smarty模板配置代码详细说明及如何注册自己的smarty函数

    下面为smarty模板的配置文件,smarty配置的详细说明以及如何注册自己所需要的smarty函数 config.inc.php <?php /** * Smarty 调用 * www.daf ...

  2. Tricks of Android's GUI

    Tricks of Android's GUI */--> Tricks of Android's GUI 1 layoutweight In LinearLayout, the default ...

  3. 非参数检验|Sign test|Wilcoxon signed rank test|Wilcoxon rank sum test|Bootstrapping

    非参数检验条件没有参数,因此就没有分布,利用数据等级之间的差距,依次赋值之后再用参数方法测试.将连续型变量转化为离散型变量,即顺序变量.与参数检验相比,正态分布较弱(p值有可能不显著,浪费信息,比如最 ...

  4. python3多线程应用详解(第三卷:图解多线程中join,守护线程应用)

  5. pycharm中无法调用pip的安装包

    https://blog.csdn.net/sinat_23619409/article/details/79962518 较详细:https://blog.csdn.net/weixin_41287 ...

  6. html中的select下拉框

    <select name="effective"> <option value="">请选择</option> <op ...

  7. 吴裕雄--天生自然 R语言开发学习:回归(续一)

    #------------------------------------------------------------# # R in Action (2nd ed): Chapter 8 # # ...

  8. EL表达式详细教程

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  9. 转:zabbix 2.4.4 更换 logo

    zabbix 2.4.4 更换 logo 想把 zabbix 的 logo 改为自己公司的. 把更改过程做一下记录 先找到修改文件的目录 zabbix 版本 2.4.4 操作系统 linux 目录定位 ...

  10. 大家都在关注AI,但这些事你可能并不知道!

    我们正处在第四次工业革命,其特点是机器人和自驾车技术的进步,智能家电的泛滥等等.所有这些最前沿的是人工智能(AI),也是自动化计算机系统的发展,可以匹配甚至超过人类的智力. 你的自动驾驶可能会编程杀死 ...