FBAlpha是一个开源的街机游戏模拟器.链接:http://www.fbalpha.com/
每个版本都会发布Windows Binary文件和源代码,目前新版本为0.2.97.39.
原版程序支持的游戏非常多,但是在搜索ROM的时候,速度非常慢,于是产生了裁剪的想法!主要想解决搜索ROM速度过慢的问题.
从官方文档了解到,可以在Windows环境下使用mingw进行编译.需要依次下载以下文件:
1.从官网下载源码包.
下载地址:http://static.fbalpha.com/files/fba_src_029739.7z
2.下载MINGW
官方推荐使用:http://tdm-gcc.tdragon.net/
我下载的版本是tdm64-gcc-5.1.0-2.exe
3.下载binutil
下载地址:http://www.fbalpha.com/files/gnu_utils.zip
解压到MINGW/BIN目录下
4.下载NASM
下载地址:http://www.nasm.us/pub/nasm/releasebuilds/2.11.08/win32/nasm-2.11.08-win32.zip
解压到MINGW/BIN目录
5.安装Perl
下载地址:http://www.activestate.com/activeperl/
我下载的是ActivePerl-5.24.1.2402-MSWin32-x86-64int-401627.exe
---------------------------------------------------------------------------------------------------------------------------------------------------------------
准备工作做好了,就可以开始编译了!
切换到源码目录下面,打开命令行,输入mingw32-make mingw510就可以编译了,大约5-10分钟可以看到生成fba.exe文件.
编译环境弄好了,就可以研究一下代码了,fba搜索ROM需要搜索20个文件夹!搜索的游戏有几千个,依次查找对应的zip文件,
所以可以考虑删除那些不需要的游戏驱动,提高搜索速度的同时还可以减少exe文件的体积.
游戏驱动在 src\burn\drv 目录下面,我只保留CPS1/2/3, NEOGEO, PGM,其它的驱动全部删除掉。再次编译报错,找不到文件依赖项。
打开makefile.burn_rules,打到那些被我删除的依赖项,删除掉,再重新编译,通过了!
这下fba.exe体积从原版的25MB缩小到了8M,再打开ROM搜索界面,搜索速度也变快了,非常好!
------------------------------------------------------------------------------------------------------------------------------------------------------------
编译正常,还可以进行一些其它修改.比如:
1.ROM路径配置对话框,太难用了. 界面相关的代码在src/burner/win32目录下,资源文件是app.rc,可以修改对话框,菜单的布局.
2.原版创建的文件夹太多了,可以去掉那些没用的文件夹,在src/burner/win32/main.cpp 可以看到创建了一堆文件夹.
3.默认NEOGEO的BIOS为英语,可以修改为日版, 在src/burn/drv/neogeo/d_neogeo.c,第569行,倒数第二个值,原版为0x80,修改为0x8a.
修改之后像战国传承3这类游戏就可以看到日文界面了。
4...........
附上我精简过后的源代码:fba_lite: FBA模拟器精简版.