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

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 游戏名字 就可以看到游戏开启成功

你可能感兴趣的:(linux自学笔记,linux,笔记,linux,嵌入式,arm)