大家好,今天给大家分享一个多街机游戏仿真器MAME
,它的出现为玩家在现代计算机上体验经典街机游戏提供了可能。
项目介绍
MAME
项目自1997年由Nicola Salmoria发起,致力于保存经典街机游戏的文化遗产。
随着时间推移,MAME 吸收了 MESS、AGEMAME 等项目,功能得到进一步扩展,现在不仅可以模拟街机游戏,还能模拟各种复古电脑、视频游戏主机和计算器等电子娱乐设备。
核心功能
广泛的硬件模拟:能够模拟过去 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