使用教程

本教程将带你从零开始掌握 MAME 的安装、配置与使用。无论你是怀旧玩家还是首次接触街机模拟器,都能在 30 分钟内完成全部设置并开始游戏。

1. 快速开始

MAME 的上手过程非常简单。整体流程可以概括为:下载安装包、解压到本地目录、放入游戏 ROM、运行可执行文件、在游戏列表中点击启动。整个过程不需要管理员权限,也不会写入任何系统注册表。

对于绝大多数用户,从下载到玩上第一款游戏的时间不会超过 5 分钟。下面我们逐步展开每个环节的细节。如果你希望立即开始,可以直接跳到 第 2 节 安装与部署

环境要求:确保你的操作系统为 Windows 10 64 位及以上、macOS 11 及以上或主流 Linux 发行版。剩余磁盘空间建议至少 1 GB,用于存放安装文件与少量 ROM。如果你计划长期收藏,建议预留 20 GB 以上空间。

2. 安装与部署

2.1 下载安装包

访问本站的 下载中心,选择与你的操作系统匹配的版本。Windows 用户推荐下载 mame0289b_x64.exe,macOS 用户根据 CPU 类型选择 Intel 或 Apple Silicon 版本的 DMG 镜像,Linux 用户可以选择 deb/rpm 包或直接编译源代码。

2.2 解压安装

MAME 是绿色软件,无需安装程序。Windows 用户只需将下载的 ZIP 包解压到任意无中文、无空格的路径即可,例如 D:\MAME\。macOS 用户将 DMG 中的 MAME 拖入应用程序文件夹。Linux deb/rpm 用户使用系统包管理器安装。

# Linux 用户也可以从源码编译
git clone https://github.com/mamedev/mame.git
cd mame
make -j$(nproc) SUBTARGET=arcade

2.3 验证安装

解压完成后,进入目录运行 mame.exe(Windows)或 ./mame(macOS/Linux)。第一次启动时 MAME 会扫描 ROM 目录并构建索引。如果界面成功显示游戏列表,说明安装已完成。

3. ROM 配置

3.1 ROM 目录结构

MAME 默认从安装目录下的 roms/ 子目录读取游戏 ROM。每个 ROM 是一个 ZIP 压缩包,文件名必须与 MAME 内部的短名(如 sf2.zipmslug.zip)完全一致。请勿重命名或解压 ROM 文件,否则 MAME 将无法识别。

3.2 ROM 校验

放入 ROM 后,可以通过命令行运行 mame -verifyroms 校验所有 ROM 的完整性。命令会列出每个 ROM 的状态:OK 表示校验通过,BAD 表示文件损坏或缺失,MISSING 表示对应驱动存在但 ROM 文件不在目录中。

mame -verifyroms
sf2         : OK (1 file)
mslug       : OK (1 file)
kof97       : BAD (missing file)
3 of 4 ROMs OK, 1 BAD

3.3 BIOS 与父 ROM

许多基板(如 Neo Geo、CPS2、CPS3)需要额外的 BIOS 文件。例如 Neo Geo 游戏 MUST 与 neogeo.zip BIOS 包一同放置。同样,某些游戏的多种版本共享同一个"父 ROM",子版本只包含差异部分。MAME 在运行游戏时会自动加载所需的所有依赖 ROM。

版权提醒:MAME 本身只是模拟器软件,不附带任何游戏 ROM。用户需自行获取合法的 ROM 来源,本站不提供 ROM 下载,也不对用户的 ROM 使用行为负责。

4. 控制器配置

4.1 默认键盘映射

MAME 默认使用键盘作为输入设备。在大多数街机基板中,Player 1 的默认按键为方向键移动,Z 为 A 键、X 为 B 键、A 为 C 键、S 为 D 键,回车 为开始、左 Shift 为投币。每个游戏的具体按键功能需参考游戏内说明。

4.2 配置手柄与摇杆

MAME 支持绝大多数 USB 手柄与街机摇杆。在游戏运行状态下按 Tab 键打开菜单,选择 Input (general) 进入通用输入设置,或选择 Input (this machine) 仅针对当前游戏设置。将光标移到任意按键上,按下回车后按下你希望映射的按钮即可完成绑定。

4.3 配置文件持久化

所有自定义按键都会保存到 cfg/ 目录下的对应文件中。不同游戏的配置独立保存,互不影响。如果你希望恢复默认设置,删除 cfg/ 目录下对应的 .cfg 文件即可。

5. 画面与音频

5.1 渲染后端选择

MAME 支持多种渲染后端,包括 Direct3D(Windows)、OpenGL(跨平台)、Metal(macOS)和 SDL2 软件渲染。在 mame.ini 配置文件中通过 video 选项切换。对于绝大多数现代设备,默认的硬件加速后端已经足够。

5.2 CRT 扫描线还原

对于追求怀旧画面的用户,MAME 提供了完整的 CRT 滤镜系统。在游戏中按 Tab 进入 Video Options,可以开启扫描线、像素抖动、暗角等效果,模拟原始街机 CRT 显示器的视觉效果。

5.3 音频采样率

MAME 默认使用 48kHz 采样率,与现代显示器和声卡完全兼容。如果你使用专业音频设备或希望获得更精确的还原,可以在 mame.ini 中将 samplerate 调整为 44100 或 96000。

6. 存档与回放

6.1 即时存档

MAME 支持任意时刻的状态保存与恢复。默认快捷键为 Shift+F5(保存)和 F5(恢复)。存档文件保存在 sta/ 目录下,每个游戏每个槽位独立保存。共有 10 个槽位可选。

6.2 INP 录制与回放

INP(Input Playback)是 MAME 用于速通录制与赛事认证的标准格式。录制时输入 mame gamename -record filename.inp,回放时输入 mame gamename -playback filename.inp。由于 MAME 的硬件级精确仿真,同一份 INP 文件在不同机器上回放都会得到完全一致的结果。

7. 高级技巧

7.1 调试器使用

MAME 内建了完整的开发者调试器,支持断点、内存监视、寄存器查看与 Lua 脚本扩展。在命令行启动时添加 -debug 参数即可进入调试模式。调试器对独立游戏开发者、逆向工程研究者和速通玩家尤其有价值。

7.2 命令行参数

MAME 提供了超过 200 个命令行参数,用于精细控制启动行为。常用参数包括 -rompath 指定 ROM 目录、-cfg_directory 指定配置目录、-sound 切换音效后端等。完整参数列表可通过 mame -help 查看。

7.3 Lua 脚本接口

从 V0.200 起 MAME 内置 Lua 5.4 脚本引擎,支持实时修改内存、绘制自定义 HUD、自动化测试等高级功能。这是逆向工程师与速通玩家的利器。脚本通过 -autoboot_script 参数加载。

-- 示例:实时显示玩家当前坐标
local mem = manager:machine().devices[":maincpu"].spaces["program"]
emu.register_frame(function()
  local x = mem:read_u8(0xFF8200)
  local y = mem:read_u8(0xFF8202)
  print(string.format("Player pos: (%d, %d)", x, y))
end)

8. 常见问题

是的。MAME 遵循 GPL-2.0+ 与 LGPL-2.0+ 双协议开源,完全免费且无任何商业行为。所有官方构建版本均可在本站或 GitHub 直接下载。请勿从任何第三方付费下载站获取,以免遭遇捆绑广告或恶意修改。

常见原因有三种:ROM 文件被重命名、ROM 文件被解压、缺少父 ROM 或 BIOS。请确保 ROM 文件保持原始 ZIP 格式且文件名与 MAME 内部短名一致。对于 Neo Geo 等基板,需要额外放置 BIOS 包。可以运行 mame -listroms gamename 查看所需文件清单。

原因可能是:CPU 性能不足以模拟目标基板、开启了过度激进的画面滤镜、电源管理导致 CPU 频率波动。建议关闭电源节能模式、降低画面滤镜强度,并确保使用 64 位版本(性能优于 32 位)。部分高负载基板如 Sega Model 2/3 在普通 PC 上仍需较强 CPU。

MAME 的所有配置均存储在安装目录下的子目录中(cfg、ini、sta、inp 等),无系统注册表写入。你只需将整个 MAME 文件夹复制到另一台设备即可保留全部配置与存档。如果你使用云盘同步,建议排除 nvram/ 目录以避免实时写入冲突。

核心 MAME 不直接提供网络联机功能。社区有基于 MAME 的扩展项目(如 FinalBurn Neo、MAMEHub 等)支持网络联机。本站只提供官方核心版本,第三方扩展请用户自行评估安全与合规性。

欢迎任何形式的贡献。代码贡献请通过 GitHub Pull Request 提交到 mamedev/mame 仓库;Bug 报告请通过 GitHub Issue 提交,附上重现步骤与 MAME 版本号;翻译贡献请提交到对应语言的 PO 文件。MAME 团队对所有贡献者表示感谢。

不可以。MAME 的开源协议明确禁止任何形式的商业使用,包括街机厅、付费娱乐场所、订阅服务等。本软件仅用于个人怀旧、学术研究与游戏保存目的。商业使用必须获得相关版权方授权。

大多数情况下可以。MAME 在小版本(如 0.270 → 0.271)之间保持存档格式向后兼容。但涉及到底层硬件仿真逻辑的大改动(如 CPU 核心重写)可能导致部分游戏的旧存档失效。建议升级前备份 sta/nvram/ 目录。

立即下载开始体验

所有教程示例均基于最新版本 MAME V0.289。立即下载即可获得完整功能体验。