基于i.mx6q平台的NES模拟器移植

基于i.mx6q平台的NES模拟器移植

小时候一直希望自己能够制作一台游戏机,那时玩的游戏大多都是NES游戏和GBA游戏,那今天就在i.mx6q平台下移植一下NES模拟器吧,后续有时间再移植一下GBA模拟器。下面开始移植NES模拟器。

硬件环境:
我采用的是i.mx6q开发板,屏幕分辨率为800x480

系统环境:
linux 4.1.15
根文件系统用的是开发板自带的根文件系统,里面已经移植好了alsa相关的库文件
模拟器:
NES源码地址:(https://github.com/nejidev/arm-NES-linux)
游戏合集:(https://pan.baidu.com/s/16hIWwYQQEX9aOBDG1dVa0A) 提取码:asdf

移植过程中碰到的问题:

1.游戏集合里的超级玛丽没有声音,在调试时以为移植有问题,后来发现是游戏本身问题,魂斗罗声音正常,其他的没试验。

2.移植过程中刚开始移植后发现显示不正常,会花屏,于是编写了一段代码测试屏幕,最后发现虽然屏幕是800x480的,但是分配内存和使用时需要用832x480。

3.由于问题2所以在移植NES时,进入arm-NES-linux-master/linux路径下
打开InfoNES_System_Linux.cpp,做如下修改

  line_width   = (var.xres+32) * px_width;
//screen_width = var.yres * line_width; 
  screen_width =(var.xres+32) * var.yres * var.bits_per_pixel / 8; // 一屏多少byte
  lcd_width    = var.xres+32;

修改后保存。
修改makefile:
install:
install ./xx/xx (自己的安装路径)
之后make (一定要用交叉编译哦)
make install
将移植好的模拟器拷到开发板下,运行游戏就可以了
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值