日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于i.mx6q平台的NES模拟器移植 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基于i.mx6q平臺的NES模擬器移植

小時候一直希望自己能夠制作一臺游戲機(jī),那時玩的游戲大多都是NES游戲和GBA游戲,那今天就在i.mx6q平臺下移植一下NES模擬器吧,后續(xù)有時間再移植一下GBA模擬器。下面開始移植NES模擬器。

硬件環(huán)境:
我采用的是i.mx6q開發(fā)板,屏幕分辨率為800x480

系統(tǒng)環(huán)境:
linux 4.1.15
根文件系統(tǒng)用的是開發(fā)板自帶的根文件系統(tǒng),里面已經(jīng)移植好了alsa相關(guān)的庫文件
模擬器:
NES源碼地址:(https://github.com/nejidev/arm-NES-linux)
游戲合集:(https://pan.baidu.com/s/16hIWwYQQEX9aOBDG1dVa0A) 提取碼:asdf

移植過程中碰到的問題:

1.游戲集合里的超級瑪麗沒有聲音,在調(diào)試時以為移植有問題,后來發(fā)現(xiàn)是游戲本身問題,魂斗羅聲音正常,其他的沒試驗。

2.移植過程中剛開始移植后發(fā)現(xiàn)顯示不正常,會花屏,于是編寫了一段代碼測試屏幕,最后發(fā)現(xiàn)雖然屏幕是800x480的,但是分配內(nèi)存和使用時需要用832x480。

3.由于問題2所以在移植NES時,進(jìn)入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
將移植好的模擬器拷到開發(fā)板下,運行游戲就可以了

總結(jié)

以上是生活随笔為你收集整理的基于i.mx6q平台的NES模拟器移植的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。