zoukankan      html  css  js  c++  java
  • 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 本身的问题。 等以后有时间在修正。

  • 相关阅读:
    L2 L3 L4
    C 语言assert使用
    VIM 命令收藏
    C++继承实例
    关于 WinScp 的一点使用经验
    Boa服务器移植
    Android 去掉标题全屏显示
    sys下gpio操作
    linux下 XGCOM串口助手的安装
    linux中inittab文件详解
  • 原文地址:https://www.cnblogs.com/ningci/p/6883911.html
Copyright © 2011-2022 走看看