MAME
역사와 개요

이 프로젝트는 이탈리아인 프로그래머인 니콜라 살모리아가 시작하였다. MAME의 근원은 Multi-Pac이라고 불리는 초창기 에뮬레이터 프로젝트까지 이어지지만, 점점 더 많은 게임들이 MAME 프레임워크 안에서 에뮬레이트되기 시작하면서 이름이 바뀌게 되었다. 1997년 4월 살모리아는 군복무로 인해 물러나고 반년 정도의 기간동안 프로젝트의 관리를 동료 이탈리아인 Mirko Buffoni에게 맡기었다. 2003년 5월부터 프로젝트는 Aaron Giles가 지휘하게 되었고, 2011년 5월부터는 Angelo Salese가 새로운 조정자로 대신하게 되었다. 이 프로젝트는 전 세계 수백명의 개발자들과 수천명의 외부 공헌자들이 지원하고 있다.
처음에는 MAME는 MS-DOS만을 위해 개발되었지만 곧 Unix-like 시스템(X/MAME), 매킨토시(MacMAME와 좀 더 나중에는 MAME OS X)와 윈도(MAME32)로 포팅되었다. 현재 주요 개발은 윈도 플랫폼에서 한 뒤 대부분의 다른 플랫폼들은 SDLMAME 프로젝트를 통해 지원하는 방식이었으나, 최근에 들어서는 메인 개발 소스 트리에 통합되었다. 그에 더하여, 여러 버전의 MAME들은 다른 컴퓨터, 게임 콘솔, 모바일폰과 PDA, 심지어는 디지털 카메라에 까지도 포팅되었다. 2012년, Google에서는 MAME를 Chrome에서 실행될 수 있도록 구글 네이티브 클라이언트로 포팅하였다.
한국에서는 MAME를 '마메'로 읽고 표기하는 방식이 있다. “마메”는 MAME의 이태리식 발음을 음차한 것이며, 영어식으로는 '메임'이 된다. 한국에서 마메는 PC통신 나우누리의 PGF(순수 게임 사랑) 동호회를 통해 처음 소개되었고, 이후 PGF(순수 게임 사랑) 동호회 내의 ELF(Emul Love Forum)을 통해 널리 알려졌다
주요 배포는 거의 한달에 한번꼴로 이루어진다. 윈도 실행파일은 32bit와 64bit 모두 완전한 소스 코드와 함께 개발팀의 공식 웹사이트에서 배포된다. 좀 더 작은, 증분 "u"(업데이트) 배포는 개발자들 사이의 코드를 동기화 하기 위해 주단위로 가장 최근 주요 버전에 대한 소스 차이점(diffs)만을 배포한다. 최신 MAME 소스 코드는 원하는 사람들이 누구나 접근할 수 있도록 공개 mess.org 서브버전 서버에 저장된다. 이것은 컴파일러 도구를 사용할 수 있고 소스코드에서 소프트웨어를 빌드하는데 거리낌이 없는 사람들을 위한 것이다.
MAME의 아키텍처는 해를 거듭하면서 광범위하게 개선되었다. 다중 CPU들과 사운드 칩은 물론이고 래스터와 벡터 화면을 위한 지원들이 프로젝트의 첫 6개월내에 MAME에 포함되었다. 여러 가지의 에뮬레이트된 CPU 코어들 사이의 동기화를 조직화할 유연한 타이머 시스템이 구현되었고, ROM 이미지들은 ZIP 파일에서 CRC32 해쉬에 따라 로드되는 방식이 시작되었다.
MAME는 많은 문서화되지 않은 시스템 아키텍처, 다양한 CPU 및 사운드 칩(예를 들어 야마하 FM 사운드 칩)의 역공학을 개척했다. MAME 개발자들은 Neo Geo, CP System II 및 CP System III을 포함하여 아케이드 게임에 사용되는 많은 독점 암호화 알고리즘을 역공학하는 데 중요한 역할을 해왔다.
MAME는 다양한 CPU(M6809에서 파생된 새로운 명령어 셋을 가진코나미CPU 같은)와 사운드 칩(예를 들면 야마하 FM 사운드 칩)등 문서화되지 않은 많은 시스템 아키텍처들의 리버스 엔지니어링을 개척해 나갔다. 또한 MAME 개발자들은 아케이드 게임에 쓰인 많은 상용 암호 알고리즘들의 리버스 엔지니어링에서 중요한 역할을 맡아왔다. 예를 들자면 네오지오, CP System II, CP System IIII등이 있다.
MAME가 등장한 이래 열성가들이 오래된 게임들을 재현하기 위해 자신들만의 비디오 게임 아케이드 캐비넷을 만들거나, 몇몇 회사들이 불법 MAME 수정본을 만들어 게임장에 설치하는 등 인기를 끌게 되었다. 캐비넷은 아예 새로 만들던지 한때 진짜 하드웨어가 내장되어 있던 진품 아케이드 게임 캐비넷을 분해한 뒤 손봐서 만들기도 한다. 고전 아케이드 게임들을 본딴 캐비넷들(MAME가 미리 설치된 PC도 선택사양)을 구매하여 조립할 수 도 있다.
MAME자체는 기본적인 사용자 인터페이스만을 갖추고 있기 때문에 MAME를 아케이드 게임 캐비넷이나 홈 시어터 PC 등에서 사용하려면 좀 더 발전된 사용자 인터페이스를 갖춘 프론트 엔드라는 특별한 실행기가 필요하다. 프론트 엔드는 다양한 종류의 사용자 정의가 가능하여 캐비넷의 이미지, 게임의 역사, 게임 조작팁등은 물론 게임 플레이 비디오나 데모 모드(attract mode)를 볼 수도 있다.
MAME에 담긴 정보들은 무료로 재사용 가능하여, 옛 고전 게임들을 현대 시스템에서 재창조할 때 게임 회사들에서 MAME를 활용한다는 경우도 많다. 어떤 회사들은 더 나아가, MAME 개발자들을 고용해 자신들의 옛 게임들에 대한 에뮬레이터를 만들기도 한다. 이런 한 예로는 위키백과:Taito Legends 팩이 있다.
MAME의 주요 릴리스는 약 한달에 한번씩 발생한다. 32비트와 64비트 방식의 윈도우 실행 파일은 개발팀의 공식 웹사이트에 완전한 소스 코드와 함께 공개된다. 더 작은 증분 "u"(업데이트용) 릴리스는 개발자들 간의 코드 동기화를 유지하기 위해 최신 주요 버전에 대한 소스 디프로 매주(버전 0.149u1까지) 출시되었다. MAME의 소스 코드는 퍼블릭 깃허브 저장소에서 개발되어 필요한 전문 지식과 도구를 가진 사람들이 최신 버전을 구축하고 풀 요청으로 향상에 기여할 수 있다. 과거 버전 번호 0.32 및 0.38에서 0.52는 존재하지 않는다. 전자는 GUI가 장착된 MAME32 변종(이후 64비트 빌드로 이동하여 MAMEUI로 이름이 변경됨)의 유사한 이름 때문에 생략된 반면 후자의 번호는 0.37 베타 사이클에서 수많은 릴리스로 인해 생략되었다(이후 이러한 버전 번호는 공식 MAMEdev 웹사이트에서 동일한 0.37 베타 릴리스 옆에 표시됨)
2015년 5월 27일(0.162), 게임 콘솔 및 컴퓨터 시스템 에뮬레이터 MESS가 MAME와 통합되었다. 이것은 또한 MAME가 아케이드 기계보다 더 많은 것을 에뮬레이션할 수 있기 때문에 머리글자를 제거하는 결과로 이어진다. 2012년부터 MAME는 MESS 프로젝트의 전 리더인 미오드라그 밀라노비치에 의해 유지되고 있다.
2015년 5월, MAME의 개발자들은 원래의 MAME 라이선스에서 벗어나 더 일반적인 자유 및 오픈 소스 라이선스로 소프트웨어를 다시 라이선스할 계획이라고 발표하였다. MAME 개발자 미오드라그 밀라노비치는 이러한 변화가 개발자들의 관심을 더 끌어내고, 게임 제조사들이 MAME를 배포하여 자신들의 게임을 모방할 수 있도록 하며, 소프트웨어를 "개발 보드에서 일하는 개발자들을 위한 학습 도구"로 만드는 것이라고 설명하였다. MAME의 라이선스는 2016년 3월에 BSD/GPL로 전환이 완료되었다. 현재 MAME의 소스 코드 대부분(90%+)은 BSD-3-Clause 라이선스로 이용할 수 있으며, 완전한 프로젝트는 GPL-2.0 이상의 라이선스로 진행중이다.
2016년 2월 24일(0.171), MAME는 MEWUI 프론트엔드를 내장하고 개발자가 팀에 합류하여 유연하고 완전한 UI를 제공하였다.
2021년 12월 30일, Akai Katana와 DoDonPachi SaiDaiOouJou 게임의 서구 판권 소유자인 exA-Arcadia는 변호사들이 에뮬레이터에 포함된 게임에 대해 MAME 개발자들에게 중단 및 폐기 통지를 제출하도록 했다. MAME는 하루 후 이 요청을 받아들였고, 버전 0.240을 기준으로 둘 다 명령 라인 밖에서 에뮬레이터에서 플레이할 수 없게 되었다