v3S移植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 ( K E R N E L D I R ) 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

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值