欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2023/12/20 61 豆豆
生活随笔 收集整理的这篇文章主要介绍了 基于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; // 一屏多少bytelcd_width = var.xres+32;

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

总结

以上是生活随笔为你收集整理的基于i.mx6q平台的NES模拟器移植的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。