全志F1C100s主线linux入坑记录 (7)GBA模拟器移植
GBA模擬器移植
百度網站
文章目錄
- GBA模擬器移植
- 一、下載gpsp 源代碼
- 二、gpsp環境配置
- 參考
一、下載gpsp 源代碼
gpsp源碼
解壓文件
二、gpsp環境配置
gpsp需要SDL環境我們先在bulidroot中添加SDL包
make menuconfig Target packages ---> Graphic libraries and applications (graphic/text) --->[*] SDL我們全選SDL路徑下的所有選項
打開之前解壓的 gpsp 文件夾配置Makefile
cd gpsp/bittboy vi Makefile添加 buildroot 的 gcc 編譯器
告知 SDL.h 位置以及 SDL 元件庫位置
其實很簡單在buildroot文件夾搜索 sdl-config 位置在哪里,然后在Makfike里替換自己的路徑就可以了
嘗試編譯看到編譯成功
我們把文件傳入板子里運行看看什么情況
提示需要一個 Gameboy Advance BIOS 文件我們網上搜索之后放入文件在運行試試看
Gameboy Advance BIOS
**非常好,運行后發現直接段錯誤,經過一頓找問題調試下,在暈哥的指導下終于找到問題所在 SDL_Init出錯 **
再次運行我們發現已經不再報錯了
我們下載一個 gba rom 文件運行試試看效果
gba rom下載地址
可以看到運行起來了,畫面已經跑起來了
沒聲音的話別忘了打開聲卡,設置聲卡配置
alsactl restore -f /var/lib/alsa/asound.state在此處修改按鍵定義
#if defined(PC_BUILD)u32 key_map(SDLKey key_sym) {switch(key_sym){case SDLK_LSHIFT:case SDLK_BACKSPACE:return BUTTON_R;case SDLK_SPACE:case SDLK_TAB:return BUTTON_L;case SDLK_DOWN:return BUTTON_DOWN;case SDLK_UP:return BUTTON_UP;case SDLK_LEFT:return BUTTON_LEFT;case SDLK_RIGHT:return BUTTON_RIGHT;case SDLK_RETURN:return BUTTON_START;case SDLK_ESCAPE:return BUTTON_SELECT;case SDLK_LCTRL:return BUTTON_B;case SDLK_LALT:return BUTTON_A;default:return BUTTON_NONE;} } #endif參考
感謝司徒大神的無私開源,感謝暈哥的大力幫助
https://whycan.com/t_7909.html#p80061
https://debugdump.com/topic/1679/%E5%8F%B8%E5%BE%92gpsp%E6%B8%B8%E6%88%8F%E6%9C%BA%E6%A8%A1%E6%8B%9F%E5%99%A8%E6%BA%90%E7%A0%81%E7%A7%BB%E6%A4%8D%E5%88%B0%E5%85%A8%E5%BF%97v3s-r11%E7%AD%89soc-%E8%BD%AC?_=1670746814627
總結
以上是生活随笔為你收集整理的全志F1C100s主线linux入坑记录 (7)GBA模拟器移植的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本人报考中大MPM的WBS和WBS词典
- 下一篇: linux 其他常用命令