琵琶行论坛

 找回密码
 注册

模擬器學習日記 (7) - 用MinGW 下,編譯 MAME plus

热度 2已有 3301 次阅读2010-2-18 14:28 |个人分类:模擬器研究|

在开始编译 MAME plus 之前,先要把常用的命令,加到 /etc/profile:
alias vi=vim
alias ll='ls -lA --color=y'
alias mame_patch='patch -p0 -E'

用 MSYS (shell),又一个好处,是你可以把你常用的命令,取个容易记住的名字,这样有些复杂的命令参数,你只要搞清楚一次,然后就可以忘记了,作法有两个,一个是 alias,另外一个就是建 shell script

ll='ls -lA --color=y'                  这个命令,就是以宽格式,列出所有的档案,并根据档案类别,给不同的颜色
mame_patch='patch -p0 -E'   这个命令,就是安装 MAME diff 时,所需要的参数,我永远都记不得。


言归正传,开始来编译 MAME plus。首先下载最新的程式码,到官网 http://mameicons.free.fr/mame32p/ 

假设你下载的档案存到 c:\temp\mameplus_src-0.136u3r4593-20100215.7z.zip,问题又来了,这次压缩档是 .7z 这种压缩格式。到 7-Zip 官网 http://www.7-zip.org/download.html 下载命令列版的 7za.exe。

假设你下载的档案存到 c:\temp\7za465.zip,用下面的命令来安装到你的 MSYS 下,现在万事具备,可以开始来安装 MAME plus 的原始码了。
unzip /c/temp/7za465.zip -d /bin
rm /c/temp/7za465.zip

第一个要注意到的是 MAME plus 原始码的发布形式,MAME plus 因为发布的内容,除了程式以外,还包括了 UI 或用到的图示、图档、等等。所以不是以 diff 的形式,而是以档案的形式发布。换句话说,就是你先安装到 MAME 0.163u3,然后你再把 MAME plus 发布的档案盖上去。这样有一件事,就必须注意了,如果你是把 MAME plus 盖到 MAME 0.163u3 上,当 MAME 出 0.163u4,你就不能直接用 patch 安装 0.163u4 diff 了。

所以,比较合理的作法,有一个目录,专门放 MAME 官方的原始码,当要编译 MAME plus 时,先把 MAME 官方的原始码,拷贝到 MAME plus 的目录,然后在覆盖 MAME plus 的原始档。这也是我打算采用的作法。

先清掉之前编译 MAME 产生的档案
cd /home/mame0136
make clean

清掉 MAME plus 如果有的话,并建立一个 mameplus 目录
cd /home
rm mameplus -rf
mkdir makeplus

拷贝 mame0136 的所有档案到 mameplus 目录
cp mame0136/* mameplus/ -rf

安装 MAME plus 原始码
cd /home/mameplus
mv /c/temp/mameplus_src-0.136u3r4593-20100215.7z.zip  .
7za x -y mameplus_src-0.136u3r4593-20100215.7z.zip
rm mameplus_src-0.136u3r4593-20100215.7z.zip

编译 MAME plus
make

编译过程,会出现下面的错误讯息:
make: *** No rule to make target `src/emu/font/uismall.png', needed by `obj/windows/mamep/emu/uismall11.bdc'.

检查了一下,发现需要安装字型,到官网 http://mameicons.free.fr/mame32p/ 下载。
假设下载档案在 c:\temp\mameplus_src_font-20070928.7z.zip
mv /c/temp/mameplus_src_font-20070928.7z.zip  .
7za x -y mameplus_src_font-20070928.7z.zip

然后继续编译 MAME plus
make

这样就可以编译出 MAME plus。
------------------------------------------------------------------------------------
后记:如果有边译过 MAME plus 的人,或许会问,哪有那么啰嗦?
------------------------------------------------------------------------------------
很多人都应该下载过 MAME plus 的原始档,然后按照里面的 compile.htm 的说明,编译过 MAME plus,没有那么啰嗦,为什么?最主要的目的,在于搞清楚这些流程,包括如何安装原始码,如何安装工具,然后在建立一个可以开发程式的环境。

在 Linux 的环境下,可以达到目的的方式有很多,命令列的方式,有一个好处,每一行执行的命令,都可以写到一个 shell script,日后有变动,稍加修改 shell script,然后就可以自动执行了。

如果需要透过 Windows UI 工具,这意谓需要手动,举例用 7-zip 或是 WinRAR 解开压缩档,用档案总管,拷贝档案从一个目录到另一个目录,等等。

当然可以写 DOS 批次档,但是 DOS 批次档比不上 shell script 弹性大。

下次找一些关于模拟器的原理的资料来研究。

评论 (0 个评论)

小黑屋|手机版|Archiver|琵琶行论坛 ( 赣ICP备12000882号 )

GMT+8, 2024-3-29 04:18 , Processed in 0.016195 second(s), 6 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部