V3S移植nes游戲模擬器(附帶游戲合集)
1.資源準備:
- nes原始碼
- alsa原始碼(本文采用buildroot已編譯好的alsa庫 編譯該庫可參考mplayer那篇文章,也可自行編譯)
- 可以使用音頻和spi螢屏(也參考之前的spi螢屏配置)
2.編譯nes原始碼:
- 在原始碼目錄的linux檔案夾下建立一個work檔案夾
- 修改原始碼目錄下linux檔案夾中的makefie
1.修改CCFLAGS 增加alsa的頭檔案目錄(該目錄在bulidroot/output那里例如)
-I/home/book/lichee/rootfs/buildroot-2018.02.2/output/staging/usr/includ
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.燒錄
- 下載游戲合集并解壓,然后改名為游戲名為英文
- 將生成的InfoNES放入板子:
鏈接:https://pan.baidu.com/s/16hIWwYQQEX9aOBDG1dVa0A
提取碼:asdf
3.使用命令 ./InfoNES 游戲名字 就可以看到游戲開啟成功

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287818.html
標籤:其他
上一篇:pygame撰寫籃球游戲-火柴人運球避開防守跳起投籃
下一篇:生物細胞繁衍生存模擬仿真實驗
