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

10 篇文章 1 订阅
10 篇文章 0 订阅

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

1.资源准备:

  1. nes源码
  2. alsa源码(本文采用buildroot已编译好的alsa库 编译该库可参考mplayer那篇文章,也可自行编译)
  3. 可以使用音频和spi屏幕(也参考之前的spi屏幕配置)

2.编译nes源码:

  1. 在源码目录的linux文件夹下建立一个work文件夹
  2. 修改源码目录下linux文件夹中的makefie
1.修改CCFLAGS 增加alsa的头文件目录(该目录在bulidroot/output那里例如)
-I/home/book/lichee/rootfs/buildroot-2018.02.2/output/staging/usr/include
2.修改LDFILGS 增加alsa的lib文件目录(和上面一样)
-L/home/book/lichee/rootfs/buildroot-2018.02.2/output/staging/usr/lib
3.修改最上面的CC为bulidroot里面的gcc
/home/book/lichee/rootfs/buildroot-2018.02.2/output/host/bin/arm-linux-gnueabihf-gcc
4.更改最后的install那里为前面建立的work目录
install ./InfoNES /home/book/lichee/model/nes/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=${CURRENT_PATH} modules
clean:
	make -C $(KERNELDIR) M=`pwd` modules clean
	rm -rf modules.ordern

3.烧录

  1. 下载游戏合集并解压,然后改名为游戏名为英文
    链接:https://pan.baidu.com/s/16hIWwYQQEX9aOBDG1dVa0A
    提取码:asdf
  2. 将生成的InfoNES放入板子。
    3.使用命令 ./InfoNES 游戏名字 就可以看到游戏开启成功
    在这里插入图片描述
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值