uclinux上任天堂遊戲模擬器移植

2021-04-22 07:11:33 字數 2225 閱讀 4076

uclinux和linux的區別我就不用多說了,uclinux是專門為沒有mmu的cpu而準備的。以下兩點卻別會影響到我們的移植。

1.uclinux生成的目標檔案格式是flat,可以在裸機上跑.uclinux和arm7可能只能執行這種格式的程式,連線時需要加-elf2flat選項,否則是無法執行的,我們的開發板加上-wl,-elf2flt="-s32768"即可

2.arm-elf使用的庫是uclibc/uc-libc,而arm-linx使用的是glibc,故而在arm-elf的時候沒有zlib的。所以要另外移植。

以上步驟和linux上差不多。

1.移植sdl,sdl的video其中之一的實現的方法是framebuffer,不巧的是我們的開發板lcd不支援framebuffer,而framebuffer也是qt,minigui移植的基礎。麻煩就出來了,如果只是想移植遊戲模擬器那大可拋棄sdl的video,自己另外寫庫。但是移植sdl是必要的,因為sdl還有其他的庫是遊戲模擬器所依賴的。

1)解壓fceu

2)cd fceu

3)nm=arm-elf-nm ld=arm-elf-ld cc=arm-elf-gcc cxx=arm-elf-g++ ranlib=arm-elf-ranlib ar=arm-elf-ar ./configure  --disable-ipod --enable-video-fbcon --target=arm-elf --host=arm-elf --prefix=/home/hansonlu/resp/source/svn_highwaystar/game/sdl-1.2.13/install

4)make;make install

5)cd test

6)nm=arm-elf-nm ld=arm-elf-ld cc=arm-elf-gcc cxx=arm-elf-g++ ranlib=arm-elf-ranlib ar=arm-elf-ar ./configure --target=arm-elf --host=arm-elf --prefix=/home/hansonlu/resp/source/svn_highwaystar/game/sdl-1.2.13/install

ps1.test目錄下有一些demo可以驗證sdl是否移植成功,記得在鏈結的時候加上-wl,-elf2flt="-s32768"。

ps2.--enable-video-fbcon,因為在./configure的時候,如果交叉編譯器是arm-elf,是不會去檢查fbcon,所以需要手動修改./configure,具體的需要修改**,我沒有詳細看過。你自己動手吧。因為我後來捨棄了sdl的vedio,所以沒有去研究這個。

2.移植zlibc

export cc=arm-elf-gcc

./configure -shared --prefix=/home/hansonlu/resp/source/svn_highwaystar/armutils_2.5.113.0/toolchain

make;make install

prefix是交叉編譯器所在的目錄,也可以是其他的目錄,但是一定把相應的檔案要copy到交叉編譯器所在的目錄。

3.移植fceu

去掉sdl關於video部分,用自己的板子上支援的輸出方式,需要修改的檔案是:

fceu/src/drivers/pc/sdl-video.c

fceu/src/drivers/pc/main.c

fceu/src/drivers/pc/input.c

./configure --host=arm-elf --with-sdl-prefix=/home/hansonlu/resp/source/svn_highwaystar/game/sdl-1.2.13/install --prefix=/home/hansonlu/resp/source/svn_highwaystar/game/fceu/install

記得在鏈結的時候加上-wl,-elf2flt="-s32768",修改makefile檔案src/makefile在$link。。。。最後面加上即可。

make;make install

4.執行fceu

有關遊戲模擬器

寫在前面 最近公司在做 gba的模擬器,順便找了點資料研究了一下。提起模擬器,愛好者們一定會想到 neoragex mame,n64 等著名遊戲機的模擬器。在這些模擬器上可以模擬一些功能強大的街機板,可以讓我們在自己的 pc上免費玩街機的遊戲。想起當初數著錢買遊戲幣的日子,真是乙個天堂乙個人間啊。玩...

模擬器不全屏 Mac原生遊戲模擬器

你是否想為自己的mac電腦安裝一款蘋果原生的遊戲模擬器呢?快來試試openemu for mac吧!openemu mac版是執行在mac平台的原生遊戲模擬器。openemu的遊戲主管介面直觀友好,即使是新手也能一眼看懂。把 rom 檔案拖拽進對應的頻道就能新增遊戲,雙擊右側主介面裡的遊戲封面開始玩...

街機遊戲模擬器 mame for linux

偶爾在linux裡也是要玩下遊戲的,裝乙個街機模擬器玩玩kof也不行噢。sudo apt get install xmame 修改sudo vi etc xmame xmamerc配置檔案,下面的路徑指向你實際的rom目錄 rompath usr share games xmame roms 比如執...