文章目录

  • 一、获取源码
  • 二、解压
  • 三、编译nes源码
  • 四、烧录

一、获取源码

https://github.com/nejidev/arm-NES-linux

二、解压

unzip arm-NES-linux-master.zip

cd arm-NES-linux-master/

三、编译nes源码

  1. 在源码目录的linux文件夹下建立一个work文件夹
mkdir -p linux/work

2.修改源码目录下linux文件夹中的makefie

1.修改CCFLAGS 增加alsa的头文件目录(该目录在bulidroot/output那里例如)

-I/home/luatao/linux/zero/buildroot-2019.08/output/staging/usr/include

2.修改LDFILGS 增加alsa的lib文件目录(和上面一样)

-L/home/luatao/linux/zero/buildroot-2019.08/output/staging/usr/lib

3.修改最上面的CC为bulidroot里面的gcc

/home/luatao/linux/zero/buildroot-2019.08/output/host/bin/arm-linux-gnueabihf-gcc

4.更改最后的install那里为前面建立的work目录

install ./InfoNES /home/luatao/linux/tool/arm-NES-linux-master/linux/work


5.修改InfoNES_System_Linux.cpp文件中的static int lcd_fb_display_px函数(调整spi屏幕的颜色):

static int lcd_fb_display_px(WORD color, int x, int y)
{WORD *pen16;unsigned char r, g, b;r = ((color >> 10) & 0x1f);g = ((color >> 5) & 0x3f);b = (color & 0x1f);color = r<<11|g<<6|b;pen16 = (WORD *)(fb_mem + y*line_width + x*px_width);*pen16 = color;return 0;
}

make
make install


生成的文件在work文件夹下

修改手柄(暂未测试)
想使用usb手柄 可以再编译一下joypad文件夹下的源码也需要改makefile 自行参考下面的(适用高版本的模块编译)dir为源码目录!!!需要新的源码只需要和第一篇文章那样正常配置的才能编译,已配置过很多的源码是不可以的,CROSS_COMPILE为gcc目录
KERNELDIR := /home/book/lichee/linuxkernels/linux_5.10_2
CURRENT_PATH := $(shell pwd)
ARCH=arm
CROSS_COMPILE=/home/book/lichee/rootfs/buildroot-2018.02.2/output/host/bin/arm-linux-gnueabihf-
export ARCH CROSS_COMPILE
obj-m := joypad.o

build: kernel_modules

kernel_modules:
$(MAKE) -C (KERNELDIR)M=(KERNELDIR) M=(KERNELDIR)M={CURRENT_PATH} modules
clean:
make -C $(KERNELDIR) M=pwd modules clean
rm -rf modules.ordern

四、烧录

1.下载游戏并解压,然后游戏名改为英文

2.将生成的InfoNES放入板子。

3.使用命令 ./InfoNES 加上 游戏名字 就可以看到游戏开启成功



这里没有手柄,没法玩。

参考链接:
https://blog.csdn.net/qq_46604211/article/details/117914263

v3S移植NES游戏相关推荐

  1. V3S移植nes游戏模拟器(附带游戏合集)

    V3S移植nes游戏模拟器(附带游戏合集) 1.资源准备: nes源码 alsa源码(本文采用buildroot已编译好的alsa库 编译该库可参考mplayer那篇文章,也可自行编译) 可以使用音频 ...

  2. STM32F7上移植NES游戏

    上面是我的微信和QQ群,欢迎新朋友的加入. 说不上是原创,因为核心程序是别人的,我只是移植过来,让它适应我手上这个版本的库函数! 一共是四个小游戏,我自己只会玩一个坦克大战和经典的超级玛丽 坦克大战截 ...

  3. iMX6ULL应用移植 | 移植 infoNES 模拟器(重玩经典NES游戏)

    没玩过NES游戏的童年,可能不是80后的童年.我们小时候是从玩FC开始接触游戏机的,那时真的是红极一时啊,我上初中时还省吃俭用买了一台小霸王,暑假里把电视机都给打爆了!那时任天堂单是FC机的主机的发售 ...

  4. 单片机开发---ESP32S3移植NES模拟器(二)

    书接上文 <单片机开发-ESP32-S3模块上手> <单片机开发-ESP32S3移植lvgl+触摸屏> <单片机开发-ESP32S3移植NES模拟器(一)> 暖场视 ...

  5. FC(nes)游戏开发资源

    美国的网站,所有NES模拟器(程序设计)方面的资料 http://nesdev.parodius.com 各种NES模拟器源代码 http://www.zophar.net/nes.html FCNE ...

  6. nes游戏开发_NES Classic运行Linux,新的0 AD alpha,以及更多游戏新闻

    nes游戏开发 在这个为期两周的开放游戏综述中,我们看了运行Linux的Nintendo NES经典版,对Unity 5.6的SDL支持, 0 AD Ulysses以及更多游戏新闻. 2016年11月 ...

  7. 【地平线旭日X3派试用体验】变身红白机玩转NES游戏

    InfoNES 安装SDL sudo apt install libsdl1.2-dev 下载代码 git clone GitHub - qinyunti/InfoNES-1: NES Emulato ...

  8. 用C语言开发NES游戏(CC65) 简介

    粘贴到CSDN格式没调,想看格式好的点下面 https://happysoul.github.io/nes/ 简介: 作者nesdoug,作者重写了他的代码并发布到了github https://gi ...

  9. Win8 Metro App里玩XNA:移植XNA游戏到Win8

    Win8 Metro App里玩XNA:移植XNA游戏到Win8   Ready ! 在本文中,将把一个WindowsPhoneXNA的游戏移植到Win8 Metro(Modern)风格上,直接在Wi ...

最新文章

  1. semantic computing Cognitive linguistics Distributed intelligence
  2. 状态模式在领域驱动设计中的使用
  3. 《软件工程》总结——第十一章
  4. C++ Primer 5th笔记(chap 16 模板和泛型编程)std::move
  5. 如何手工快速判断目标站是windows还是linux服务器
  6. 大数据新手的0基础学习路线,从菜鸟到高手的成长之路
  7. 带有无参数的存储过程
  8. 封装Python列表实现多下标访问
  9. Android NDK开发之 opencv manage 免安装生成opencv应用
  10. 理解EMM:是更好地管理移动性的关键所在
  11. Spring已集成jsp的环境下同时集成Velocity
  12. C#实现Winform程序自动进行版本升级更新
  13. [026] 微信公众帐号开发教程第2篇-微信公众帐号的类型(普通和会议)
  14. 呼伦贝尔草原行(5日自由行)
  15. c语言图形界面切换,「分享」C语言如何编写图形界面
  16. 微观经济学之供给与需求--第一章第二章
  17. 怎么更改计算机用户名网络密码怎么办,怎么改wifi密码和名称(电脑修改wifi密码步骤)...
  18. 在 SCA Module 中使用 iBATIS 框架实现数据持久层
  19. Git同步和撤销命令
  20. R语言学习——矩阵相关函数

热门文章

  1. 海思嵌入式开发-003-Hi3861烧录报错,找不到Hi3861_wifiiot_app_allinone.bin文件
  2. ONIE-sonic内核调试
  3. sql数据库修复技巧:用达思sql数据库修复软件时表重复怎么搞办?
  4. 为什么说 TCP 协议是可靠的?
  5. 局域网内抢网速_路由器要不要每天重启?难怪网速慢,多亏宽带师傅透露
  6. Java中IO流-21-图片加密简单实现
  7. C语言程序设计作业07
  8. Java访问获取LDAP用户信息
  9. 微信小程序功能——展开和收起查看
  10. SDN/NFV标准组织SDN架构