FBAlpha编译和裁剪笔记

    xiaoxiao2021-03-25  118

    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...........

    附上我精简过后的源代码:https://github.com/Jiangxiaogang/fba_lite

    
    转载请注明原文地址: https://ju.6miu.com/read-14235.html

    最新回复(0)