多语言展示
当前在线:1784今日阅读:167今日分享:16

开源游戏机模拟器MAME源码的编译与裁剪

开源街机模拟器MAME是优秀的街机模拟器,其支持的游戏种类众多,对不同的游戏机CPU有众多的适配处理,作为开源的模拟器,20年的研发和优化让它维持了旺盛的生命力。MAME不仅给游戏玩家带来方便,更重要的是给想了解模拟器软件原理的程序员提供了学习源码的机会。
工具/原料
1

当前最新MAME游戏模拟器源码

2

msys/MinGW编译环境

3

Visual Studio 2015

方法/步骤
1

从GitHub上下载开源的MAME源码安装msys安装VS2015

2

启动命令行,在MAME工程根目录位置执行 make vs2015如果想多核编译请执行 make -j8 vs2015等待执行完毕后,进入生成的build文件夹,可以找到VS2015的mame.sln工程,运行它。

3

在VS2015中设置mame为启动项,编译即可生成和调试mame的可执行程序。运行后可选择rom进行游戏。由于开源的mame支持众多游戏机的大量游戏,可以看到工程中有大量的驱动,cpu和芯片对应的项。且编译后不带调试信息的可执行程序也大于200m,因此才学习或使用时我们可以针对特定游戏机或游戏对mame进行裁剪。

4

这个版本的mame进行裁剪比老版本更加方便。生成vs工程的过程中,执行了scripts文件夹下的lua脚本程序,在/scripts/target/mame/目录下,我们可以分别打开mame.lua和tiny.lua查看,可以看出模拟器所需的cpu,bus等硬件的支持均在文件中详细描述,从mame.lua中找到我们需要的游戏机及游戏,把剩下的内容删除,重新进行步骤2步骤3,即可编译出精简后的mame可执行程序,如果针对单个游戏机的模拟,exe可以精简到20m一下,编译速度也提升了很多。

5

如果我们不了解我们需要的游戏及游戏机需要什么样的硬件环境,如何裁剪呢?可以针对之前生成的mame.exe 在命令行内调用 mame.exe -listxml > info.txt 即可生成一个游戏对应chips信息的文件列表。

注意事项

MAME是开源的街机模拟器,给工程师们的学习带来了方便,但对其开源代码的修改和使用是禁止用于营利商业用途的

推荐信息