MAME,全名 Multiple Arcade Machine Emulator(多重大型电玩模拟器)是一套设计给个人电脑使用的软件应用程序,其目标在于尽可能的忠实且精确地模拟许多街机游戏,宗旨在于保存游戏的历史,并防止古老的游戏被丢失或遗忘。
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 是一套模拟器:或多或少忠实的重现了部分业务机台的性能,但是没有软件的硬件是毫无用处的,所以必须要有 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 license和GNU GPL v2+,成为真正的自由软件。
MAME 由多个组件组成,包含:中央处理器模拟器,用以模拟各种街机中的 CPU 设备;输入系统模拟,用以模拟各种街机输入设备,例如按钮、摇杆、光线枪和其他控制器的输入系统;街机显示和声音的模拟器。MAME 唯一不包含的是 ROM 映像,也就是原始街机游戏中的软件。在 MAME 运行时,就如同多年前的原本游戏在运行,只不过是在不同的设备上,以模拟原始设备的方式运行罢了。
在大多数的街机中,游戏资料(包含了执行的程序、图形及音效等)都是存储于游戏机板上的只读存储器(Read-Only Memory)芯片里(因此这些资料被简称为 ROM),当然也有采用其他存储介质的,像是卡匣、磁片、硬盘、光盘、镭射光盘等。将存储于其中的游戏资料读出后存储成为一般电脑使用的文件格式,这个过程称为转储或吸出(dumping)。因为大多数游戏资料都是存储于只读存储器,渐渐地不管这些文件原先是被存储于怎样的介质,吸出后的文件都通称为 ROM 映像档或 ROM。
在要执行某一特定的游戏时,MAME 就需要这些吸出自原始街机的整组文件,这一整组的文件称之为“ROM 集合”,但是碍于法规 MAME 不会自带这些文件。