MAME

本页使用了标题或全文手工转换
维基百科,自由的百科全书
MAME
MAME 主菜单 (0.209 标准)
MAME 主菜单 (0.209 标准)
开发者Nicola Salmoria 与 MAME 团队
首次发布1997年2月5日,​27年前​(1997-02-05
当前版本
  • 0.264 (2024年3月25日;稳定版本)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言C++语言[2]
操作系统跨平台
类型模拟器
许可协议BSD license, GNU GPL v2 or later
网站mamedev.org

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[3]负责管理与发布。

中间更新[编辑]

MAME 除了正式发行的版本之外,在开发团队官方网站尚有阶段性的发布中间更新,这是介于现时官方正式版和未来正式版之间的最新更新。中间更新是以原始码差异部分的补缀文件形式发布,并未提供可执行的档案,使用者必须自行编译成执行档才能使用,或是使用同版号的MAME衍生版本。

MAME 宣告[编辑]

MAME 是一套模拟器:或多或少忠实的重现了部分业务机台的性能,但是没有软体的硬体是毫无用处的,所以必须要有 ROM 映像档配合执行,这种 ROM 档跟其它任何一种商业软体一样都具有版权,因此如果您并不拥有原始机台而去使用它们,乃是违法的行为。不言而喻,这些 ROM 档不能连同 MAME 一起散布,将 MAME 和 ROM 映像档一起散布的行为已经违反了著作权法,应该尽速向这些作者回报,以便采取适当的法律措施。

软体费用[编辑]

MAME 是免费的,其原始码也是免费的,但在2016年3月更改授权许可前不允许销售。

软体授权[编辑]

MAME 是公开原始码的免费软体(Freeware),虽然使用其软体及原始码完全免费,也可以重新分配,但却不允许销售,也不允许制成商业产品或是用于商业活动,故不能归类为标准的开放原始码(Open source)自由软体(Free software),因为在某些授权条例上是有所抵触的,所有授权规范一切依照官方制定的 MAME 授权协议页面存档备份,存于互联网档案馆)为准则。按照理查德·斯托曼的说法,MAME是准自由软件(Semi-free Software)。

不过在特定情况下,无论是修改或是未修改过,且“再次散布的情形下不得被贩售,或者是被用于商业产品及活动”,MAME 即能以原始码或是执行档的形式再次散布。但另外修改过的再次散布版(衍生版本)必须包含完整的对应原始码(类似 Copyleft)。参考 MAME 授权协议页面存档备份,存于互联网档案馆)。

MAME已于2015年5月开始更改其授权许可,至2016年3月止已改为使用BSD licenseGNU GPL v2+,成为真正的自由软体

工作原理[编辑]

MAME 由多个元件组成,包含:中央处理器模拟器,用以模拟各种街机中的 CPU 装置;输入系统模拟,用以模拟各种街机输入设备,例如按钮、摇杆、光线枪和其他控制器的输入系统;街机显示和声音的模拟器。MAME 唯一不包含的是 ROM 映像,也就是原始街机游戏中的软体。在 MAME 运行时,就如同多年前的原本游戏在运行,只不过是在不同的设备上,以模拟原始设备的方式运行罢了。

ROM 的定义[编辑]

在大多数的街机中,游戏资料(包含了执行的程式、图形及音效等)都是储存于游戏机板上的唯读记忆体Read-Only Memory)晶片里(因此这些资料被简称为 ROM),当然也有采用其他储存媒介的,像是卡匣磁片硬碟光碟镭射光碟等。将储存于其中的游戏资料读出后储存成为一般电脑使用的档案格式,这个过程称为转储或吸出(dumping)。因为大多数游戏资料都是储存于唯读记忆体,渐渐地不管这些档案原先是被储存于怎样的媒介,吸出后的档案都通称为 ROM 映像档或 ROM。

在要执行某一特定的游戏时,MAME 就需要这些吸出自原始街机的整组档案,这一整组的档案称之为“ROM 集合”,但是碍于法规 MAME 不会自带这些档案。

ROM 存放形式[编辑]

  1. 一般的 ROM 集合。将一个游戏中所包含的全部吸出资料后,以压缩方式存放于一个内定名称的 ZIP 格式压缩档(也可以未压缩方式存放于同名的资料夹)。
  2. CHD 的 ROM 集合。只针对游戏中包含硬碟、光碟的大型储存媒介,将单一媒介中的资料吸出为映像档后,再压缩为单一 CHDCompressed Hunks of Data)格式的压缩档。

ROM 集合类型[编辑]

  1. 原作版游戏 ROM 集合,又称之为主版本。这些 ROM 档包含供游戏执行所需要的所有资料,但不包含 BIOS 档案。
    MAME 开发团队会订定每种游戏的原作版,通常都是挑选最新的版本当成原作版,如果有多种区域版本的话,则通常挑选世界版或是美国版。
  2. 仿制版游戏 ROM 集合,又称之为子版本。与原作版本有差异的版本,或是变体版(例如 Street Fighter II TurboStreet Fighter II Champion Edition 的变体版)。包含有:替换版 (alternate)、盗版 (bootleg)、骇客版 (hack)、解密版 (decrypted)、衍生版 (derivative)、开发版 (prototype)、复制版、相容版、授权版、变体版、新旧版、各种区域版、各种语言版等。
    通常会被归类为仿制版和原作版此两者相依性关系的游戏,主要原因在于这些游戏的 ROM 结构有雷同的内容,所以便将其中之一个归类为该另一个游戏的子版本。仿制版的游戏一定会有一个原作版,原作版游戏却不一定带有仿制版、而有些原作版游戏还带有一个以上的仿制版。
  3. BIOS 的 ROM 集合,这是通用于标准化的街机系统(例如 NeoGeo),主要用于启动硬体,然后交由游戏软体接管系统。

ROM 取得管道[编辑]

  1. 如果拥有实际的街机游戏基版及 EPROM 吸出工具,可自行读出这些 ROM 档案。
  2. 部分像是 CapcomAtari 公司提供自家已淘汰的老旧街机游戏 ROM 贩卖服务,采个别贩售或是包含于其他产品中。
  3. 还有一些 ROM 集合因为游戏的版权持有人开放了在非商业行为下的自由散布权利,这些集合可以在 MAME 网站页面存档备份,存于互联网档案馆)上取得(例如 Robby Roto)。

外部链接[编辑]

官方网站[编辑]

衍生版本[编辑]

相关资料[编辑]

引用资料[编辑]

  1. ^ Release MAME 0.264. 2024年3月26日. 
  2. ^ 存档副本. [2011-06-26]. (原始内容存档于2013-02-20). 
  3. ^ MAME | Multiple Arcade Machine Emulator. Mamedev.org. 2011-04-05 [2011-04-11]. (原始内容存档于2018-10-05).