把BBB改造成紅白機/掌機/玩超級瑪麗

首先要準備好LCD屏幕(自制BBB LCD cape方法見本博客日誌)和遊戲手柄等。

然後就是安裝模擬機啦,我裝了兩個,分別在這裏下載:

OSMOSE(支持.sms .gg等): https://github.com/bear24rw/gamingcape_osmose

FCEUX(支持nes fds等): https://github.com/bear24rw/gamingcape_fceu 

至於遊戲文件,大家百度吧~


特別提醒


執行make前一定要確認系統時間。因爲BBB沒有RTC模塊,每次開機時時間都重置爲2000年1月1日,如果直接執行make的話,到最後會出現這個clock skew detected的提示,就是因爲系統時間比文件的修改時間還要早。make是靠文件時間的先後決定某個文件是否需要編譯的,所以不先修改系統時間的話基本上一定會導致make不完全。

修改系統時間的方法:

date -s 1/18/2014


模擬器安裝


第一個,osmose安裝很容易,在文件目錄下執行make,就會生成可執行文件osmose。

第二個,fceux安裝比較費時,詳細記錄一下安裝過程:


安裝fceux用到了scons這個編譯工具(類似Makefile)

因爲opkg install scons找不到包,所以首先到官網(http://www.scons.org)下載下來以後在BBB上解壓安裝。

然後發現scons安裝不了,因爲scons的安裝是基於python的,BBB自帶的Python是精簡版的,缺乏一些模塊,所以還需要下載Python。

To be clear,整個安裝過程分三步:下載Python,用Python安裝scons,用scons安裝fceux。

注意:這裏我雖然安裝了完整版python(耗時15分鐘),但似乎後來發現不必安裝也可以。你可以先不安裝,如果後面遇到問題再裝不遲。畢竟完整版python有點大,安裝時間也不短。

安裝scons:

首先用如下命令確定python import時的搜索路徑
python -c"import sys;print 'path:'+sys.prefix;print '\n'.join(sys.path)"
得到
path:/usr

/usr/lib/python27.zip
/usr/lib/python2.7
/usr/lib/python2.7/plat-linux2
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/lib/python2.7/site-packages 

把Python安裝包的Lib文件夾內所有文件拷貝到上面的任意一個,比如/usr/lib/python2.7目錄下。

然後cd到scons所在目錄執行
python setup.py install

可能會遇到這個問題 ImportError: No module named _sysconfigdata
搜索一下
root@beaglebone:~/scons-2.2.0# find / -name _sysconfigdata*
/home/root/Python-2.7.6/build/lib.linux-armv7l-2.7/_sysconfigdata.pyc
/home/root/Python-2.7.6/build/lib.linux-armv7l-2.7/_sysconfigdata.py
找到了,原來是位置不在上述import搜索路徑中,所以找不到。在/usr/lib/python2.7目錄下創建一個link
cd /usr/lib/python2.7
ln -s /home/root/Python-2.7.6/build/lib.linux-armv7l-2.7/_syscoonfigdata.py _sysconfigdata.py

重新cd到scons所在目錄下執行
python setup.py install

不出意外的話安裝scons成功!

下面用scons編譯fceux:

cd到fceux所在目錄
執行
scons

等待15分鐘,編譯完成後在scons所在目錄/src/目錄內會生成可執行文件fceux,就是我們要的模擬器。可以用下面命令放到系統目錄中
install -m 755 src/fceux /usr/bin/fceux

模擬器安裝完成!

模擬器使用


在/home/root目錄內新建一個文件.xinitrc,內容如下

xset s off
xset s noblank

exec fceux -fullscreen 1 -xres 320 -yres 240 -bpp 16 -sound 0  /home/root/mario.nes
#exec /home/root/gamingcape_osmose/osmose -joy -fs  /home/root/Addams_Family.sms

其中的.nes和.sms文件就是遊戲文件啦,這兩行就是運行兩個模擬器的命令,使用時必須註釋掉其中一個,執行另一個。

然後執行startx命令,LCD屏幕上就開始運行模擬器了。



更多內容(如添加音頻、自制按鍵和搖桿而非使用外接手柄、添加電池、3d打印外殼等)請參考http://bear24rw.blogspot.com/2013/07/beaglebone-gamingcape.html,本文是對該文沒提到的內容做一點補充,感謝這位作者的工作!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章