GBA模擬器移植
百度網(wǎng)站
一、下載gpsp 源代碼
gpsp源碼
解壓文件
7z x gpsp.7z
二、gpsp環(huán)境配置
gpsp需要SDL環(huán)境我們先在bulidroot中添加SDL包
make menuconfig
Target packages --->
Graphic libraries and applications (graphic/text) --->
[*] SDL
我們?nèi)xSDL路徑下的所有選項(xiàng)
打開(kāi)之前解壓的 gpsp 文件夾配置Makefile
cd gpsp/bittboy
vi Makefile
添加 buildroot 的 gcc 編譯器
告知 SDL.h 位置以及 SDL 元件庫(kù)位置
其實(shí)很簡(jiǎn)單在buildroot文件夾搜索 sdl-config 位置在哪里,然后在Makfike里替換自己的路徑就可以了
嘗試編譯看到編譯成功
我們把文件傳入板子里運(yùn)行看看什么情況
提示需要一個(gè) Gameboy Advance BIOS 文件我們網(wǎng)上搜索之后放入文件在運(yùn)行試試看
Gameboy Advance BIOS
**非常好,運(yùn)行后發(fā)現(xiàn)直接段錯(cuò)誤,經(jīng)過(guò)一頓找問(wèn)題調(diào)試下,在暈哥的指導(dǎo)下終于找到問(wèn)題所在 SDL_Init出錯(cuò) **
export SDL_NOMOUSE=1
再次運(yùn)行我們發(fā)現(xiàn)已經(jīng)不再報(bào)錯(cuò)了
我們下載一個(gè) gba rom 文件運(yùn)行試試看效果
gba rom下載地址
alsactl restore -f /var/lib/alsa/asound.state 聲卡配置
export SDL_NOMOUSE=1
./gpsp kdyg.gba
可以看到運(yùn)行起來(lái)了,畫(huà)面已經(jīng)跑起來(lái)了
沒(méi)聲音的話別忘了打開(kāi)聲卡,設(shè)置聲卡配置
alsactl restore -f /var/lib/alsa/asound.state
在此處修改按鍵定義文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-567757.html
#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
參考
感謝司徒大神的無(wú)私開(kāi)源,感謝暈哥的大力幫助
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文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-567757.html
到了這里,關(guān)于全志F1C100s主線linux入坑記錄 (7)GBA模擬器移植的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!