MAME

旨在重現許多街機遊戲系統的硬件的仿真軟件

MAME,全名 Multiple Arcade Machine Emulator(多重大型電玩模擬器)是一套設計給個人電腦使用的軟體應用程式,其目標在於盡可能的忠實且精確地模擬許多街機遊戲,宗旨在於保存遊戲的歷史,並防止古老的遊戲被遺失或遺忘。

MAME
MAME 主菜單 (0.209 標準)
MAME 主菜單 (0.209 標準)
開發者Nicola Salmoria 與 MAME 團隊
首次发布1997年2月5日,​27年前​(1997-02-05
当前版本
  • 0.271(2024年10月31日;穩定版本)[1]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C++語言[2]
操作系统跨平台
类型模擬器
许可协议BSD license, GNU GPL v2 or later
网站mamedev.org

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. ^ https://www.mamedev.org/.
  2. ^ 存档副本. [2011-06-26]. (原始内容存档于2013-02-20). 
  3. ^ MAME | Multiple Arcade Machine Emulator. Mamedev.org. 2011-04-05 [2011-04-11]. (原始内容存档于2018-10-05).