把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屏幕上就开始运行模拟器了。

把BBB改造成红白机/掌机/玩超级玛丽


更多内容(如添加音频、自制按键和摇杆而非使用外接手柄、添加电池、3d打印外壳等)请参考http://bear24rw.blogspot.com/2013/07/beaglebone-gamingcape.html,本文是对该文没提到的内容做一点补充,感谢这位作者的工作!



把BBB改造成红白机/掌机/玩超级玛丽

上一篇:数学之路-群体行为与群体智能(2)


下一篇:iOS杂记(二)分享给大家,总有一条是你想要的!