MAME
MAME
MAME,全名 Multiple Arcade Machine Emulator(多重大型电玩模拟器)是一套设计给个人电脑使用的软体应用程式,其目标在于尽可能的忠实且精确地模拟许多街机游戏,宗旨在于保存游戏的历史,并防止古老的游戏被遗失或遗忘。
MAME 版本.
MAME 主要是由C语言写成的跨平台应用程式(从 0.137 版开始支援C++语言),有许多不同平台的衍生版本,官方只发布对应 Windows 平台的执行档。开发目前是以 Windows 平台的命令列版本为主(在 0.37b14 版之前的开发是以 MS-DOS 平台为主,现已停止发布),从 0.137 版开始提供 SDL 跨平台函式库的 SDLMAME 原始码(不提供执行档);其他非官方的衍生版有加入 Windows 图形使用介面的 MAMEUI,以及 Unix-like 系统的 XMAME、Mac OS X 系统的 MacMAME。
根据 MAME 官方网站描述,第一个公众 MAME 版本 (0.1) 是在1997年2月5日,由义大利程式设计师 Nicola Salmoria 发布。目前 MAME 发展至今已超过十年,官方为了纪念十周年这个里程碑,选在2007年2月5日的十周年生日推出新版本 (0.112) 以兹纪念。一直以来,除了 MAME 官方开发团队致力于程式开发之外,尚有数百名来自全世界的非官方程式设计师参与编写,目前此开发专案由官方开发团队核心成员 Angelo Salese负责管理与发布。
中间更新.
MAME 除了正式发行的版本之外,在开发团队官方网站尚有阶段性的发布中间更新,这是介于现时官方正式版和未来正式版之间的最新更新。中间更新是以原始码差异部分的补缀文件形式发布,并未提供可执行的档案,使用者必须自行编译成执行档才能使用,或是使用同版号的MAME衍生版本。
MAME 宣告.
MAME 是一套模拟器:或多或少忠实的重现了部分业务机台的性能,但是没有软体的硬体是毫无用处的,所以必须要有 ROM 映像档配合执行,这种 ROM 档跟其它任何一种商业软体一样都具有版权,因此如果您并不拥有原始机台而去使用它们,乃是违法的行为。不言而喻,这些 ROM 档不能连同 MAME 一起散布,将 MAME 和 ROM 映像档一起散布的行为已经违反了著作权法,应该尽速向这些作者回报,以便采取适当的法律措施。
软体费用.
MAME 是免费的,其原始码也是免费的,但在2016年3月更改授权许可前不允许销售。
软体授权.
MAME 是公开原始码的免费软体(Freeware),虽然使用其软体及原始码完全免费,也可以重新分配,但却不允许销售,也不允许制成商业产品或是用于商业活动,故不能归类为标准的开放原始码(Open source)或自由软体(Free software),因为在某些授权条例上是有所抵触的,所有授权规范一切依照官方制定的 MAME 授权协议 (页面存档备份,存于-{zh-cn:互联网档案馆;zh-tw:网际网路档案馆;zh-hk:互联网档案馆;zh-sg:互联网档案馆;}-)为准则。按照理查德·斯托曼的说法,MAME是准自由软件(Semi-free Software)。
不过在特定情况下,无论是修改或是未修改过,且「再次散布的情形下不得被贩售,或者是被用于商业产品及活动」,MAME 即能以原始码或是执行档的形式再次散布。但另外修改过的再次散布版(衍生版本)必须包含完整的对应原始码(类似 Copyleft)。参考 MAME 授权协议 (页面存档备份,存于-{zh-cn:互联网档案馆;zh-tw:网际网路档案馆;zh-hk:互联网档案馆;zh-sg:互联网档案馆;}-)。
MAME已于2015年5月开始更改其授权许可,至2016年3月止已改为使用BSD license和GNU GPL v2+,成为真正的自由软体。
工作原理.
MAME 由多个元件组成,包含:中央处理器模拟器,用以模拟各种街机中的 CPU 装置;输入系统模拟,用以模拟各种街机输入设备,例如按钮、摇杆、光线枪和其他控制器的输入系统;街机显示和声音的模拟器。MAME 唯一不包含的是 ROM 映像,也就是原始街机游戏中的软体。在 MAME 运行时,就如同多年前的原本游戏在运行,只不过是在不同的设备上,以模拟原始设备的方式运行罢了。
ROM 的定义.
在大多数的街机中,游戏资料(包含了执行的程式、图形及音效等)都是储存于游戏机板上的唯读记忆体(Read-Only Memory)晶片里(因此这些资料被简称为 ROM),当然也有采用其他储存媒介的,像是卡匣、磁片、硬碟、光碟、镭射光碟等。将储存于其中的游戏资料读出后储存成为一般电脑使用的档案格式,这个过程称为转储或吸出(dumping)。因为大多数游戏资料都是储存于唯读记忆体,渐渐地不管这些档案原先是被储存于怎样的媒介,吸出后的档案都通称为 ROM 映像档或 ROM。
在要执行某一特定的游戏时,MAME 就需要这些吸出自原始街机的整组档案,这一整组的档案称之为「ROM 集合」,但是碍于法规 MAME 不会自带这些档案。