您尚未登录。

楼主 #1 2020-07-14 00:26:47

openkl
会员
注册时间: 2019-10-05
已发帖子: 11
积分: 1

F1C100S主线Linux编译运行NES模拟器 InfoNES SDL

一、编译及修改
1.首先要完成Linux和buildroot的编译工作,可以参考本坛的教学贴,我用的是主线Linux:linux-f1c100s-480272lcd-test 和 buildroot-2017.08.tar.gz。

2.解压InfoNES097JRC1_SDL.tar.gz

3.修改InfoNES097JRC1_SDL/sdl/Makefile文件
  *注意:这里的:/home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/bin/arm-none-linux-gnueabi-gcc
   /home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/bin/sdl-config
    为我的buildroot编译输出的目录,需根据你的实际情况进行修改。

  CC = /home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/bin/arm-none-linux-gnueabi-gcc
  CCFLAGS = `/home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/bin/sdl-config --cflags` -O3 -pipe
  LDFLAGS = `/home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/bin/sdl-config --libs` 

4.修改InfoNES097JRC1_SDL/sdl/InfoNES_System_SDL.cpp文件
  *注意:这里的480, 272为LCD分辨率,需根据你使用的LCD分辨率具体进行修改。

  Line123: screen = SDL_SetVideoMode(480, 272, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);

5.编译InfoNES

  #cd InfoNES097JRC1_SDL/sdl
  #make

  然后将编译生成的InfoNES复制到/usr/games目录下(其他目录也可以)

二、运行
1.登陆Lichee Pi
  Lichee login:root
  Password:licheepi

2.运行InfoNES
  *注意必须export SDL_NOMOUSE=1,否则会出现SDL_Init出错。
  这里的Contra.nes为NES模拟器测试ROM文件名。

  #export SDL_NOMOUSE=1
  #cd /usr/games
  #./InfoNES "Contra.nes"

三、目前存在的BUG
1.没有声音。
  在初始化音频函数的时候报错:ALSA lib pcm_dmix.c:1063:(snd_pcm_dmix_open) unable to create IPC semaphore
2.画面显示不正常。
  因为NES模拟器输出的是256*240的8位图像,所以需要对图像进行转换,才能正确显示,等下次有时间再弄吧:)

InfoNES097JRC1_SDL.tar.gz

最近编辑记录 openkl (2020-07-14 00:28:56)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn