一款街机游戏模拟器,让你的现代设备也能玩经典的街机游戏
一款街机游戏模拟器,让你的现代设备也能玩经典的街机游戏
MAME(Multiple Arcade Machine Emulator)是一款开源的街机游戏模拟器,它可以让现代计算机设备运行超过32000个经典街机游戏。从1997年创立至今,MAME不断吸收其他项目,功能日益完善,不仅能模拟街机游戏,还能模拟各种复古电脑、视频游戏主机和计算器等电子娱乐设备。
项目介绍
MAME项目始于1997年,由Nicola Salmoria发起,旨在保存和传承经典街机游戏的文化遗产。随着时间的推移,MAME吸收了MESS、AGEMAME等项目,功能得到进一步扩展。现在,MAME不仅可以模拟街机游戏,还能模拟各种复古电脑、视频游戏主机和计算器等电子娱乐设备。
核心功能
- 广泛的硬件模拟:能够模拟过去50年来超过32000个不同的游戏系统,包括众多知名的街机游戏平台,如Capcom、SNK等公司的街机主板,以及早期的家用游戏机、电脑等。
- 精确的模拟效果:尽可能地还原原始硬件的运行环境和特性,让玩家能够体验到与当年在街机厅或使用原始设备相似的游戏感受。例如,游戏的画面显示、音效、操作响应等方面都力求接近原始硬件的表现。
- 支持多种操作系统:当前的MAME源代码可以在Microsoft Windows、Linux、FreeBSD和macOS等主要操作系统下直接编译和运行,具有很强的跨平台性。
- 开源与共享:MAME项目坚持开源模式,将所有源代码公开给全世界的开发者和爱好者。这种开放共享的精神促进了技术交流与进步,为无数对街机游戏充满好奇的年轻人打开了一扇通往编程世界的大门。
技术特点
- 编程语言:主要使用C++编写,部分核心组件使用C语言编写,这使得MAME在运行效率和可维护性上取得了较好的平衡。
- 图形与输入处理:使用SDL2.0来处理图形和输入,为用户提供流畅的游戏画面和便捷的操作交互。同时,还集成了BGFX Shaders等技术进行高级图形渲染,提升游戏的视觉效果。
- 代码质量与文档:代码遵循严格的编码标准,以确保一致性和可读性。项目拥有高质量的文档系统,包括详尽的编译指南和API参考,方便新用户入门和开发者进行二次开发。
安装使用
安装
源代码可在主要操作系统下直接编译,包括Microsoft Windows(支持DirectX/BGFX原生或SDL)、Linux、FreeBSD和macOS。官方MAME二进制文件设计在标准Windows系统运行,最低要求为Intel Core 2系列或同等CPU至少2.0GHz、64位操作系统(Windows 7及以上或macOS 10.9及以上)、4GB内存、Windows需DirectX 9.0c、有Direct3D或OpenGL功能的显卡。现代版本MAME要求更高,低配置PC可能用旧版本性能更好但准确性降低且支持系统少。
Windows系统安装
通过官网下载对应的安装包。
其他操作系统
可通过安装渠道说明文档,查找对应系统发行版仓库等地方寻找预编译的(SDL)MAME二进制文件,这些文件应能直接解压到所选文件夹中,完成安装。
自行编译
自行编译,请阅读官方指导编译文档。
使用
1. 图形化启动方式(简易入门)
对于不想使用命令行的用户,可以通过双击mame.exe文件(Windows系统)或直接从命令行运行无参数的MAME来启动,会有图形化界面,无需额外下载和设置前端。但如果要深入使用MAME的全部功能,则需继续阅读后续内容。同时,在macOS和基于*nix的平台上,启动前需确保字体设置与区域设置匹配,否则可能因缺少字形而无法阅读文本。
2. 软件列表的使用(简化操作)
对于新用户,软件列表可简化操作。如果要运行的内容是MAME软件列表中的记录,在命令行中使用格式为
mame.exe <system> <software>
例如
mame.exe nes metroidu
将加载任天堂娱乐系统(NES)的美国版《银河战士》。
也可以先使用
mame.exe <system>
启动MAME,然后从卡带插槽选择软件列表,再从roms文件夹中选择兼容软件列表的软件。但需注意,许多旧的卡带和光盘转储可能有问题或需要重命名以匹配软件列表才能正常工作。
3. 加载非软件列表内容(如街机板等)
从命令行加载的基本格式为
mame.exe <system> <media> <software> <options>
其中:
<system>
是要模拟的系统短名称(如nes、c64等)。<media>
是要加载的媒体开关(如-cart或-cart1表示卡带,-flop或-flop1表示软盘,-cdrom表示CD-ROM)。<software>
是要加载的程序/游戏(可以是文件的完整路径,也可以是软件列表中的短名称)。<options>
是用于控制器、视频、声音等的其他命令行选项。
如果输入的<system>
名称不对应任何模拟系统,MAME会给出类似的可能选择;如果不知道可用的<media>
开关,可以使用
mame.exe <system> -listmedia
查看。更多使用说明,请阅读官方教程。
项目地址
https://github.com/mamedev/mame