查看完整版本: [-- MAME32使用教材终结版 --]

【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】 -> 【 游戏 ROM 交流区 | Games ROM Communion 】 -> MAME32使用教材终结版 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

gaoshou123 2005-10-24 00:01

  artwork 存放游戏背景图,外框图,前景图的目录。默认格式为:artwork\*.zip

下载连接:MAME (官方网)

  bkground 存放MAME背景图的目录。默认格式为:\bkground\*.png

下载连接:the mame32 qa (官方网)

  cabinets 存放街机箱体图的目录。默认格式为:\cabinets\cabinets.zip

下载连接:the mame32 qa (官方网)

  cpanels 存放美化街机操纵台图的目录。默认格式为:\cpanels\cpanels.zip

下载连接:MameHot (官方网)  Emu-France.com (非官方)

  ctrlr 存放游戏控制器配置文件的目录。默认格式为:\ctrlr\

下载连接:无 (官方网)

  docs 存放模拟器相关帮助文档的目录。默认格式为:\docs\

下载连接:无 (官方网)

  flyers 存放游戏海报图像文件的目录。默认格式为:\flyers\flyers.zip

下载连接:The Arcade Flyers Archive (官方网)

  folders 存放游戏分类资料的目录。默认格式为:\folders\

下载连接:无 (官方网)

  font 存放模拟器显示所使用字体文件的目录。先下载,后解压。默认格式为:\font\

下载连接:MAME - MAME32 Plus! (官方网)

  icons 存放游戏小图标的目录。默认格式为:\icons\icons.zip

下载连接:the mame32 qa (官方网)  MAMu 's MAMEICONS (非官方网)

  ini 存放配置文件的目录。默认格式为:\ini\

下载连接:无 (官方网)

  ips 存放IPS文件的目录。先下载,后解压。默认格式为:\ips\

下载连接:MAME - MAME32 Plus! (官方网)

  lang 存放模拟器多国语言配置文件的目录。先下载,后解压。默认格式为:\lang\

下载连接:MAME - MAME32 Plus! (官方网)

  marquees 存放街机箱体上面贴图的目录。默认格式为:\marquees\marquees.zip

下载连接:EMAM - Marquees (官方网)

  roms 存放模拟器默认ROM的目录。默认格式为:\roms\*.zip

下载连接:Emu - Zone模拟器社区 2004版以及Rom的传人等模拟游戏网均有下载

  samples 存放游戏声音采样数据的目录。默认格式为:\samples\*.zip

下载连接:MAME (官方网)

  snap 存放游戏抓图的目录。默认格式为:\snap\snap.zip

下载连接:the mame32 qa (官方网)  Crashtest's Emulation Page (非官方网)

  titles 存放游戏标题抓图的目录。默认格式为:\titles\titles.zip

下载连接:MAME Titles (官方网)  Crashtest's Emulation Page (非官方网)

  cheat.dat 游戏作弊文件。默认格式为:\cheat.dat

下载连接:Pugsy's MAME Cheat (官方网)  The Ultimate Patchers (非官方网)

  history.dat 纪录MAME历史文件。默认格式为:\history.dat

下载连接:History Database (官方网)

  mameinfo.dat MAME信息文件。默认格式为:\mameinfo.dat

下载连接:MASH's MAMEINFO (官方网)

  hiscore.dat 不太清楚是什么。默认格式为:\hiscore.dat

下载连接:MAME (官方网)  Unofficial Highscore.dat (非官方网)

gaoshou123 2005-10-24 00:02
初步介绍
MAME Overview
M.A.M.E.为‘Multi-Arcade-Machine-Emulator’的缩写,相信大多数人都知道它是个大型电玩模拟器。MAME 由 Nicola Salmoria 自1997年一月开发,一开始只支援 Lady Bug、Ms Pacman 和 Pengo 三个游戏,在五年后的今天,0.58版已经支援超过三千个以上的游戏,且陆陆续续有新版本释出并支援新游戏,同时也有更多高手加入 MAME 的开发计划。它模拟数以百计的各式大型机台基板,包括了 Sega、Capcom、Atari、Konami、Irem、Namco、SNK 等各家厂商。

MAME 是一个模拟器,这意指 MAME 模拟了基板内的晶片,并使用吸取自原大型机台基板的 Rom images 来执行游戏,以近似百分之百的方式模拟机台的运作,使你就好像在玩真正的大型机台一样 - 完整的画面,完美的音效。

在 MAME 中,rom images 是个十分重要的部分,也是很“大”的一部分,当然也是争议很多的部分,它小至 2KB,大至 75MB,总共超过 3GB,它们都已在网路上流传,只要有心都可以顺利取得。关于 rom 的正确和完整,可以利用专用的管理工具,如 ClrMAMEPro 或 RomCenter,运用它们也是 MAME 使用者所必备的技能,但如果你本身有特殊的方式(?)那就例外了。

你不需要很强大的电脑,当然也不能太差,这一二年内的推出的主流规格都应该可以应付,不过还是要看所执行的游戏为何。MAME 是属于开放性质,因此有许多跨平台的移植版本,像是 Amiga、Macintosh、Linux、Unix 等等,如果你是使用 MS Windows 系统,可选用的版本更多,也有多国语系,国内也有同好推出中文繁体的 MAME32,可以多加利用。假如你想要,也可以妆Ρπ编译专属的 MAME。

几乎每个月就会有一个新的 M.A.M.E. 释出,更多的游戏,更完整的模拟。假如你想要更进一步了解这个模拟器,你应该参观它的首页:http://www.mame.net/

MAME32 Overview & History
MAME32 是一个模拟器。简单来说,它允许你用一台 PC 来模仿自1975到2000年之间,众多的大型电玩机器内部硬体。结合由那些大型电玩机器内取出的原始软体,MAME32 可以在 PC 上显示和试玩这些游戏,让取出的软体以为它仍在原始的机台中运作。MAME32 是 MAME 的图形介面版本,它有着引人注目和文雅且生动的介面,让使用者可以不用输入命令列参数,虽然它仍然可以使用它们,例如“MAME32.exe dkong -r 1024x768x32 -refresh 85 -effect sharp”。但通常只须要简单的按一下游戏图示就好了。

1997.02.05 - 一开始,义大利的程式设计师和电玩保存者, Nicola Salmoria,结合了他个人的游戏模拟器到一个 DOS-based 的多游戏模拟器 - MAME,它在1997年2月5日被释出。从原始码被释出至今,有很多人贡献出新的驱动,越来越多的游戏被加入支援。多年后,驱动的贡献者已多达上百人,而且还继续在增加中。

1997.08 - MAME32 是第一个以 Microsoft Windows 为平台的版本。它最初出现在1997年8月,加入了图形使用者介面并且转换了相当多的新程式码到 Win32。它历经 Jeff Miller、Chris Kirmse、Michael Soderstrom 和 Mike Haaland 等人的持续维护。在过去的四年中,MAME32 总会在 MAME DOS 释出之后的几天到几周内跟着释出。

2001.05.24 - 随着 DOS 逐渐被淘汰,DOS-based MAME 的作者转移它,成为 Microsoft Windows 平台命令列方式的应用程式。和 MAMEDOS 发展相似,它是要在命令提示字元中输入指令,而没有图形介面。多数人直接试着按二下执行它,但只会看到一个命令提示视窗出现然后消失。它原名称叫 MAME[w],它现在仅是个单纯的 MAME。

2001.07.24 - MAME32 的重新设置,用友善的图形介面转移新的 MAME Windows 引擎。 MAME32 目前由三人小组维护,并跟随在 MAME[w] 之后释出。

(MAME32 Overview & History 取自 MAME32 说明档 - mame32.chm)

gaoshou123 2005-10-24 00:03
安装 MAME32
在新版本推出时,你可以到 http://www.mame.net/ 取得,但是 它所释出的原版本并没有方便的使用者介面,而是指令式的,你必须下达正确的参数才能正常执行。在新版释出的几天内,各衍生版都会跟着推出新的 MAME,这里选用 MAME32,并不是因为它功能强大或是有特殊能力,纯粹是方便而已,MAME32 包含所有的基础,在你能顺利运作它后,相信你应该也有能力去使用其它含有更多功能的 MAME 衍生版。

执行 MAME32 的基本需求

Microsoft Windows 95/98/ME, Windows NT, Windows 2000 和 Windows XP (NT4 使用者需要 SP4 以上版本)。

DirectX 3.0 以上版本(建议使用最新版本,你可以到 DirectX 下载)。

假如你没有升级到 IE4 或以上版本,你需要 common controls update,否则你使用 Properties 或 Options 时会发生 property sheet errors。

至少 Pentium 等级以上的 CPU 和 64MB 记忆体。

由于支援的游戏硬体范围很广,所以系统需求各不相同。早期的游戏 - 大概是1984年之前 - 可以在 Pentium 等级和 64MB 记忆体下执行,不过许多复杂的原始机台硬体,要更强的 CPU 来模拟。最近的游戏有时要 512MB 以上的记忆体和 AMD 1900 XP / Pentium 4 才能以100%的速度效果来模拟。对 MAME32 最有用的是更新 CPU,再来是加大记忆体,最后才是升级显示卡。

取得及安装

你可以连到 MAME32QA 网站取得最新的版本,它应该是 Zip 档,你必须准备解压缩程式(如:WinZip 或 WinRAR),将取得的档案安装/解压缩到适当的目录内。如果你想要取得旧版的 MAME32,可以到 MAME32QA 网站 的 Old News 寻找旧版的下载位址。

MAME32QA 是 MAME32 的新家,它是正式、有授权许可的,同时也得到 MameDEV 认可。MAME32 目前主要是由 Chris Kirmse - MAME32 原始作者、Mike Haaland - 图形介面设计师和 John IV - MAME32QA 站长,三人共同开发维护。这个站台除了追踪记录 Mame32 的 bugs、释出 WIP (Work-In-Progress) 更新资讯之外,也同时提供官方正式的附加档案 (artwork):icons、screenshots、cabinets 和 background。MAME32 网站 是旧的官方网站。

当解压缩完成后,应该有下列的目录结构:

artwork
某些游戏的背景图档

bkground
MAME32 主视窗的背景图

cabinets
大型机台机体的图片

cfg
游戏设定的组态档

cpanel
机台控制面板的图片

ctrlr
放置游戏控制器的自订控制配置

diff
存放“Hard Drive Difference”档

docs
放置 MAME[w] 的相关文件,MAME32 已整合到 mame32.chm

folders
Folder List 的分类资料档

flyers
游戏的广告海报或宣传刊物

hi
最高得分纪录 (Hi score)

icons
放置 MAME32 介面显示的游戏图示

ini
放置 mame32.ini 或个别游戏、系统的 INI 档

inp
录制的游戏影像

marquees
大型机台机体上头的横向标题

memcard
游戏记忆卡(仅用于 NeoGeo)

nvram
某些游戏的 Nvram 档,用以存放系统设定

roms
游戏的 rom (最好是 Zip 档形式)

samples
某些游戏的声音样本档

snap
存放游戏抓图和预览图片

sta
游戏进度即时记录档

titles
存放游戏标题的预览图片



关于 Actwork、Samples、Cabinets、Flyers、Hiscore、Icons、sanp、bkground 和 Titles、CPanels 等的附加档案,请参阅 附加档案。
关于记忆卡的使用,请参阅 游戏设定选单。
关于游戏进度即时记录的使用,请参阅 游戏控制器和热键。
关于 ctrlr 的控制配置方法,请参阅 游戏控制器和热键。
关于 diff。用来存放 Hard Drive Difference 档案。MAME 现在支援硬碟储存媒介的游戏,它使用 DiskImage (硬碟映像档)来取代硬碟,但原始机台中,硬碟在游戏时会写回有变动资料,这个动作会变更原始 DiskImage 的资料结构。而 diff 的功用就是用来存放这些在读写硬碟时所产生的差异档案资料,以便代替直接写入 DiskImage,而维持 DiskImage 的原始资料结构。

基本的安装就是这么简单,不过就是解压缩罢了,接下来你可以执行 mame32.exe,进行模拟器的设定...

升级 MAME

假如你原本就有 MAME32,要升级它,可以将新的 MAME32 解到相同目录下,直接覆盖旧档案,就完成升级的动作。

不同种类的 MAME 衍生版本,因为有妆Ρπ加入的功能或介面设计不同,而目录结构有些不同,若怕混淆就不要放同一目录下。

新版 MAME 所使用的 romset 和旧版相比,可能有所差异,请留意更新。请参阅 Rom概述。

gaoshou123 2005-10-24 00:03
开始动手
执行 mame32.exe 后,你会看如下的画面:



一开始还是先熟悉一下使用介面吧。

主功能表 (Menu):功能选单,下面有细详说明。

工具列 (Toolbar):切换视窗显示方式和切换游戏列表检视方式。最后两个是 About 视窗和说明视窗。

状态列 (Status Bar):显示游戏名称、游戏状态和目前所选分类的游戏数目。

主视窗中间由左而右有三个视框,介面都是基本的 Windows 操作方式。

Folder List:为游戏作简单的分类,你可以选取想要的分类观看。 MAME32 在0.61版后加入了更详细的分类 - [BIOS]、[Classification]、[Custom] 等等,这些分类资料放至在 Folders 目录中,可以用记事本开来看看。

Game List:游戏列表,会依你所选的分类而显示。 当以详细资料 (Details) 方式检视时,你可以看到更多的关于游戏的资讯,像是年份 (Year)、样本档 (Sample) 等等。
显示的“预设”游戏图示有以下五种: (这是程式预设的,如果不是以下图示,则可能是你使用了 ICONS 目录下的图示,要恢复预设的,删除它即可)

(Working):可以正常模拟的游戏 (Parent) 。

(Working):可以正常模拟的游戏 (Clone)。

(Not Working): 尚无法运作的游戏。

(ROMs missing):未拥有,缺少的游戏。

(Unknown):未知的游戏,通常出现在游戏未被搜寻之前。

Screen Shot:显示游戏抓图,就是预览图,会显示 Sanp 目录下和游戏同档名的图片,如果你有 Flyers、Cabinets、Marquees,也会显示在这里,在 Screen Shot 按滑鼠右键可以查看和选取想要的显示项目,也可以按滑鼠左键直接切换,请参阅 附加档案。

MAME32 对于 Folder List 的分类提供了相当自由的功能,你可以自订新分类、将游戏加入分类中,只要修改新增 Folders 中的资料。在任何游戏名称上按右键,你可以将选定的游戏加入可自订的分类 (Add to Custom Folder ),在这些分类的 Game List 上按右键你还可以加入子分类,假如 MAME32 无法记录你加入的游戏,请查看 Folders 中的档案是否设成为唯读属性。当然如果你想要,可以直接做编辑 Folders 中的档案,它们都是纯文字的。

注意:MAME32 寻找游戏时,会对游戏所需的档案作检验,若 rom 不完整,则不会显示为 Working。所以请先确定 rom 的正确和完整。

功能选单
MAME32 并没有附加其它功能,可以说它只是单纯提供一个视窗介面,以方便使用,其它和原 MAME 都相同,因此选单并不复杂。

File: Play <游戏名称>
执行选定的游戏

Play and Record Input...
执行游戏并同时录制影像成动画档 (.inp)

Playback Input...
播放已录制的动画档 (.inp)

Select Random Game
让 MAME32 随机选定一个游戏

Properties
订定的游戏的个别设定

Audit all games
详细检查每一个 rom 和 sample,并列出它的问题

Exit
结束 MAME32




比较重要的应该是影像的录制功能,功能就像是录影机。你必须有和录制时用的相同游戏 romset,才能播放己录制的影像,所以假如游戏的 romset 内容有变动,你应该找寻正确的 romset 和适用的 MAME 版本。

关于 Properties,它和后面要提的 Defauts Game Options 设定相同,只是这为选定的游戏的个别设定,它会取代预设的设定,这方面在 模拟器设定 有解说。
Audit all games 可以完整的检查一遍你所有拥有的 rom,建议还是用 rom 管理工具来处理,毕竟功能较强较完整。

View: Refresh
重新搜寻所有的游戏

Custom Filters...
订定游戏显示的筛选方式

Customize Fields...
订定要显示/隐藏的栏位




Custom Filter 可以帮你快速的筛选出想要的游戏,它提供了七个选项,核选后可以隐藏符合规定的游戏,如此你可以为 Folder List 中的各个资料夹设置个别的设定,例如不想显示尚未完成模拟,还不能玩的游戏,可以勾选“Non-Working”。此外,你还可以在“Description filter”可输入想要的文字,MAME32 会寻找名称内含有它的游戏,将它显示出来,这会应用到 Folder List 所有的分类资料夹中,如果想取消,只要将文字清除再 OK 就可以了。

Grouped 可以将游戏以 Parent 和它的 Clone 分组显示。View 其它的选项都是基本的视窗显示设定,可妆Ρπ选择想要的方式。

Options: Game List Font...
选择游戏列表的显示字型

Game List Clone Color...
Clone 游戏名称的文字颜色

Directories...
设定 MAME32 各个目录的路径

Default Game Options...
预设的游戏设定,它会套用到所有游戏

Reset to Default...
将游戏设定回复为程式预设值

Interface Options...
启动和一些特殊选项

Background Image...
选取背景图

Language...
选取语系档




设定 Directories 是必须先完成的,尤其是 ROMs,执行 MAME32 后,请先将你的路径设好。
Default Game Options 的设定是所有游戏的预设值,如果你要设定个别游戏,可以在 Properties 中设定,当你在执行这个游戏时,它会优先使用 Properties 的组态。关于 Default Game Options 在 模拟器设定 会再进一步说明。

Interface Options。
MAME32 有五个启动选项,启动时扫瞄游戏档 (Search for new games)、随机选取背景图 (Select random background image)、传送 MAME32 正在执行那个游戏的资讯给其他在等候讯息的程式,像是讯息接收器或监视灯号列之类 (Broadcast selected game to all windows)、 全荧幕时,隐藏滑鼠指标 (Hide mouse cursor)、循环秀图(Cycle Screenshot)、允许用摇杆控制 MAME32 使用者介面的操作 (Allow game selection with joystick),预设对映的键盘按键如下。

joystick 1 up = up arrow ↑

joystick 1 down = down arrow ↓

joystick 1 left = left arrow ←

joystick 1 right = right arrow →

joystick 1 button 1 = Play game

joystick 1 button 2 = Page Up

joystick 1 button 5 = Page Down

joystick 1 button 3 = End

joystick 1 button 6 = Home

由于 MAME32 现在对游戏做较详细的核对,所以会花费很多时间,你可以关闭 Search for new games,需要时再行搜寻。另外三个选项是游戏中的项目,跳过版权警告画面 (Skip disclaimer)、跳过游戏资讯画面 (Skip game info)、执行高优先权 (High thread priority)。

Language 应该是更换语系,似乎是对游戏设定选单 (in-game menus) 做翻译,但由于缺乏正确资料,始终无法确定其功能。

Help:

Contents
显示说明档

Troubleshooting
疑难解答

New Game Changes
新增游戏

Mame Release Notes
更新资讯

About
关于 MAME 的作者、版本等资讯



MAME32 已将 support.htm、whatsnew.txt 和 windows.txt 等档案并入 mame32.chm,它需要和 mame32.exe 放在一起。

开始一个游戏
MAME 好比一部多功能的电玩主机,你必须插入游戏卡匣或光碟,所冶Ρ﹁要准备 romset,以供 MAME 模拟,如果你对 rom 不是很了解,可以先看看 Rom 概述。让我们先试试看 MAME32 是否可以正常运作,先准备好 rom,请先用管理工具确定它的完整,如果是 Clone,请同时准备好 Parent 档,有些游戏还需要 BIOS 档。

一开始先设定 Directories 的 ROMs 路径,将准备好的游戏档放到路径目录中,游戏档最好是 Zip 档。

执行 MAME32,按下 F5 重新整理游戏列表,再选择游戏,按二下或者用 Play <游戏名称>。


接着进入模拟画面,你会看到一个警告画面,“假如你没有这个游戏的合法使用权,请按 Esc 离开,否则按 OK”,如果你要玩当然是 OK 了,记住是按下“O”键再按下“K”键,或是动一动你的摇杆。接着你会看到游戏系统资讯画面,按任意一个键继续。有时又是个警告画面,告诉你游戏已知的问题,如果你仍想尝试,一样 OK 继续。


最后进入游戏,视不同基板驱动,有不同的情况,等到游戏画面出现就可以投币,然后开始 Play。

如果没有奇怪的问题,恭喜你,你的电脑应该可以执行 MAME32,接下来就是进一步的设定。

假如是 rom 的问题,在载入时,MAME32 应会先发出警告,解决方法请参考 Rom 概述。

假如你看到一连串杂乱的色彩或者古怪的文字如 Coins、ROMs、RAM 等等,请多等一会儿,游戏正在做硬体检测。

假如载入后什么动静都没有,请换个游戏,有些驱动的游戏需要用特殊方法才能进入游戏画面。

假如是进入后没有画面或妆Ρπ跳出 MAME32,可以试着变换设定 (参考 疑难解答),但也可能是 MAME32 本身的 Bug,请换用其它的非官方的 MAME 版本或更新 MAME32,最后可能是电脑配备的问题。

命令列的执行方式
你也可以和 MAME[w] 一样用指令方式执行 MAME32,这通常使用在“捷径”上,你可以在 windows.txt 文件中找到所能应用的参数。
先建立一个 mame32.exe 的捷径,再进入内容设定:“C:\Mame32\mame32.exe 1943 -rompath D:\mame\roms -joystick -sound”。
最佳的方式是先用“mame32 -cc”建立 mame32.ini 档,在里面设定组态,设好 rom 路径,开启摇捍音效等,即可简略捷径内容设定为“C:\Mame32\mame32.exe 1943”。之后你只要按二下这捷径就可以直接进入游戏。

INI 目录可以放置个别系统 (driver) 或个别游戏 (parent set 或 clone set) 的 INI 档,就是个别设定,这些设定值 MAME32 是存放在 Windows 的登录档中,你要使用 ini 档要用命令方式列执行。个别游戏的 INI 档案,其内容设定和 mame32.ini 相同,直接复制一份再改其设定就可以了,像是 neogeo.ini 或 kof99n.ini,MAME 会优先读取 kof99n.ini,没有则读取 parent set 的 kof99.ini,再来是neogeo.ini ,最后才是 mame32.ini,执行游戏时加上参数“-verbose”可以得到更多的资讯。因为本文着重于视窗介面的使用,所以不在此深入讨论。

关于游戏的模拟
MAME 在模拟游戏时,会有大大小小的问题发生,常是起因于模拟驱动 (driver) 的错误,简单地说就是 MAME 本身的 BUG。你可以到“MAME Testers”网站找到更多的资讯。

MAME 测试计画创建于1999年,顾名思义是为了协助 MAME 小组纪录每个新释出版本的任何驱动上的损坏,在这之前,MAME 小组为了要找寻新版的问题必须要到各讨论区中观看讯息留言,这很容易会遗漏些问题。借由这个计画,让具有经验的 MAME 使用者在每个新版释出时,完整地测试游戏,这将确保 MAME 小组能取得快速且准确的错误回报 (从那些知道游戏正确运作状况的人),这可以节省收集和调查错误回报的时间,尤其是在筛选经验不足者的问题回报和冷门游戏的错误测试上。

这个计画目前只测试 MAME 的 Win32 版本。当然了,它不代表这些错误回报不适用于其它版本的 MAME,一般而言,Win32 MAME 的问题还是会影响其他种类的版本。为了避免回报因特殊平台核心所产生的问题,它们还是应该直接交由个别作者处理,假如是 MAME32 的问题,可以到 Official MAME32 QA Site 查看。

MAME Testers 成员并非程式设计师,就如同他们所言,他们只是提供 MAME 小组一个方便的管道,属于整个模拟世界的一小部份,他们只是单纯的‘MAME Testers’。

gaoshou123 2005-10-24 00:04
模拟器设定
MAME32 提供了便利的介面,让你能快速的设定模拟器最重要的三个部份 -- 显示、声音和控制。在进入游戏后,可以叫出游戏设定选单 (详见 游戏设定选单),进一步地设定游戏的控制。不同版本的 MAME 通常就是细部设定有点差异,但也大同小异,视它的附加功能而有所不同。虽然 MAME32 也提供参数选项,但在这不讨论,有兴趣可以到 MAME - Documents 阅读 windows.txt。

组态视窗

MAME32 的组态视窗有二个,一个是 File → Properties,这是设定个别游戏的;另一个是 Options → Default Game Options,这能设定所有游戏的预设值。

Default Game Options

Display

Advanced

Direct3D

Sound

Controllers

Miscellaneous

Vector

Properties

General

Audit

...

Default Game Options

让我们先完成 Default Game Options 的部份。当你进入 Default Game Options 后你应该可以看到下列的画面,依序介绍:

◇ Display



Run in a window
以视窗模式执行游戏。你可以用拖曳方式改变大小,也可以在 Advanced 设定大小 (Resolution - Size)。通常以全荧幕方式执行会较顺畅。

Start out maximized
使用视窗模式时,会尽可能的把视窗缩放到最大, 此时,Advanced - Resolution - Size 最好设为 Auto。

Enforce aspect ratio
在画面显示时,强制长宽比要保持在一定的比值,例如保持在 4:3。DDraw 会使用到 Advanced - Aspect ratio 的数值。

Throttle
启用 MAME 内建的速度自动调节功能 (speed throttle),用来避免游戏跑得太快。开启时,会将画面限制在内定的 FPS (游戏中按 F11,可观看数值);关闭它,MAME 会依硬体效能来全速执行。

Clean stretch
使用 4:3 的长宽比率来等比例的扩展 (Stretch) 画面,若同时使用 Enforce aspect ratio 则长宽比率会改用原始输出的。在 DDraw 中须配合 Stretch using hardware 使用,且会忽略 Aspect Ratio 的值。这可以避免画面的扭曲,但可能无法将画面填满整个荧幕。可选择只对长度 (vertical) 或宽度 (horizontal) 做拉伸。

Zoom
MAME 在显示画面时,会自动选用最近似的解析度,Zoom 会将原机台的解析度乘上设定的倍数,MAME 再冶Ρβ的数值找出最接近且能够使用的显示器解析度,这视显示硬体而有所不同。若倍数过大,则会自动使用最大的可用解析度。相关选项:
使用时,Advanced - Resolution - Size 项目要设为 Auto。
若用 DDraw 则还需要同时开启 Stretch using hardware 和 Switch resolutions to fit 选项。
要考虑长宽比的影响,即是 Enforce aspect ratio 和 Clean stretch 是否使用。

Rotation
能旋转画面 - 上下/左右方向对调,也能拉伸画面。假如你的显示器是可翻转的,这会很有用。预设值 (Default) 会自动对部份游戏做翻转,像是纵向射击游戏。

Effects
加入一些效果 (scanline 和 monitor mask),可以让游戏画面看起来更像真的大型机台,甚至加快速度。而且这有助于输出更佳的画面到低解析度机器 (如:TV) 上。使用 D3D 时,会忽略这个选项。“Use scanlines”是指定使用早期 MAME 的扫瞄线效果,使用时要关闭 Stretch using hardware,它可以和其它的 Effects 项目一起使用。

Gamma correction
调整影像输出的 Gamma 值,Gamma 值越高,显示器的亮度越高。在玩向量 (vector) 游戏时,将数值调高会很有帮助。

Brightness correction
调整游戏整体色盘的亮度,可以在99%的游戏工作,部份直接输出 RGB 的游戏则无法作用。

Pause brightness
调整将游戏暂停时的画面亮度。


◇ Advanced



Use DirectDraw
使用 DirectDraw。现在几乎所有的显示卡都支援 DirectX,假如你要关闭它,将无法使用 DDraw 所提供的相关功能。

Triple buffering
三重缓冲。假如你的显示卡能支援,使用多个绘图缓冲区,可以使绘图处理更快更流畅。主要是避免直接绘制画面所造成的闪烁现象。

Match game refresh rate*
强制改变荧幕的更新频率以符合游戏的原始设计,例如游戏是跑 57fps,那你有 60、70、75Hz 三种模式,MAME 将使用 60Hz;跑 61fps,则是用 70Hz。这只在全荧幕下有作用。

Sync to monitor refresh*
忽略游戏原始的画面更新率,利用去除 (或重复) 画面的方式配合荧幕的更新频率。例如荧幕是 70Hz,而游戏只有 57fps,为配合荧幕,MAME 会重复绘制13个游戏画面来补足,成为 70fps。使用时,须同时开启 Display 的 Throttle。这会加重系统负荷,让游戏运行变慢。

Wait for vertical sync*
等到荧幕更新周期结束,才开始绘制画面,使游戏画面绘制能配合荧幕画面的更新周期。可以解决画面碎裂和不流畅的问题 (常发生在画面的顶端和底部),但你要有更好的配备。

Stretch using hardware
使用硬体方式扩展游戏画面。它会使用 Aspect Ratio 设定的长宽比 (预设为 4:3) 来扩展。这能将画面缩放成全荧幕大小,若显示成灰色,表示你的显示卡不支援或是需要切换为 16bpp 或 32bpp。

Switch resolutions to fit
使用 Resolution 定义的解析度,否则使用目前系统的设定值。

Switch color depths to fit
使用 Resolution 定义的颜色数,否则使用目前系统的设定值。

Full screen brightness*
调整游戏画面的亮度。这和 Gamma 不同,它指的是整体画面的亮度。有些显示卡在跑全荧幕时会太亮/太暗,这时就可以使用它 (或用 Gamma) 来做修正。

Aspect ratio
设定显示器的长宽比。电脑荧幕和一般电视通常是 4:3。使用高解析度时,像 1280x1024 以上,可以调为 5:4。须同时开启 Enforce aspect ratio。

Resolution
定义游戏运行时的荧幕解析度、颜色数和更新频率。只有开启 DDraw 或 D3D 才能自动切换 (Auto)。

Frame skipping
在12格画面中跳过你所设的数量,如设2,则12格画面只绘制10格,以加快速度。假如你的游戏跑的太慢,可以改变它。


附注:在 Use DirectDraw 中,有“ *” 者,也可以在 D3D 下作用。剩余的 DDraw 项目不必选择, D3D 内定开启。

分析:(关于 Display 和 Advanced 的设定)

说在前面,一个比喻,有一张 800x600 的白纸,然后有一张 384x224 的图,要把图画到白纸上,但大小不合。此时,你可以有多种选择:把原图直接画上 -- 这会太小;把图画满白纸 -- 因长宽比不合,这会造成扭曲失真;把图依比例放大 -- 因比率不同,将会留下白边。白纸就是指荧幕,但大小不是指尺寸,是指解析度,可绘制的图点数;而那张图就是输出的游戏画面。以下所提到的,用这个比喻差可比拟。

原始机台的资讯,可以查看各游戏的 General。
模拟器文件的解析度、颜色数、更新率等等的名称,通常有二种意思: 一个是指模拟器在绘制画面的大小和速度,也就是“ 绘图核心”的输出。另一个就是荧幕/显示器 (显示卡输出) 本身的“硬体功能”,或者说是“Windows 显示桌面”,因为这部份主要是透过 Windows 来控制,可以在控制台 \ 显示中更改。

画面大小相关选项的次序。在全荧幕的情况下 (注3),
首先是 Zoom,它会将原始输出的画面放大,例如:area88 是 384x224,Zoom 调2,则变为 768x448,因此,会影响到荧幕解析度的选取。接着将 Resolution - Size 和 Switch resolutions to fit,设为自动 (Auto) 和开启,让 MAME 能根据 Zoom 的画面大小,自动切换适合荧幕解析度。最后要使用 Stretch Using Hardware 扩展画面 (注1),此时要考虑如何缩放画面。在使用 DDraw 时,以上三个选项要开启,Zoom 才有作用。

第一个考虑的是 Enforce aspect ratio,它会使用 Aspect ratio 的数值;关闭 Enforce aspect ratio 则会用预设的 4:3 来处理。它会根据设定的比率和选定的荧幕解析度来计算画面大小。 第二个是 Clean stretch,维持画面的比例,它会使用 4:3 来计算画面大小,这点和上一个所提到的功能类似,但特殊的是,同时开启 Enforce aspect ratio 时,它反而会使用原始输出的比率来计算,如 area88 是 384:224,同时它还可以选择只限制长度 (vertical) 或宽度 (horizontal)。

结论,
主要是荧幕解析度和画面输出大小的问题。由于显示器规格大小的关系,预设都是使用 4:3,如果荧幕解析度不是 4:3,那就无法扩大到全荧幕。而使用 Clean stretch 加 Enforce aspect ratio,要恰好为全荧幕大小,那就更难了,如果真的想要全画面,那试着将荧幕解析度强制设为 4:3,像是 400x300 或 800x600,但这也会使得 Zoom 无法作用。

另外,垂直的纵向游戏,预设会自动翻转 (Rotation),因为原始机台荧幕是直放的,但你的荧幕通常是撗摆的,而画面大小计算会受影响,是因为画面长宽翻转,但荧幕解析度不会翻转。再者,若确定已经扩展为全荧幕,却仍有小黑边,又或者是画面会左右偏移,这是显示器的问题,因为荧幕解析度被改变了,调一调显示器的左右和缩放控制钮,也可以试着强制改变荧幕更新频率 (Resolution - Refresh),改变更新频率要注意荧幕是否能接受。

最后,MAME32 选项元件的放置现在感觉有点凌乱,不知道作者们何时有空能修改。主要分为独立选项 (不一定要开启 DDraw 或 D3D)、DDraw、D3D 三大类,现在只能由使用者们妆Ρπ判断。


--------------------------------------------------------------------------------

注 1:为何需要放大画面?
大多数早期大型电玩的显示模式,与我们现在的显示驱动程式所能提供的荧幕解析度不同,所以 MAME 采用近似的方式去处理。举个例子,area88,它画面大小实际上是384x224,最接近的 DirectX 显示模式是 400x300,所以多出来的部份你将会看不到东西 (显示为黑色),这也就是为什么没办法缩放到和荧幕同样大小,总是会有黑边。解决方法,是使用 MAME 的“硬体扩展 (Stretch Using Hardware)”功能,但它需要显示卡支援;如果显示卡没支援,可以使用有“软体扩展”功能的非官方 MAME 版本。

注 2:Effects 功能和去除显示卡自动的过滤效果?
MAME32 是使用 mame[w] (WIN32 版) 核心,这表示它会试着使用预设的 4:3 的长宽比,来扩展你的游戏画面,但有些显示卡硬体功能不佳或者自动使用过滤效果 (filiter),会让游戏看起来有点脏或有点模糊。假如你不想要扩展之后所带来的过滤效果,你可以关闭这扩展功能或者使用 Effects 项目的“RGB sharp”来限制它的使用;你也能使用固定的scanlines 效果(如:25% scanlines),以便在硬体扩展功能不佳的状况下,提高清晰度。想要更了解 Effects 的显示模式,可以参考 MAME FAQ 0.64wip 版的 S11、S12。

注 3:使用全荧幕,还是视窗模式,其执行游戏有不同的效用。 提示:

全荧幕模式:是独占 (exclusive) 的全荧幕视窗 (fullscreen),允许改变目前 Windows 显示桌面所使用解析度、颜色数、荧幕更新率。注意硬体功能是否能配合,这大概要看看显示卡的说明书以及显示卡驱动程式的支援程度。

视窗模式:需要配合桌面的解析度、颜色数、荧幕更新率。除了模拟器的画面大小可以自订,颜色数、荧幕更新率都是使用桌面的设定,虽然技巧上 (编写程式) 模拟器是可以去改变它 (就像你到控制台改变它一样),但这会反映到整个桌面,而影响到其他程式,不建议,除非必要,应使用全荧幕。

注 4:问题:

荧幕解析度/画面大小:全荧幕常见到画面被截断或是缩得太小,是因为解析度不合,试着动手更改或使用扩展功能来解决。

颜色数:画面会有色调模糊或混乱,通常是因为荧幕颜色数不适当,若模拟器无法妆Ρπ切换,试着自己动手更改。

更新率:画面更新率就是画面绘制速率 FPS (frame per second),除了速度外,通常是和显示器的荧幕更新频率之间有关系,假如两者设定不同步时,例如:FPS 固定为60而 Refresh Rate 为 85Hz,可能会使画面出现碎块破裂或者感觉停顿不顺畅,这就是两者不协调所产生的情况,试着使用 Triple Buffering、Wait For Vertical Sync 或 Sync To Monitor Refresh、Match Game Refresh Rate 等等方式来解决。

◇ Direct3D



Use Direct3D
使用 Direct3D 的功能,开启后,它会相对取代 Advanced 的 DirectDraw 设定。D3D 较依赖硬体功能,所冶Ρβ的显示卡也许会有较好的处理速度;但是相对的,旧显示卡也可能会出现问题。MAME 内部的 Direct3D 核心目前 (0.69) 还有些问题,像是 Rolling Thunder 的标题画面、Hard Drivin' 的仪表板、Puyo Puyo 标题画面的光栅效果等等,假如在游戏中发生问题,试着把 Direct3D 关闭。

Texture Management
材质管理。预设是开启,这可能可以为 MAME 带来较好的相容性。若使用 D3D 的 Effect 或 Filter 时,觉得速度变慢,可以试着关闭它。

Rotate effects
转换 Effect 选项效果的座标定位,例如:执行垂直卷动游戏时,将扫瞄线由水平改为垂直 (就像是19XX,这款“荧幕直放”的射击游戏机台)。

Filiter
扩展画面时,要使用的插补演算法。处理速度最快的应该是 bi-linear,其它的要视显示卡和其驱动程式而定。

Effect
作用和 Display - Effects 相同,并新增一些项目,这里的设定只在 D3D 模组中作用。

Prescale
相当于 Display - Effects 选项的 RGB sharp,可以使画面较为锐利 (sharpness)。可调整效果强度。

Scanlines
扫瞄线的亮度。须先在 Effect 中设定使用 Scanlines 25/50/75%。

Feedback
借由保留前一个画面的图像,以模拟电视萤光幕影像残留的效果,可调整效果 (前一个画面的残像) 的强弱。


◇ Sound



Enable sound and sound CPUs
开启/关闭声音。有时关闭它可以增加执行效能,如果你有需要的话。不过,有些游戏一定要开启声音。

Use samples
使用声音样本档,关于它请参阅 附加档案。

Resample If samplerate does not match
假如取样频率不合,则重新取样。用以确保游戏有正确的声音品质。因为原始机台的取样率不一定和 MAME 的设定值相同,所以要重新计算再取样,但声音也许会变得有点生硬。

Samplerate
选取取样频率,这会影响到音质。较低的取样频率可以增加执行效能。

Volume attenuation
设定初始声音的衰减值。 Attenuation 在这里是指声音输出的信号强度,其实就是调整音量大小。单位是 dB (分贝)。

Audio latency
预设上,MAME 会试着将声音串流 (audio streaming) 资料保持在整个 DirectSound 声音缓冲区的 1/5 和 2/5 之间。在一些系统中,资料存量太低,有时会得到粗劣的声音。这个选项能调整限制门槛,以提高缓冲的使用,在较快的机器上增加 (向右) 这个值,也许能减少不同步和杂乱的声音。

预设为 1,意谓着下限为 1/5,而上限为 2/5
设为 2,维持资料为全部缓冲的 2/5 和 3/5 之间
设为 3,维持资料为全部缓冲的 3/5 和 4/5 之间
假如加到 4,这可能会造成明显地延迟,缓冲区必须随时保持在 4/5 和全满之间。

数位延迟 (latency) 是指 (声音) 串流讯号在传递转换的过程中所花费的时间 (例如记忆体到音效卡)。


◇ Controllers



Enable joystick input
使用摇杆控制。找寻摇杆时,会从 ID#1 开始,请在你的控制台中设好它。

Analog joystick deadzone
调整数位输入转换为类比讯号的最小感应值。控制数位输入转换为游戏所需之类比输入的精确度。

Enable mouse input
使用滑鼠或类似装置,通常是用来控制轨迹球游戏。

Enable lightgun input
使用光线枪。支援 ACT LABS - PC USB Light Gun。

Enable steadykey support
让你可以同时作用多个键盘按钮,这在格斗游戏的大招式常用到,就是可以同时按下 A,B,C 三个按钮(=A+B+C),否则只会依序作用。因为键盘有先天的限制,一次只会处理一个键值。

Default input layout
预设控制配置。一般都用 Standard。HotRod/HotRod SE、SlikStik 和 XArcade 是类似大型机台的摇杆。它们的设定放在 ctrlr 目录中。你也可以自订控制器的 INI 档,参阅 游戏控制器和热键。


◇ Miscellaneous



Use additional game artwork
使用 Artwork,关于它请参阅 附加档案。有三种类型:背景 (backdrop)、边框 (Bezel)、遮幕 (overlay)。

Artwork resolution
Artwork 的解析度,自动 (Auto)/标准 (Standard)/高 (High)。大多数的 artwork 都有很高的解析度,但为了协调相容和保持画面的一致性,MAME 在大部份的状况下都必须减低解析度。

Crop artwork
剪裁 Artwork 以配合游戏画面的使用。

BIOS
用来切换不同的 BIOS 版本,前提是必须拥有这些 BIOS rom。例如 NEOGEO 的游戏。

Enable keyboard LEDs as game indicator
使用键盘上的指示灯来模拟游戏机台的灯号,像是游戏的煞车灯,投钱币时的显示灯。

Enable game cheats
使用 Cheat,关于它请参阅 游戏密码。

Use less CPU time when possible
当 MAME 不需要时,将多余 CPU 资源交还给系统利用。用于多工环境,方便其它程式在使用 MAME 的同时,仍可以继续执行工作。但较慢的配备,会影响 MAME 执行的效果,特别是笔记型电脑。

Use pre-0.63 timing system
使用0.63版之前的 Timing。假如整个系统变得很缓慢,请开启它,这通常发生在笔记型电脑或 K6/7 等级的机器上。

Error Log (for developers)
记录 MAME 非法存取记忆体的错误,并输出成记录档,方便开发者除错。


◇ Vector



Draw Antialiased Vectors
使用附加的反锯齿功能绘制向量线条。(以下各项目只用于向量游戏)

Draw Translucency Vectors
在交叉 (交会) 处,使用轻微的半透明和亮点绘制向量线条。

Beam Width
设定向量线条的光线宽度,加大它会绘制出较宽的向量线。

Flicker
模拟向量线条的光影闪烁。

Intensity
调整向量线条的亮度。


Properties

Properties 的设定内容和 Default Game Options 相同,但你在这所做的任何变动只会套用到个别游戏,在你第一次设定 Properties 之前,游戏会先以 Default Game Options 内的组态来执行。和 Default Game Options 不同的是,Properties 多了有两个关于游戏的资讯页,如下说明:

◇ General



有关这个游戏本身的资讯:

<Game Name> - 游戏名称

<Internal Name> - 内部名称,用于辨识

Manufactured - 制作年份和厂商

Status - 模拟情况,可玩/不可玩

CPU - 中央处理器种类

Sound - 声音处理器种类

Screen - 所使用荧幕解析度与更新频率

Colors - 所使用的颜色数

Source - 所使用的游戏驱动名称

Clone of - 所对映的原作 (parent)

◇ Audit



这里列出游戏档案的资讯,游戏名称、规定名称,还有 rom 和 Samlpe 的检查结果,如果有问题会列在 Details 视框中。

gaoshou123 2005-10-24 00:05
Rom 概述
Rom 虽然有许多争议(如它的非法性),但不可否认的,它是模拟器中很重要的一部份,了解它并学习维护它是每一个模拟器玩家所应具备的基本能力。

基本资讯

下图是越南大战3的 rom 结构,辨别 rom 的主要资讯,就是档案名称 (Name)、大小 (Size) 和 CRC32,以及 MD5、SHA1。


档案名称 (Name)

在不同的游戏 Zip 档中,rom 名称不尽相同,一般而言,它会包含游戏晶片、游戏名称等资讯。命名规则由 MAME 小组的开发成员订定,有时会因为加入新的晶片而改变它。他们提供了统一的名称,对于整理保存和使用,很有帮助。

大小 (Size)

Rom 的大小也很重要。问题的发生常常是因为在吸取 (dump) 过程中有错误,必须修改大小或重新吸取,以便能正常游戏。假如 MAME 回报 rom 有错误的大小,你应该要重新下载或者取得更新的 rom 版本。

CRC32 ( 32-bit)

CRC32 是辨识 rom 十分重要的资讯。一个 rom 如果有无效或错误的 CRC,你必须寻找正确的版本来使用。假如 MAME 告诉你有已知的“No Good Dump”,这表示你目前无法修正它,除非有新的 dump。

MD5 (128-bit)

尽管 CRC32 在档案传输中是非常有效的检验法,但仍会出现两个不同的 rom 有着相同 CRC 的情形,而 MD5 可以帮我们找出它们。而且,由于网路出现了一些伪造的 rom,无法以 CRC 判别,因此常用的 rom 管理工具 - ClrMAMEPro 在 2.66 版后,也开始加入了对 MD5 的检验。md5 码看起来就像这样:“ e00ad6bd1ee051094f6eb91f9172c904”。

SHA1(160-bit)

在 MAME 0.68 版,加入了新的验证方式 -- SHA1。和 MD5 类似,都是一种杂凑演算法,但 SHA1 可以提供较佳的功用。也因此 MAME 能更准确的判别 rom 是否正确,尤其现在 rom 的总数高 3、4 万个以上,CRC32 已经稍嫌不足,发生 CRC 值重复的可能性大增。而 ClrMAMEPro 在 2.90 版后,也开始加入了对 SHA1 的检验。SHA1 杂凑值:“ a257c556d31691068ed5c991f1fb2b51da4826db”。



Rom 整理

ROM 是“Read Only Memory (唯读记忆体)”的简称,这种记忆体 (Memory) 的内容在任何情况下都不会改变,电脑与使用者只能读取保存在里面的指令和使用储存在 ROM 的资料,但不能变更或存入资料。用 ROM 来作为储藏资料的媒介,除了大型电玩基板、家用游乐器和电脑之外,一般的家电用品也相当普遍。在一般常见的 ROM 类型,有半导体式的 ROM、光碟式的 CD-ROM 等。

由于技术进步,目前有许多新式的 ROM 出现,如 EPROM (Erasable Programmable Read-Only Memory ; 抹除式唯读记忆体) 和 EEPROM (Electrically Erasable Programmable Read-Only Memory ; 电子抹除式唯读记忆体)。两者都是一种非挥发性记忆体 (NVRAM),不需要电力来维持其内容,和传统 ROM 不同的是,它们可以用特定方式消除资料,并能重新写入新的资料 (EPROM 允许使用者以紫外线消除其中的资料,而 EEPROM 则以电子讯号直接消除),所以可以重复使用和减少成本,因此成为近来大型电动基板普遍采用的记忆体类型。

而模拟器所用的游戏 rom,就是 dumper 使用工具将 ROM 所存放的资料读出,转换储存为你所看到的档案,一般称为 rom-image,所以我们一般说的 rom 就是游戏资料,它包含了游戏的程式执行码、图像资料、保謢资料等等等,而模拟器就是执行游戏资料的虚拟硬体平台。由越南大战3的例子,你可以看出大型电玩的游戏档是由多个 rom-image 所组成,称为 romset,和家用主机一个游戏一个 rom 不太相同 (如任天堂、超任的游戏卡匣),当然这是因为大型电玩的容量通常不小,必须储存在多个 ROM 中。所以使用模拟器时,通常需将原始基板上的数个 rom 放在同一目录中或压成一个 Zip 档 。

为了要使 MAME 能顺利的执行游戏,检查你所拥有的 rom 是否合乎要求是一件必要的工作。如何确定所需 rom 的完整和正确,最好的方式就是用 rom 管理工具,像是 ClrMAMEPro 或 RomCenter,它能帮助你快速的检查档案,找出问题并尽可能的修正它们,尤其是当新版的 MAME 释出时,会有新加入的游戏,原本的游戏 romset 也可能会做部份更动。

在 MAME32 中,有提供检查功能 (Audit all roms),你可以利用它取得简单的资讯,像是缺档或 CRC 错误。Audit all roms 会用 MAME 本身的资料,去比对你 ROMs 路径中档案名称符合的游戏档,你也可以在列表中选取单一档案,使用 Alt + A,做单一档案的检查,然后在 Details 中检视检查结果,像是:

19xxj : 19xjx.03a 524288 bytes NO GOOD DUMP KNOWN
savagere: 059-v2.bin 2097152 bytes ROM NEEDS REDUMP

NOT FOUND:找不到这个 rom,你必须下载并加入档案中。
NO GOOD DUMP KNOWN:目前没有已知正确的 dump,现在可能是用假 rom (dummy rom ,用00充填的档案) 来顶替,游戏可能无法运作。
ROM NEEDS REDUMP:这个 rom 己知不正确,需等待重新 dump。现在只能使用损坏的 rom,所以游戏在模拟时,可能会有问题。
INCORRECT LENGTH:不正确的档案长度 (大小),通常代表你的 rom 不正确,最好重新下载。
INCORRECT CHECKSUM:CRC 不正确,重新下载。

上面列出几个错误讯息,你可以根据它做处理,例如到网路上搜寻下载缺少的档案 (你可以试着用 Google)。Sys2046 在新版 MAME 释出时,会提供更动部份的已修正 rom (不是新加入的游戏) 下载,免去你要重新抓取整个档案的麻烦。

强烈建议使用管理工具来整理你的 rom,它不只是可以用在 MAME,大多数的模拟器所需的 rom,都有人提供对应的资料档。学习它对你来说是有益而无害的,实在是没有任何理由排斥它,要更了解管理工具,可以看看它本身提供的说明文件。

顺便提一下,在大多数较正式的网站或讨论区中,询问有关 rom 下载的问题,常会引起其他人的反感甚至是敌意 - 在一个合法经营的网站,问一件不合法的事,本来就是十分缺乏常识的事。分享 rom 不是坏事,只是在你做这件事之前,请先了解一下网站的规定或习惯。至于金钱交易,总是有人想做无本生意,感觉有点悲哀,任何事和金钱扯上关系,都会变得丑陋。

Parent set (Main set) 和 Clone set

因为同一个游戏在发行一段时间后,游戏公司会视情况做修改,而产生版本上的不同,或者是因为不同地区会有发行不同版本的情形 (如:欧、美、日),所以由不同时期或不同地区的基板所取出的 rom 也有版本上的差异。而从众多版本取出最新或最适当的做为 parent,其他为 clone。由于通常游戏只是做小范围的修改,所以 parent 和各个clone 之间可以共享部份 rom。

还有一种情形是衍生的版本 (derivative),通常是因为授权。当原公司认为他们需要得到足够的流通管道时,通常会将游戏授权给其它公司,或者是允许其它的公司发行它们自已的版本,这也会产生版本差异。游戏之间内容非常相似,可是和直接修改有些差异。但仍会有部份 rom 可以共用,常为同系列游戏,此时也会有 parent 和 derivative 的关系。

在运行一个 clone 或 derivative 游戏时,如果 rom 是采用 Split Sets (RomCenter 称为 split/merged 模式) 方式保存,那你必须有这个 clone 或 derivative 的 parent set (即使 parent 本身无法运作) 才能正常执行,否则会有缺档的讯息。关于 split 和 merge,请参考 ClrMAMEPro 或 RomCenter 的说明档案。

bootleg 和 alternate

clone 中还有盗版 (bootleg) 和替换版本 (alternate)。

bootleg 版,在大型电玩中更明确的定义是“未经授权的版本”。通常使用这个字是因为游戏被游戏厂商之外的人破解或移转到一个不同的硬体。这时常也会移除防拷保护,而且盗版商也许会妆Ρπ修改游戏。不过有时是玩家为了让游戏在较便宜的硬体上运作而破解,例如用 sample 播放器取代声音硬体,播放之前录制的原始音乐片段,品质当然比较低。

alternate 版本通常是因为同一游戏有新的 dump,parent 改采新的 romset,而原 romset 则成为 set1、set2...。而替换版本之间会稍微有些不同(可能是因为生产年份不同,不是指制作年份),像是游戏的难度会不同,游戏会更快或更难等等。

内部名称 (Internal Name)

每一个游戏都有其独一无二的名称,以便于 MAME 辨识,就是所谓游戏的内部名称 (内定名称),例如: Metal Slug 3 为“mslug3”。在执行一个游戏时,MAME 会先行识别游戏的内部名称,而后再查验所需档案 (rom) 的名称和 CRC。因此若名称错误,MAME 会搜寻不到这个游戏,这时即使你有完整的 rom 也是无用(假如这个游戏是 clone,它会再去 parent set 内找寻 rom,找 parent set 方法也是相同,会先识别 parent 的内部名称),所以请给每个游戏档案/目录正确的内部名称。

不只是游戏名称。为了能正常运作,现在 MAME 对 rom 也依循着一个标准的命名程序。简单地说,对每个有独一无二 checksum 的 rom,MAME 现在要求给它一个独一无二的档案名称。这将确保了 MAME 能从正确的地方载入正确的 rom。

提示:

一、MAME 如何寻找 rom 档:

首先在设定的目录中核对内部名称,找寻 romset (子目录或 Zip 档),再检查它所需的档案。

假如找不到 rom 或者游戏是个 clone,它会再找寻设定目录中的 parent set 内的档案。

假如还找不到,则回报 rom 是 missing。

二、romset 有二种使用方式:

将所需的 rom 压成一个以游戏的内部名称为名的 Zip 档,roms\mslug3.zip

将所需的 rom 存放在以游戏的内部名称为名的子目录内,roms\mslug3\256-p1.bin ...

再把它放置在 rom 路径(目录)中。前者是目前网路上流通的主要方式

关于 BIOS

游戏机其实也是电脑 (电脑种类众多,不是只有 PC),它也有中央处理器、有音效晶片......,只是相对于我们常用的 PC,它算是特制的,所以有使用电脑的人都应该知道什么是 BIOS 所扮演的角色吧。

BIOS:Basic Input Output System,基本输入输出系统。 BIOS 是有关电脑运作的一些基本运作程式,存放在唯读记忆体 (ROM) 内,主要的功能在控制中央处理器和各晶片的运作,以及各种标准的周边装置作业。当 BIOS 启动电脑时,它首先会确定所有附件是否就定位运作,再将作业系统载入随机存取记忆体 (RAM),之后将电脑交给作业系统。

假如游戏系统有独立的 BIOS,那 MAME 会使用单一的 Zip 档将游戏 BIOS 档包装起来,而独立成一个单独的档案。就如同 NeoGeo 游戏的例子,所有游戏都共享着相同的 BIOS 档案,MAME 会将 neogeo.zip 视为 BIOS,当你在运行 NeoGeo 游戏,会直接读取使用它,否则 MAME 会预设你的 BIOS 是包含在每个 NeoGeo 游戏档中。DECO cassette、CVS、Playchoice-10、ST-V、Konami GX、SKNS 和 PGM 也是 BIOS 游戏。如果你没有这些游戏的 BIOS,将无法运行游戏系统并会出现错误讯息。

常见问题

这里列出一些常用的问题解决方式。

确定使用的 MAME 版本有支援这个 rom。

你的 rom 必须压成 Zip 档。

rom 有压到指定的 Zip 档。

rom 的大小和 CRC 必须正确。

Zip 档和 rom 的档名要正确。

确定 rom 没有唯读属性。

Zip 档要放在已指定的 Rom 目录中。

Zip 档没有损坏。

假如是 clone 游戏,必须取得它的 parent set。

假如是 CPS2 的游戏,你要加入解密 (表) 档。

有些游戏需要 BIOS,例如 NeoGeo。

按 F5 重新整理 MAME32 的列表。

gaoshou123 2005-10-24 00:05
游戏设定选单
在此讨论游戏设定选单 (in-game menus),你可以了解每个选项的用途和 NeoGeo 记忆卡的使用方式。

先选择一个游戏执行,在执行的期间,你都可以按下 Tab 键叫出设定选单,建议你按下 P 先让游戏暂停下来,再做设定的工作 。但要注意在某些 MAME 衍生版中,无法在暂停 [p] 的情况下,设定新的按键和滑鼠对映。

当你按下 Tab 后会出现下列选单 (因为开启它的预设键是 Tab,所以通常也称为 Tab 选单):



Input (general)
改变预设游戏控制键。请参阅 游戏控制器和热键。

Input (this game)
改变这个的游戏控制键。请参阅 游戏控制器和热键。

Dip Switches
几乎所有游戏的电路板都有这类开关设定。这些开关效用不尽相同,可以调整难度等级、生命数、语系等等。假如 MAME 的作者们有加入它,你就可以加以设定,尤其是 NeoGeo 的游戏。

Analog Controls
类比控制 (仅用于 Trackball 和光线枪游戏)。请参阅 游戏控制器的热键。

Bookeeping Info
统计你的游戏次数。

Game Information
显示游戏的基本资料和硬体资讯。

Game History
显示游戏的历史资讯。你必须先准备 mameinfo.dat 或 history.dat,请参阅 附加档案。

Cheat
Cheat 使用选单,你要先在 Options 中开启 Cheat。请参阅 游戏密码。

Memory Card
开启 NeoGeo 游戏的记忆卡管理 (仅用于 NeoGeo 游戏)。

Reset Game
重新启动游戏。

Return to Game
关闭选单,回到游戏。


NeoGeo 记忆卡 (Memory Cards)

因为 NeoGeo 的游戏有大型电玩或者家用主机两种模式,所以多了个家用主机的记忆卡功能。进入 Memory Card 后会如右图的选单,要使用记忆卡,你要先创造一个记忆卡,先在 Load Memory Card 000 按左右,就可以选择记忆卡的编号 (最多 999),再到 Create Memory Card 建立它,成功时应该会出现“Memory Card Created OK”,它会在 memcard 的目录下会建立 MEMCARD.000,以同样方式可以建立第二个记忆卡。

记忆卡的使用是自动的,一个记忆卡只能存放一个记忆。在你游戏死亡结束 (GAME OVER) 后,游戏会自动问你是否要储存资料,当你下次再载入游戏时,会自动问你是否要继续上次的记录 ,当然了,你的记忆卡必须己先载入。“ Call Memory Card Manager”允许你格式化记忆卡和查看/复制/删除已储存的游戏资料,在设定完成后,必须重新启动游戏 (F3 ,Reset Game)。

Dip Switches

DIP SWITCH 是“DUAL Inline Package Switch”缩写。它是机器的基本设定,和一般家用主机游戏中的“OPTION”项目功能差不多,可以用来设定游戏难度、COIN/CREDIT 数、生命只数和进行各种测试模式。多数的基板都是采用硬体的 DIP SWITCH,以数个“ON / OFF”开关排列组合来切换设定值。除了以硬体方式设定之外,还有一种使用软体的“SOFT DIP”也愈来愈普遍,“SOFT DIP”是使用 RAM 或是 EPROM 来保存基板上的各种设定,使用者可以直接从荧幕上看到组态的状况,并使用摇杆和按钮来切换,而不必去变动硬体开关,如果是用 RAM,因为它有一断电记忆即消失的特性,因此基板上必须装设辅助电源,这和家用卡带的“电池记忆”是一样的。

MAME 可以使用 F2 进入 DIP SWITCH (通常是有使用 SOFT DIP 的基板才能使用),部份游戏可能需要特殊方式才能使用。对于常用的 DIP SWITCH,模拟器作者会将它加入设定选单中,使你不必进入 DIP SWITCH 中,即可变动这些设定。但要注意不是所有游戏都有完整模拟这个功能,如果你没有办法使用它,可能就是尚未模拟。

gaoshou123 2005-10-24 00:06
游戏控制器和热键
这里说明游戏的控制和 MAME 的功能键,以及改变预设按键或摇杆设定,也有游戏进度即时记录的使用方式、滑鼠模拟轨迹球控制和光线枪的使用,最后还有控制器 INI 档的编写。

控制器支援

MAME 支援多种的控制装置,而由于 MAME32 是基于 MAME[w],所以应该也能支援它们。

键盘和其他类似的东西,包含了利用键盘模拟街机控制的方式,例如 HotRod Joystick Control Panel、XArcade 和 SlikStik。

滑鼠和轨迹球。轨迹球并不是很普遍,但它的模式类似滑鼠,所以它应该能运作。

摇杆和游戏手把。大型电玩游戏通常用数位摇杆,所以游戏手把或数位摇杆是比传统的 PC 类比摇杆来得更接近原始控制方式。

ACT LABS - PC USB Light Gun。这个新的 USB 光线枪支援 MAME。注意 ,旧的 gameport 版本无法支援,而且也无法工作。

有少数控制装置没有被直接支援:

方向盘和踏板。这些还没被支援。力回馈也没有被支援。不过,假如你的方向盘驱动模式类似普通的类比摇杆,你也许能使用它。

Windows 下的多个滑鼠。虽然 Windows 的多个摇杆被支援的很好,但在 DOS 版才有支援两个滑鼠。

一般的光线枪。通常在 MAME 下光线枪没有相容的方法可以使用。ACT LABS - PC USB Light Gun 是个例外 - 它应该能使用。

设定控制器

MAME32 会透过 DirectInput 使用控制器,所以你必须先到 Windows 的控制台里,设定游戏控制器。在安装且测试你的摇杆后,你就可以到 MAME32 的 Options,启用摇杆。MAME 也支援滑鼠和光线枪,它通常是模拟轨迹球 (Trackball) 的游戏,譬如 Star Wars 和 Marble Madness,同样地,你可以到 MAME32 的 Options 启用它。

预设键

以下是 MAME 表列的预设键, 主要按键

5,6,7,8
玩家1 - 4的投币键

1,2,3,4
玩家1 - 4的开始键

9,0
投入service 币 (部份游戏需要)

F2
Test Switch

F3
重新启动游戏 (Game Reset)

F4
显示游戏的图形资料及色盘。使用方向键改变或设定颜色,按 F4 或 Esc 回到游戏。

F8
在游戏的期间减少 frameskip

F9
在游戏的期间增加 frameskip

F10
速度调节开关 (speed throttle)

F11
显示 FPS 和 Frameskip 资讯

F12
抓图

P
暂停游戏

Shift + P
前进一格画面 (当游戏暂停时)

(left)Alt + Enter
全荧幕切换

left shift + F11
开启效能分析 (除错版)

Esc
结束游戏

~(Tab键上方)
音量控制(用右左方向键控制)

Tab
MAME 的游戏设定选单 (游戏设定选单)

Ctrl
在视窗模式下,以滑鼠改变视窗大小时,同时按下Ctrl,可以解除固定长宽比的设定。

游戏控制键 (预设)

方向键
操纵控制 (玩家 1)

Left Ctrl
按钮 1 (玩家 1)

Left Alt
按钮 2 (玩家 1)

Space
按钮 3 (玩家 1)

Left Shift
按钮 4 (玩家 1)

Z
按钮 5 (玩家 1)

X
按钮 6 (玩家 1)

R,F,G,D
操纵控制 (玩家 2)

A
按钮 1 (玩家 2)

S
按钮 2 (玩家 2)

K
按钮 3 (玩家 2)

W
按钮 4 (玩家 2)

无预设值
按钮 5 (玩家 2)

无预设值
按钮 6 (玩家 2)

Playchoice 10 游戏附加键

5
加时间

0
选择游戏

1
切换单 / 双打

2
开始游戏



有些游戏的按键有特殊用途,像是麻将游戏的杠碰吃听胡,你可以在游戏时,先按 P 暂停,再在按下 Tab,选择 Input (this game) 观看。
(杠:左 Ctrl;碰:左 Alt;吃:空白键;听:左 shift;胡:Z,全部麻将游戏通用。)

游戏进度即时记录 (Save/Load State)

在预设的主要按键中,有个很重要的功能键,虽然它还不完整,那就是“Shift+F7(Save State)”和“F7(Load State)”,游戏进度的即时记录。用法如下:

储存记录:进入游戏后,按下 Shift+F7,会出现“Select position to save to”,请选取你要储存的位置,此时选择一个按键,建议是“0~9”和“a~z”,MAME 会在 sta 目录下建立一个记录档:<游戏档名>-<按键位置>.sta,例如 KOF99 位置 a 的记录档为“kof99-a.sta”。

读取记录:当你按下 F7 时,会出现“Select position to load from”,请选取你已储存的位置,如前例的 kof99-a.sta ,按下 a 键,就会读取 kof99-a.sta 的记录进度。

它并非原作游戏的功能,但对 MAME 开发者非常有用的,它不是为使用者而加入。而且由于它是个相当复杂的功能,所以仅支援部份游戏,并可能使 MAME 当掉。

改变预设控制按键

MAME32 中并没有提供按键配置的设定,你必须在进入游戏后,按 Tab 叫出游戏设定选单,进入 Input (general) 或 Input (this game) 里改变,你可以看到如下的画面:

提示:如果 Tab 键叫不出选单,很可能是你把 Tab 键设成别的东西。要回复预设设定,你必须删除 MAME 目录的 CFG 子目录的 default.cfg 档案,当然了,你同时也会失去其它妆Ρπ更改过的控制设定。个别游戏的设定则存放在和游戏档同名的 cfg 档中,想回复预设值,可以直接删除。若设定完成后,无法储存设定值,请查看 cfg 档是否有唯读属性。






configuration menu

Input (this game)


Input (general) 的设定会套用到所有游戏,你可以在这订定一些主要按键;Input (this game) 只会改变正在执行的这个游戏,主要改变游戏控制键。 现在你可以选取你想要改变的按键对映,按下“Enter”再按下你要的键盘按键或摇杆按钮。假如要用摇杆,你必须先到 Options 开启摇杆的使用,设定时再用摇杆操作。如果你有第二只摇杆,一样在这设定。注意一下按键的配置,以免游戏控制发生问题。进一步的说明:

共用键:
让不同的按键,做同一个控制动作。举例说明 (P1 Button 1):先在这项目上按“Enter”,接着按下 A 一次,不要移开位置,再按一次“Enter”,接着按下 B 一次,这时会显示“A or B”,就是说你可以用 A 或 B 来控制玩家一的第一个按钮,如要继续则再按“Enter”...。要结束这个设定,只要在完成一个按键后,把指标上/下移到其他项目就可以,当下次回来设定 P1 Button 1 时,就会重新开始,如果你不满意之前的设定,就可以重设定义。

组合键:
用两个以上的按键来控制一个动作。举例说明 (P1 Button 1):先在这项目上按“Enter”,接着‘同时’按下 A 和 B,这时会显示“A B”,就是说你要控制玩家一的第一个按钮必须‘同时’按下 A 和 B 才能作用,大多是用 Ctrl、Alt 和 Shift 来搭配其他按键组合,像是 LCtrl F3 (左边的 Ctrl 加上 F3)。

排除键:
排除某按键的作用,尤其是它已被使用在组合键中。举例说明 (P1 Button 1):先在这项目上按“Enter”,接着按下A一次,再立刻按下 B‘二’次,这时会显示“A not B”,就是说你是用A来控制玩家一的第一个按钮,但如果是‘同时’按下 A 和 B,则不会有作用 (可能是其它控制的组合键)。

“None”键:
没有对映键的状态。先按“Enter”再按“Esc”。或者在设定排除键时,即在第一个按键按二次,由上例来看,就是在开始时,按 A 二次,这也会显示“None”。注意:“None”只能在 Input (general) 设定,如果是在 Input (this game) 使用,那它会回复成 Input (general) 中相同控制的设定值,所以你要在 Input (this game) 用 None ,需先把 Input (general) 设成 None。

综合使用:
只要在设定一控制项目时,不要把指标上/下移到其他项目就可以持续设定,像是设定成“A or B C not D”,可按 A 或 B C,但不接受 B C D。

滑鼠控制

如果你玩的是轨迹球的游戏 (把 Folder List 切换到 Trackball 类,你将看到你所有的轨迹球游戏),进入游戏后你会看到游戏设定选单中,多了一个选项“Analog Controls”,表示这个游戏支援类比控制,你可能可以用滑鼠或其它的控制器来玩它,如果你想用滑鼠按键控制按钮 (Button),别忘了要设定它。
游戏时,你也可以进入 “Analog Controls”(如下图),根据需要设定每个方向的移动速度 (Speed)、方向反转 (Reverse) 和灵敏度 (Sensitivity)。下面的图是 Zero Point(1998)的设定,你可以试试这个游戏。其他还有 Terminator2、After Burner I/II,这两个游戏也不错。





Input (this game)

Analog Controls


问题提示:

记得要开启 Options 的滑鼠控制。但不是每个 Trackball 游戏都完整支援滑鼠控制。

查看个别游戏的 Properties -> Controllers,确定游戏是否支援滑鼠 / 光线枪控制 (不支援则选项会显示成灰色)。

有时进入游戏后,滑鼠无法作用或是会十字线会漂移,可先退出,试着把 Options 中的摇杆和其他项目关闭。

若启用滑鼠控制,在视窗模式下,MAME32 会将 Windows 滑鼠指标隐藏起来。假如想要改变或移动视窗,须先将游戏暂停。

要设定控制时,在进入 input 选单前,先不要暂停游戏,否则可能会无法设定。

要校准枪口时,可以按 F2 进入 Test Switch,选择相关项目来设定,例如 Terminator2 的 CALIBRATE GUNS 和 Zero Point 的 GUN TEST。有些游戏没有(或是原机台本来就没有)。

飞行射击游戏,是用航空操纵杆的方式控制 (就是爬升时要向下移,俯冲时要向上移),如不习惯可用方向反转 (Reverse) 来改变。

光线枪控制

现在只支援 ACT LABS - PC USB Light Gun。其他光线枪可能无法使用。

先开启 Options 的光线枪控制。选择有支援的游戏,像是 Crossbow、Police Trainer、Rev X 等等。进入游戏设定选单,如下图,设定方式和滑鼠类似。





控制器 INI 档
在这将说明如何编写控制器的 ini 档。控制器的 ini 档可以让你设定出独特的输入控制装置。实际上,如果你的控制装置是一般的摇杆,那和直接在 MAME 的设定选单中更改意思差不多 (存为 cfg 档),不过这是根据控制器的输入来做配置,而设定选单则是对游戏的控制做配置。

使用差异,在于控制器的不同,比如说玩 KOF99 时是使用大型摇杆,轨迹球游戏用滑鼠,光线枪游戏用光线枪,而玩其他游戏时是小型手把。此时你可以分别为各个控制器订定专属的 ini 档。当游戏需要特定控制器时只要在设定中切换至该控制器项目,就可以直接使用,在使用大型摇杆时使用 大型摇杆.ini,小型手把时使用小型手把.ini,更可进一步为某一个游戏再额外制作一个 ini 档,定义特别的控制。如此一来,有多个控制器的使用者,便可以轻易的变换想用的控制装置,不必再重新设定按键。

建立档案

进入 mame32\ctrlr 目录。接着新增一个资料夹,以使用的控制器名称为参考自订资料夹名称,它会显示在 Controllers 的 Default input layout 选项中 (在命令列下是使用参数 ctrlr:MAME 游戏名 -ctrlr 控制器名称,别忘了,使用 DOS 版的 MAME 会有 8.3 的档名限制)。

在 ctrlr 目录下你能找到 std.ini,它是个包含所有标准定义的范本档。MAME 不会载入它,它只提供参考。你可以复制这档案以制作自己的 INI 档。当建立档案时,可只保留少量要自订的项目,所有未列入的输入控制将使用标准定义,所以你不必每一行都修改,只要选择想要改变的就可以了,如果之后想要设定已删除的部份,再到 std.ini 剪贴。.ini 档除了存放在和控制器相同名称的目录之外,也可以压缩成一个 Zip 档。

你可以为指定游戏或系统制作个别的 ini 档案,就是把 ini 档名改为和游戏或系统相同的名称,比如说 neogeo.ini 和 kof99n.ini,将它们放在新增的资料夹,使用时在 Controllers 中选择资料夹名称,MAME 便会在资料夹中寻找并载入游戏对映的 ini 档。首先扫除档案的是 default.ini,接着是指定游戏 INI 档的母档名称.ini,继续是指定游戏名称.ini。例如载入游戏 kof99n 则寻找顺序是先找预设档 (default.ini) 、再找系统档 (neogeo.ini)、再找母档 (kof99.ini),最后是本档 (kof99n.ini)。但设定值优先权刚好相反,以本档 (kof99n.ini) 为最优先。windows.ini 是 MAME 预设载入的档案,你可以在这做一些基本的设定。

整理一下几个特性:

windows.ini 的设定值较 cfg 档优先

个别游戏或系统的 ini 设定优先于 windows.ini

改变 Tab 选单的设定值对 ini 没影响,但会影响 cfg

编辑档案

指定控制器 .INI 档的主要目的在于重新对应输入装置。使用的结构分两部份:控制代码 和 输入装置定义。

你可以将ctrlr 目录内的任一个 .ini 档用记事本开启。你会看到类似“P1_JOYSTICK_UP  "KEYCODE_UP | JOYCODE_1_UP"”的字串。

控制代码
P1_JOYSTICK_UP
输入控制代码

输入装置定义
KEYCODE_UP
第一个按键代码。此例为键盘的向上键。

|
逻辑符号,表示“或 (OR)”。

JOYCODE_1_UP
第二个按键代码。此例为摇杆的向上键。


假如存在空格,完整的输入装置定义要用“"”夹住。“#”之后的文字会被视为注解,不会被读取。

控制代码是使用具体的替代码来代表游戏所使用的控制 (可能是摇杆、光线枪、轨迹球...)。“P1_JOYSTICK_UP”解释为‘玩家一’的‘摇杆操作’的‘向上控制’,这由游戏本身依据所使用的输入装置来产生,由此可知,本例的游戏实际上是使用摇杆操作,这也大部份真实机台的操作方式。回忆一下,你在电动场中所看到游戏机台的操纵方式。

在 Windows 版中,游戏产生的控制代码是和 (Tab) 设定选单中的相同,所有空格都用底线符号代替。举例来说,游戏 - Wingman Warrior 所能使用的控制代码为:“J1_X-axis_+ J1_X-axis_- ...... J1_Button_0 J1_Button_1 J1_Button_2 J1_Button_3 ...等等”。产生的名称将随着所连接的摇杆装置顺序而有点变化,在上面列出的代码中,Wingman Warrior 是连接到第一只摇杆 (J1)。假如它配置到不同的输入装置,所产生的代码将会是不同的 Jx 数字。

输入装置定义来自于你所连接的输入装置,以按键代码代表。输入装置定义是以空白分格的连续按键代码来指定,因为它允许你对游戏的单一控制设定一个或多个输入装置。查看你能用的输入装置 - 键盘、摇杆(小型手把、大型摇杆)、滑鼠(轨迹球)、光线枪。

当两个按键代码一起指定时 (只用空白做分格),这个动作的定义是用了逻辑的 AND,如此必须同时按下两个按键也能产生这个动作。一般都只想要用其中之一的按键来产生动作 (例如:LEFT CTRL 和 Joystick Button 0),在这个情况下,两个按键代码之间需要使用 CODE_OR (|) 来作分格。最后,某些组合键可能不被 MAME 接受和保证可作用,为此,应使用关键字 CODE_NOT (!) 来指定 (例如:不使用 Windows 系统的切换视窗 ALT-TAB 的应用)。

除了标准的按键代码之外,也会产生额外的 OSD 特殊代码。 这些新增的控制代码是以已连接的可用输入装置为基础所产生的。有些自动产生的 OSD 代码是多余的。举例来说,J1_Button_0 是相同于 JOYCODE_1_BUTTON1。标准代码是优先于 OSD 代码,所以以使用标准代码为主。

所有包含在标准按键代码中的关键字是有区分大小写的。

控制代码:

UI_CONFIGURE
UI_RESET_MACHINE
UI_FRAMESKIP_INC
UI_SHOW_PROFILER
UI_UP
UI_RIGHT
UI_PAN_UP
UI_PAN_RIGHT
UI_LOAD_STATE
UI_SAVE_CHEAT

START1
START4
COIN3
SERVICE2
TILT

P1_JOYSTICK_UP
P1_JOYSTICK_RIGHT
P1_BUTTON3
P1_BUTTON6
P1_BUTTON9
P1_JOYSTICKRIGHT_DOWN
P1_JOYSTICKLEFT_UP
P1_JOYSTICKLEFT_RIGHT

P2_JOYSTICK_UP
P2_JOYSTICK_RIGHT
P2_BUTTON3
P2_BUTTON6
P2_BUTTON9
P2_JOYSTICKRIGHT_DOWN
P2_JOYSTICKLEFT_UP
P2_JOYSTICKLEFT_RIGHT

P3_JOYSTICK_UP
P3_JOYSTICK_RIGHT
P3_BUTTON3

P4_JOYSTICK_UP
P4_JOYSTICK_RIGHT
P4_BUTTON3

P1_PEDAL
P2_PEDAL_EXT
P4_PEDAL

P1_PADDLE
P2_PADDLE_EXT
P4_PADDLE
P1_PADDLE_V_EXT
P3_PADDLE_V
P4_PADDLE_V_EXT

P1_DIAL
P2_DIAL_EXT
P4_DIAL
P1_DIAL_V_EXT
P3_DIAL_V
P4_DIAL_V_EXT

P1_TRACKBALL_X
P2_TRACKBALL_X_EXT
P4_TRACKBALL_X

P1_TRACKBALL_Y
P2_TRACKBALL_Y_EXT
P4_TRACKBALL_Y

P1_AD_STICK_X
P2_AD_STICK_X_EXT
P4_AD_STICK_X

P1_AD_STICK_Y
P2_AD_STICK_Y_EXT
P4_AD_STICK_Y

OSD_1
OSD_4
UI_ON_SCREEN_DISPLAY
UI_SHOW_GFX
UI_THROTTLE
UI_SNAPSHOT
UI_DOWN
UI_SELECT
UI_PAN_DOWN
UI_TOGGLE_DEBUG
UI_ADD_CHEAT
UI_WATCH_VALUE

START2
COIN1
COIN4
SERVICE3


P1_JOYSTICK_DOWN
P1_BUTTON1
P1_BUTTON4
P1_BUTTON7
P1_BUTTON10
P1_JOYSTICKRIGHT_LEFT
P1_JOYSTICKLEFT_DOWN


P2_JOYSTICK_DOWN
P2_BUTTON1
P2_BUTTON4
P2_BUTTON7
P2_BUTTON10
P2_JOYSTICKRIGHT_LEFT
P2_JOYSTICKLEFT_DOWN


P3_JOYSTICK_DOWN
P3_BUTTON1
P3_BUTTON4

P4_JOYSTICK_DOWN
P4_BUTTON1
P4_BUTTON4

P1_PEDAL_EXT
P3_PEDAL
P4_PEDAL_EXT

P1_PADDLE_EXT
P3_PADDLE
P4_PADDLE_EXT
P2_PADDLE_V
P3_PADDLE_V_EXT


P1_DIAL_EXT
P3_DIAL
P4_DIAL_EXT
P2_DIAL_V
P3_DIAL_V_EXT


P1_TRACKBALL_X_EXT
P3_TRACKBALL_X
P4_TRACKBALL_X_EXT

P1_TRACKBALL_Y_EXT
P3_TRACKBALL_Y
P4_TRACKBALL_Y_EXT

P1_AD_STICK_X_EXT
P3_AD_STICK_X
P4_AD_STICK_X_EXT

P1_AD_STICK_Y_EXT
P3_AD_STICK_Y
P4_AD_STICK_Y_EXT

OSD_2

UI_PAUSE
UI_FRAMESKIP_DEC
UI_SHOW_FPS
UI_TOGGLE_CHEAT
UI_LEFT
UI_CANCEL
UI_PAN_LEFT
UI_SAVE_STATE
UI_DELETE_CHEAT
UI_EDIT_CHEAT

START3
COIN2
SERVICE1
SERVICE4


P1_JOYSTICK_LEFT
P1_BUTTON2
P1_BUTTON5
P1_BUTTON8
P1_JOYSTICKRIGHT_UP
P1_JOYSTICKRIGHT_RIGHT
P1_JOYSTICKLEFT_LEFT


P2_JOYSTICK_LEFT
P2_BUTTON2
P2_BUTTON5
P2_BUTTON8
P2_JOYSTICKRIGHT_UP
P2_JOYSTICKRIGHT_RIGHT
P2_JOYSTICKLEFT_LEFT


P3_JOYSTICK_LEFT
P3_BUTTON2


P4_JOYSTICK_LEFT
P4_BUTTON2


P2_PEDAL
P3_PEDAL_EXT


P2_PADDLE
P3_PADDLE_EXT
P1_PADDLE_V
P2_PADDLE_V_EXT
P4_PADDLE_V


P2_DIAL
P3_DIAL_EXT
P1_DIAL_V
P2_DIAL_V_EXT
P4_DIAL_V


P2_TRACKBALL_X
P3_TRACKBALL_X_EXT


P2_TRACKBALL_Y
P3_TRACKBALL_Y_EXT


P2_AD_STICK_X
P3_AD_STICK_X_EXT


P2_AD_STICK_Y
P3_AD_STICK_Y_EXT


OSD_3



字串说明:

UI
MAME (Tab) 设定选单的输入。

JOYSTICK
机台摇杆和按钮的输入。

PEDAL
大型机台的踏板输入。

PADDLE
仅有前后方式的输入装置(?),例如:船浆、球拍、球杆。

DIAL
转盘的输入。

TRACKBALL
类似轨迹球的输入。

AD_STICK
类比装置的输入。

OSD
额外的功能。

_EXT
反转输入,例如:P1_PADDLE 为右移 P1_PADDLE_EXT 变为左移。


下面为标准的按键代码: KEYCODE_A
KEYCODE_D
KEYCODE_G
KEYCODE_J
KEYCODE_M
KEYCODE_P
KEYCODE_S
KEYCODE_V
KEYCODE_Y
KEYCODE_1
KEYCODE_4
KEYCODE_7
KEYCODE_0_PAD
KEYCODE_3_PAD
KEYCODE_6_PAD
KEYCODE_9_PAD
KEYCODE_F3
KEYCODE_F6
KEYCODE_F9
KEYCODE_F12
KEYCODE_MINUS
KEYCODE_TAB
KEYCODE_ENTER
KEYCODE_BACKSLASH
KEYCODE_STOP
KEYCODE_INSERT
KEYCODE_END
KEYCODE_LEFT
KEYCODE_DOWN
KEYCODE_MINUS_PAD
KEYCODE_ENTER_PAD
KEYCODE_LSHIFT
KEYCODE_RCONTROL
KEYCODE_SCRLOCK
KEYCODE_LWIN

JOYCODE_1_LEFT
JOYCODE_1_DOWN
JOYCODE_1_BUTTON3
JOYCODE_1_BUTTON6
JOYCODE_2_LEFT
JOYCODE_2_DOWN
JOYCODE_2_BUTTON3
JOYCODE_2_BUTTON6
JOYCODE_3_LEFT
JOYCODE_3_DOWN
JOYCODE_3_BUTTON3
JOYCODE_3_BUTTON6
JOYCODE_4_LEFT
JOYCODE_4_DOWN
JOYCODE_4_BUTTON3
JOYCODE_4_BUTTON6

MOUSECODE_1_BUTTON1
MOUSECODE_1_BUTTON2
MOUSECODE_1_BUTTON3

KEYCODE_NONE
KEYCODE_B
KEYCODE_E
KEYCODE_H
KEYCODE_K
KEYCODE_N
KEYCODE_Q
KEYCODE_T
KEYCODE_W
KEYCODE_Z
KEYCODE_2
KEYCODE_5
KEYCODE_8
KEYCODE_1_PAD
KEYCODE_4_PAD
KEYCODE_7_PAD
KEYCODE_F1
KEYCODE_F4
KEYCODE_F7
KEYCODE_F10
KEYCODE_ESC
KEYCODE_EQUALS
KEYCODE_OPENBRACE
KEYCODE_COLON
KEYCODE_BACKSLASH2
KEYCODE_SLASH
KEYCODE_DEL
KEYCODE_PGUP
KEYCODE_RIGHT
KEYCODE_SLASH_PAD
KEYCODE_PLUS_PAD
KEYCODE_PRTSCR
KEYCODE_RSHIFT
KEYCODE_LALT
KEYCODE_NUMLOCK
KEYCODE_RWIN

JOYCODE_1_RIGHT
JOYCODE_1_BUTTON1
JOYCODE_1_BUTTON4
JOYCODE_1_START
JOYCODE_2_RIGHT
JOYCODE_2_BUTTON1
JOYCODE_2_BUTTON4
JOYCODE_2_START
JOYCODE_3_RIGHT
JOYCODE_3_BUTTON1
JOYCODE_3_BUTTON4
JOYCODE_3_START
JOYCODE_4_RIGHT
JOYCODE_4_BUTTON1
JOYCODE_4_BUTTON4
JOYCODE_4_START

CODE_DEFAULT
CODE_OTHER
CODE_NONE
CODE_PREVIOUS
KEYCODE_C
KEYCODE_F
KEYCODE_I
KEYCODE_L
KEYCODE_O
KEYCODE_R
KEYCODE_U
KEYCODE_X
KEYCODE_0
KEYCODE_3
KEYCODE_6
KEYCODE_9
KEYCODE_2_PAD
KEYCODE_5_PAD
KEYCODE_8_PAD
KEYCODE_F2
KEYCODE_F5
KEYCODE_F8
KEYCODE_F11
KEYCODE_TILDE
KEYCODE_BACKSPACE
KEYCODE_CLOSEBRACE
KEYCODE_QUOTE
KEYCODE_COMMA
KEYCODE_SPACE
KEYCODE_HOME
KEYCODE_PGDN
KEYCODE_UP
KEYCODE_ASTERISK
KEYCODE_DEL_PAD
KEYCODE_PAUSE
KEYCODE_LCONTROL
KEYCODE_RALT
KEYCODE_CAPSLOCK
KEYCODE_MENU

JOYCODE_1_UP
JOYCODE_1_BUTTON2
JOYCODE_1_BUTTON5
JOYCODE_1_SELECT
JOYCODE_2_UP
JOYCODE_2_BUTTON2
JOYCODE_2_BUTTON5
JOYCODE_2_SELECT
JOYCODE_3_UP
JOYCODE_3_BUTTON2
JOYCODE_3_BUTTON5
JOYCODE_3_SELECT
JOYCODE_4_UP
JOYCODE_4_BUTTON2
JOYCODE_4_BUTTON5
JOYCODE_4_SELECT

CODE_OR
CODE_NOT
|
!



由上列表格,你应该已经发现一些规则... KEYCODE
参照键盘按键。

JOYCODE
参照摇杆操纵盘和按钮。

MOUSECODE
参照滑鼠按键。

KEYCODE_NONE
不使用任何键控制,就是 NONE。

CODE_NONE
同上。

CODE_DEFAULT
使用 MAME 的预设键。

CODE_OTHER
CODE_PREVIOUS
还不确定

CODE_NOT 或 !
排除按键组合的使用。例如:要停用全荧幕的组合键 Alt-Tab 则可以用
“KEYCODE_LALT CODE_NOT KEYCODE_TAB”或“KEYCODE_LALT ! KEYCODE_TAB”。

CODE_OR 或 |
让你可以为一个控制加入多个按键。例如:将玩家一的第一个按钮设为 CTRL 键和摇杆的第一个按钮,
“KEYCODE_LCONTROL CODE_OR JOYCODE_1_BUTTON1”或“KEYCODE_LCONTROL | JOYCODE_1_BUTTON1”。

空白 (格)
在代码之间必须加入空格。

gaoshou123 2005-10-24 00:06
附加档案
MAME 有很多附加档案,可以让 MAME 更形完备,它能提供更多的资讯,额外的功能,甚至使游戏更完整。下面就一一介绍。

Sound Sample 和 Artwork

某些游戏需要用到声音样本档 (sample),是因为它的音效电路是类比式 (非数位的) 或者是因为它的音效硬体没有被模拟。Artwork 则是因为某些游戏的机台,荧幕本身是有图像的,运作时由光线投射出来作为游戏场景、边框或背景,这无法模拟,因此将荧幕的图取出,加以套用。

MAME32 的预设目录是在 sample 和 artwork。Sample 可以在 SYS 2064 - Sound Samples! 或 MAME - Download 或 Twisty's MAME Samples Collection 取得,而 Artwork 可以在 MAME - Download 取得。将取得的 Zip 档直接放在目录内不必解压缩,但档名要和游戏档相同,然后到 Options 或 Properties 的 Sound (Sample) 和 Miscellaneous 中开启使用,再执行指定游戏即可。如果游戏有 parent 和 clone 关系,那只要准备 parent 的 sample 和 artwork,就可以在 parent 和 clone 之间使用,事实上,通常也只提供 parent 档的下载。

四个扩充的资料档

资料档可以提供额外的资讯给 MAME32,但没有它们,对于游戏的执行并没有影响,属于选用配备,视个人需要装备。这四个资料档都是纯文字档案,你也可以自己学习编辑它。提示:使用附加档案会使你进入 MAME32 的速度变慢。

Mameinfo.dat

Mameinfo.dat 包含了众多的游戏资讯,有 MAME 已模拟的游戏升级资讯、类型、开发纪录、已知的问题、有用的提示等等。你可以在 MASH's Mameinfo 下载最新的 Mameinfo.dat。将取得的 Zip 档解压缩,和 mame32.exe 放在同一目录,在 Screen Shot 区域就可以看到。


History.dat

这个资料档包含了模拟研发和相关资讯。你可以在 Fandemame 下载最新的 History.dat。将取得的 Zip 档解压缩,和 mame32.exe 在同一目录,在 Screen Shot 就可以看到,会加在 Mameinfo 资料的上方,在同一个区域内显示。


Cheat.dat

它能让你取得更多生命值、使角色无敌或者是有更高的等级。虽然它更新不太稳定,但仍包含了大部份重要的游戏。你可以在 Pugsy's MAME Cheat Page 或是 Stephane Humbert's page下载最新的 Cheat.dat。使用方式请看 游戏密码。


Hiscore.dat

因为部份机台无法储存游戏的高分纪录,在机台电源关闭后,所有的纪录将归零,使用 MAME 时也一样,在重新启动后,会将纪录回归预设值。不过,现在只要使用 hiscore.dat,就可以帮助你将高分纪录下来。使用时只要把 hiscore.dat 和 mame32.exe 放在同一目录,再进行游戏,等游戏结束,退出 MAME,下次再进行这个游戏时,你就可以看到上次的分数已被保留下来,当然你之前的分数必须有进入游戏的排行榜。

注意:

hicsore.dat 不支援全部的游戏,你可以用记事本开启 hicsore.dat,看看你想要的游戏是否被完整支援,如果是用 Unofficial Highscore.dat,你可以到它的 Download 区查看已支援和未支援的列表。

高分纪录实际上是记录在 .hi 档,有些游戏还需要 .nv 档,它们分别保存在 hi 和 nvram 目录中。假若 hicsore.dat 没有作用,试着删除它们,尤其是 MAME 版本变更后。

在执行游戏前后,请确定 hicsore.dat 存在,以便载入和记入高分纪录。

有部份游戏 hicsore.dat 只记了前几名的纪录,不一定游戏排到第几名,就可以记到第几名,大多是前三名到前五名。

录制 (record) / 播放 (playback) 游戏影像时,以及启用 cheat 功能时,MAME 将会停止 hicsore.dat 的使用,无法记录分数。

用 hiscore.dat 记录游戏得分可能会引起当机,此时只能移除它,或者再试一次。原因和 cheat 相同,因为它们会修改游戏执行时的记忆体内容,假使写入位置不对,就可能会有问题。

MAME 在 36 beta 14 版后,停止了对 highscore saves 的支援,所以 MAME 现在对真实机台无法储存记录的游戏,使用 hicsore.dat 来做为外部的资料库,里面是各高分纪录的记忆体存取位置。相关的说明可以参考 MAME - Download - HISCORE.DAT。

主要有两个版本,正式的版本支援一千百二个游戏 (已停止更新),而非正式的则有较多的游戏并更新较快。下载正式版本 MAME - Download - HISCORE.DAT 和到 Unofficial Highscore.dat 下载非正式版本。



八个 (视窗) 显示图档

美化你的 MAME32。让你透过图片辨识游戏,这很方便,可以在实际执行前预览游戏画面。除 Icons 外,其它会显示在 Screen Shot 上,你可以在图片上按一下切换要显示的图片种类。注意:不是所有游戏皆包含完整的图档,可能是作者遗漏或是尚未找到适当的图片资料,如果你想要妆Ρπ增加/更新,只要确定好档案格式(如 Icons 是.ico,Snapshots 是 .png 或 .bmp),将档名改成和游戏档相同,再加入压缩档内。虽然不是必备,但加上这些附加档案,应该可以增加 MAME 使用时的便利和乐趣。

提供 Art Packages 的站台 (如 mame32 qa) 会同时提供 datfile 供你用 ClrMamePro 做修正图片名称的动作,因为 Art Packages 是以附加新版的方式提供更新,有时游戏只是改名而已,没必要加入新图片,所以用 ClrMamePro 改名即可。

Cabinets

提供大型机台机体的照片。你可以在 the mame32 qa-test and art dept. 下载新的 Cabinets。如果是第一次取得,请依序将 Zip 档解压缩在同个目录下(即是解开 cabpac_1、cabpac_2......),因为后来的档案可能更新前面的,然后再把所有档案压缩成一个名为 cabinets.zip 的 Zip 档,放在 cabinets 目录下。

Flyers

包含了游戏的平面印刷广告,像是传单、海报以及 DM。The Arcade Flyer Archive 有很多的 Flyers 资料。处理方式和 Cabinets 相同,最后压缩成 flyers.zip,放在 flyers 目录下。

Icons

游戏列表的图示,它能让原本单调的图示,变得的更有意义。可以在 the mame32 qa-test and art dept. 下载新的 Icons; MAMu_'s MAMEICONS 是另外一个不错选择。同样地,最后压缩成 icons.zip,放在 icons 目录下。


Marquees

大概是机台上方的标题。可以在 EMAM - Marquees 下载新的 Marquees,压缩成 marquees.zip,放在marquees 目录下。


Snapshots

游戏画面的抓图。可以在 the mame32 qa-test and art dept.下载新的 Snapshots;另外一个选择是 CTep,它有游戏标题和游戏中的画面抓图。最后一样压缩成 snap.zip,放在snap目录下。

Titles

游戏开头的标题画面。可以在 MAME Titles 或 CTep 下载新的 Titles。压缩成 titles.zip,放在 titles 目录下。MAME32 自 0.61 版后开始支援。

Control Panel

机台控制面板。可以在 MameHot 下载。压缩成 cpanel.zip,放在 cpanel 目录下。MAME32 自 0.71 版后开始支援。

Backgrounds

MAME32 使用者介面的背景图档。可以在 the mame32 qa-test and art dept. 下载新的 bkground.zip。解压缩到 bkground 目录。

使用 inferface Options 中的随机选取背景图。先将想要置换的图片(例如 bkground.zip 内的图片,要解压缩) 放在 MAME32\bkground 目录下,尔后使用 MAME32,就会随机选取图片,再自动将它重新命名为 bkground.png,复制到 snap 目录。

MAME32 的视窗背景其实就是 snap 目录中的 bkground.png,bkground 目录是供背景图存放,若不用随机选取,你可以妆Ρπ制作顺眼的图片,移动到 snap 目录中取代原先的档案。

gaoshou123 2005-10-24 00:07
游戏密码
在此你可以了解如何使用 cheat.dat、寻找 cheat 和加入 cheat 到 cheat.dat。

使用 Cheat.dat 档

Cheat 是个复杂的功能,自已制作需要相当的技术,所以直接使用现有的资料是再方便不过了。

你必须先到 Pugsy's MAME Cheat Page 取得 cheat.dat 档。然后将它解压缩,和 mame32.exe 放在相同目录内。

再到 Default Options 中的 Miscellaneous 启用 cheat,然后你就可以在游戏设定选单 (游戏设定选单),看到 Cheat 选项。进入后你可以看到如右图的选单,选用第一个“Enable/Disable a Cheat”,假如 Cheat.dat 已内建了这个游戏的 Cheat,你就可以直接选用想要的项目,当你回到游戏后,它就会开始作用。快速键 Shift - a 是新增一个 cheat, Shift - d 是删除一个 cheat,但它不会写入 cheat.dat ,所以你要妆Ρπ编辑 cheat.dat。

寻找 cheat

你应该已经发现,MAME 也提供妆Ρπ寻找 Cheat 的功能,因为游戏模拟时,所使用的配置记忆方式是固定的,只要找出存放相关数值的位置,就可以加以更改,在这将以越南大战3的生命只数来做例子。请先载入越南大战3并投币进入游戏,开始后立刻按下 P 暂停游戏,越南大战3的生命数一开始总共是3,进入Cheat 选单,按下“Start a New Cheat Search”,会出现右图的选单。

假如你是执行一个多 CPU 的游戏,第一个选项可以让 MAME 在某一个 CPU 寻找 cheat,简单地说,如果你找不到 cheat,那就试着切换一下这个选项。

CPU 维持 0,再到“Live (or another value) 00 (0)”选项,按左右,在这个例子是3,按下 Enter,在下方将会回报在记忆体中找到3的数量,本例为616,离开选单回到游戏,再按一次 P 继续,然后故意死掉一只,当生命数变成2时立刻按下 P 暂停,再进入选单,这次要选“Continue Search”,将“Live (or another value) 00 (0)”选项改成2,按下 Enter,相符数量变成309。再重复相同步骤,生命数1,相符数量变成13,生命数0,如相符数为1,会回报“One match found - added to list”,表示已完成搜寻。如果还未完成请再投币继续游戏,并续用“Continue Search”(生命数应从3开始),重复先前步骤,直到相符数为1。不过也有些数值无法再减少,你只能将所得到的位置都试一试。

当完成搜寻后,要使用“ Add/Edit a Cheat”。 进入后你会应该会看到类似这样的字串“1002BB (0) = 02”,这就是储存越南大战3生命数的记忆体位置,按一下继续进一步设定。Name 可以让你变更一个适合的名称 (按左右方向键),也有提供你自订名称的选项 ( Enter To Edit),还有说明 (Description) 和设定快速启用键 (Activation Key),接着最重要的就是数值 (Value) 的设定,把它改成“63 (99)”,那你就能拥有99只,设好之后,还要启动它,退出再进入“Enable/Disable a Cheat”,找到刚才命名的 cheat,把它改成 On,再回到游戏,就可以享受成果。

除了 Lives 的搜寻方式,还有 Timer、Energy、Status 和 Slow but Sure,这有点难懂,只能参考 Pugsy's MAME Cheat Page 的 FAQ。

提示:MAME32 在“ Add/Edit a Cheat”中,似乎无法自订名称 (Name), 说明 (Description) 和快速启用键 (Activation Key) 的使用也有问题。在其它种类的 MAME 版本测试,则正常,这可能是 MAME32 本身的 BUG。

加入 cheat 到 cheat.dat 档

当你妆Ρπ制作了一个 cheat 后,一定想要将它保存下来或分享给其他人,那你可以将它制成资料档 cheat.dat。

承前例,要将 cheat 做成资料档格式,你需要游戏档的名称,越南大战3为 mslug3n,和 CPU 数目为0、记忆体位置 1002BB、要改变的值,以及一个名称。接着开启一个文字档,将它命名 cheat.dat ,然后再编辑它,加入下列文字:

; [ 越南大战3 ]
mslug3n:0:1002BB:63:000:Infinite Lives PL1

“;”后面是注解,MAME 会忽略它,第二行依序是:
<Name>:<CPU>::<Data>:<Type>:<Desc>
游戏档的名称 : CPU 位置 : 记忆体位置 (十六进位值) : 新数值 (十六进位值) : 类型 : Cheat 名称叙述

<Name>:游戏档的名称。
<CPU>:通常为“0”,只有模拟游戏为多 CPU 系统时才需要改变。如果是单一 CPU 系统,那“1”通常会切换到声音处理器。
<Addr>:想要变更数值的记忆体位置 (十六进位值)。
<Data>:想要改变的新数值,要使用十六进位值。
<Type>:写人新数值的类型,通常“0”。以下为部份类型说明,其他类型请参阅 Pugsy's MAME Cheat Page 的 FAQ:

0
只要数值有变,就写入一次新数值。

1
只在开始时写入一次。

2
每一秒写入一次。

3
每二秒写入一次。

4
每五秒写入一次。

5
当原始值变动时,间隔一秒然后写入。

6
当原始值变动时,间隔二秒然后写入。

7
当原始值变动时,间隔五秒然后写入。


<Desc>: Cheat 的名称叙述,最多30个字元。除非你确定你的 MAME 版本能显示中文,否则应尽可能用英文,以免出现乱码。

如果你原本就有 cheat.dat 档,可以将新的加在原本 cheat 的后面。完成后,将 cheat.dat 和 mame32.exe 放在同一目录下,以后就可以叫出选单直接使用。

gaoshou123 2005-10-24 00:08
网路对战
MAME32 并不提供连线对战功能,你必须至 Kaillera 或 TFR's MAME32K page 下载非官方的版本,此外还有很多其他的可连线版本可以选用。

不论是那个类型的版本,都是借由“Kaillera”来完成连线的工作。Kaillera 分为客户端 (client)和伺服端 (server)。客户端通常已整合进模拟器中,而伺服端则是独立的应用程式,需要在一台有连接 Internet 的机器上运作。

Kaillera 提供的 MAME32k 和 MAME32,在 Options 设定上不太相同,但如果你已经熟悉 MAME32,这不会造成太大的困扰 ,毕竟他们都是源自于 MAME。请下载并安装MAME32k,完成安装后你会看到“kailleraclient.dll”,凭藉着它,你就可以上网找人对战了。

执行 MAME32k 的主程式,它基本的操作和设定和 MAME32 差不多。在开始游戏之前,你必须先设定好你的 MAME32k,像是 rom 路径,控制方式和 显示声音等项目。连线后的设定方式和无连线时相同,照单机方式改变设定,例如按 Tab 进入 in-game menu。现在让我们开始连线,进入 File\Play network game...,然后会弹出个对话视窗,这是客户端的视窗。

Kaillera 提供了统一的介面,让各式各样的模拟器都能透过它连上同一伺服器,你可以看看列表,就可以发现各种不同版本的模拟器,这表示以下的介绍不只适用于 MAME32k,也将适用于所有使用 Kaillera 的连线者。

功能简介
功能页:

All servers:在这等一下,它会连到 Kaillera 的伺服器上取得当前世界上所有正在运行着的伺服器列表,你应该选择进入最快的伺服器。

Recent:这里是记录着你最近去过的伺服器,和去了多少次,你也可以直接按二下进入伺服器。

Favorites:我的最爱,现在还不能用。

Waiting games:这里显示所有正在等候中的游戏,你可以看到对方使用的模拟器种类,你也可以直接在这里选择游戏并加入战斗。

Options:一些有用的选项,尤其是 Quit message 很方便。

二个方块:

Username:输入你的名称,在连线至别人的伺服器之前,你要先填好。

Connection type:依速度筛选伺服器列表,记得要按一下 Refresh list 更新列表。

五个按钮:

Connect:连线至目前所选的伺服器。

Refresh list/Stop:重新或停止取得伺服器列表。

Enter IP...:直接输入对方的IP地址来加入他所建立的游戏伺服器。

About:关于 Kaillera。

Cancel:离开 Kaillera。

现在我们开始加入某一个伺服器。选取一个伺服器,按 Connect 或直接按二下。

进入后会再开启一个视窗,这里分成二大部份:

Partyline:包含了左侧讯息显示区和右侧的玩家列表,以及下面的 Chat 讯息输入方块。

Current games:包含了目前的游戏列表。以及 Join 和 Create new game 二个按钮。

Join:要加入某个等候中的游戏的话,可以先选取游戏,然后再按下 Join 加入。前提是你也要有这个游戏的 rom。加入游戏后,就可以等候建立游戏者来开始进行游戏了。

Create new game:你也可以自己建立一个新游戏,就按下Create new game,选择你要的游戏名称(依照英文字母顺序排列),接着原本的 Current games区域会变成 New game。上半部的 Max 可以设定游戏人数上限,Cancel 为取消游戏,Start game 为开始游戏,下半面的 Curret players,有讯息方块和 Chat 功能,kick 可以踢掉不友善的玩家,列表方块中则会显示目前进入游戏的玩家。

架设伺服器
1. 下载伺服器软体

先去 Kaillera Donwload 区下载“Kaillera server”, 抓回来解压缩到一个目录下,可看到三个档案:

kaillerasrv.conf:组态档

kaillerasrv.exe:主程式

kaillerasrv.txt:更新资讯

2. 设定伺服器组态

在启动你的伺服器前,你要修改一下 kaillerasrv.conf 。

; Kaillera server config file
; ServerName can be up to 64 characters long.
ServerName=Unknown serv0r Server 名称,可以改成你喜欢的站台名称。

; Location can be up to 64 characters long.
Location=Unknown location  站台的位置注解,可以让人知道这是那边的 Server,比方说 Taipei,Taiwan。
; URL can be up to 128 characters long. (ex: http://www.mysite.com/)
URL= 输入你的 Web 站台位址,假如有的话。
MaxUsers=10   限制此站人数的上限。
Port=27888   预设的 Port,不必更改。

; Set Public to 0 if you want to run the server on a private LAN
Public=1 1会让你的站出现在 server 列表,0则不会出现, 就是 LAN only,私人地方。

; Use this parameter if you want to manually specify your server's
; IP address or leave blank for automatic
; (ex: IP=154.253.21.56)
IP= 输入你这台电脑的 IP。

; Messages flood protection
; FloodMsgNb is the max. number of times a same message has to
; be received in FloodMsgTime seconds.
FloodMsgNb=5 限制在 FloodMsgTime 秒内,能发出最多的讯息数目为 FloodMsgNb。
FloodMsgTime=3

; Minimum ping restriction (in ms)
; 0=disabled
MinPing=0 连线的最小 ping 值限制。

; Maximum connection setting restriction
; 0=disabled, 1=Bad, 2=Low, 3=Average, 4=Good, 5=Excellant, 6=LAN
MaxConnSet=0 最大连线设定限制(?)。

; Message of the Day
; Note that you can stack "MotdLine" options
;MotdLine=Welcome to unknown serv0r! You can 进入 Partyline 时讯息方块所显示的讯息,可以多行。
;MotdLine=see our website at http://web.site/

; AllowWebAccess (1=yes,0=no)
AllowWebAccess=1 允许 Web 存取(?)。

; End of Kaillera server config file

3. 启动伺服器

执行 kaillerasrv.exe,会出现一个 DOS 视窗,把它最小化,现在你的朋友跟你只要执行 MAME32k 连进你的 IP,就可以开始战斗了。

注意事项
常见问题提示

连线前,请检查你要玩的游戏 romset 是否完整,且能正常执行。

确保作业系统资源足够,可以先关闭模拟器再重新启动,甚至可以重新开机一次,再来执行模拟器。

确定硬体配备都能顺畅执行模拟器游戏,显示声音都没问题。

Refresh list 的结果都是 error requesting server list...,可能是 KAILLERA 总站的伺服器出问题,可以试着直接 ENTER IP 连线到你想要的伺服器。

连线时有状况,请检查玩家间的模拟器版本及 rom 版本是否相同。

确定网路连线没问题,检查网路状况,包含自己和伺服器。Ping 的取得是瞬间的,不表示全程都能保持相同的 Ping 值。

欲连线者不可频繁进出一个伺服器,这会让站内所有游戏中的玩家受影响,如果欲连线者的连线品质不佳时,可能会让所有游戏中的人全部断线。

连线到伺服器却久连不进时,必须立刻取消。否则可能影响站内正在游戏者处于无回应状态。无回应时间过长,会使站内玩家断线;即使无回应时间不长,也会让游戏发生不同步现象。

游戏进行时,不要使用其他的网路程式占用频宽。

开游戏者,不可任意关闭游戏,必须等其他玩家都离开后才可关闭。否则会造成其他尚在游戏的人当机或陷于无回应状态。

有时不同步可能是因为部份游戏里的物品是乱数决定的。

你可以到 Kaillera 网站查看 FAQ,里面有些问题的解答。

Kaillera 网站的 Stats 有游戏排行榜。

gaoshou123 2005-10-24 00:08
编译 MAME
编译 (Compiling) 是将原始码 (source code) 建立成真正的执行档。MAME 几乎都是由 C 语言所编写,有些需要速度的地方则有用组合语言,而 Win32 版本的 MAME 和 MAME32 都是用 MinGW 所编译的。

/*本文编写以无程式语言基本的人为出发点,但需要 DOS 或命令列的使用常识。*/

准备工作

主要的工作就是先安装 MinGW,然后加入需要的档案到相关目录中。MAME 官方网站已经准备有完整档案,方便编译者使用。

下列前三个档案请到 MAME - Download - Main downloads 下载:(以下档案解压缩,建议使用 WinRAR)

档案名称
内容
备注

MinGW-2.0.0-3.exe
MinGW 2.0.0
 

mingw-over.zip
GNU Make for MinGW
echo, mkdir,rm, sh
DirectX 6.1 headers
NASM for Win32
zlib
 

gcc-3.2.2-20030208-1.tar.gz
GCC 3.2.2
mame0.66版需要
MinGW Download 区下载

binutils-2.13.90-20021006-2.tar.gz
binutils 2.13.90



流程:

安装 MinGW-2.0.0-3.exe。可以设定安装的目录位置,例如:D:\mingw。

更新档 gcc-3.2.2-20030208-1.tar.gz 和 binutils-2.13.90-20021006-2.tar.gz,将它们解压缩到 MinGW 目录,覆盖原有目录。

将 mingw-over.zip 解压缩到 MinGW 目录,覆盖原有目录。

设定系统变数 PATH。加入 D:\mingw\bin 的路径。

win9x 可以直接加在 autoexec.bat 里面。

win2000/xp 可进入“控制台/系统/进阶”中设定环境变数。

建立一个批次档。要用 MinGW 前,先在命令提示字元中执行它。建立一个 .txt,写入“SET PATH=D:\mingw\bin;%PATH%”,存档后再改名为 p.bat。

每次使用 MinGW 前,先在命令提示字元键入 “SET PATH=D:\mingw\bin;%PATH%”。

第一次编译

分别到 MAME 和 MAME32QA 的 Download 区下载原始码,本文使用的是 mame066s.zip 和 mame32v661s.zip。然后将 mame066s.zip 中的 mame.zip 解压缩到一个新建立的目录中,例如:mames,再解压缩 mame32v661s.zip,将

ui 目录整个放到 mames\src 下

htmlhelp.h 放到 MinGW\include 中

htmlhelp.lib 放到 MinGW\lib 中

开始编译,
进入命令提示字元,将路径切换到放置原始码的目录 mames,键入 make 就会开始编译 (确定你的 PATH 正确),时间长短依 CPU 的速度而有不同,如果没有出错,完成后在 mames 目录下就可以看到完成的执行档 (mame.exe)。 要编译 MAME32 则键入 make.exe WINUI=1 SUFFIX=32。

假如 make 过程中发生问题,请重新检查安装流程,确定所有程序都有确实完成。
若仍然无法解决,请记下编译执行视窗中的资讯和所用各档案的种类版本,再到各讨论区询问。

重新编译时,可将 mames\obj 下的相关目录删除,以便重新开始一个干净的编译。

gaoshou123 2005-10-24 00:09
疑难解答
取自 MAME32 Support。(MAME32 0.66)

MAME32 Troubleshooting [& Tips]

MAME32 是一个五年的老程式;它相当成熟、复杂和强固。然而,因为 MAME 计画本身是一个文件成果,在持续开发的期间,程式码的改变都会影响到MAME32。MAME32 是一个方便使用者输入的图形介面,MAME[w] 引擎的前导程式,MAME[w] 引擎发生的任何问题,MAME32 都会继承。当问题发生在特定 MAME32 版本的特定游戏时,之前的 MAME32 版本也许更容易使用。可在 Options ->Startup Options 选单中开启“version mismatch warning check”。在回报问题给 MAME32QA 前,请查验问题不是已知或是 MAME[w] 本来的缺点。MAME 测试者网站 在为基本的 MAME[w] 版本,追踪和回报错误。而目前已知 MAME32 表列的问题和缺点追踪则有效的在 MAME32QA 之中。

1. Rom 相关主题

假如你在执行游戏后得到一个 rom 错误的讯息,请进入 Properties,做一次 Audit (或直接按 Alt+a),这将检查你目前选取的游戏是不是有缺档。MAME32 不能执行一个检查出错误的游戏。

MAME 是一个文件计画。有时旧的 romset 会发现有 miss-dumped 或损坏的 rom,而它必须被取代。在新版 MAME 释出时,MAME 开发者会加入这些新的 rom,取代旧版或把旧版重新命名。因此,旧版的 rom 是在旧版的 MAME32 上运作,而无法使用在较新的 MAME32,因为它们无法被完整载入。

MAME 游戏有着 parent / clone 的关系。假如你试着运行一个 clone 或 bootleg 的游戏,你需要有这个 clone 游戏的 rom 和它的 parent set。MAME32 在 Properties 中显示 clone 的 parent set (选取游戏后,再按下 Alt+enter)。

MAME 也使用单一 Zip 档来包装类似游戏的 BIOS 档案,就如同 NeoGeo 游戏的例子,所有游戏共享着四个 BIOS 档案,MAME 会将 neogeo.zip 视为 BIOS,当你在运行 NeoGeo 游戏,会直接使用它,否则 MAME 会预设你的 BIOS 是包含在每个 NeoGeo 游戏档中。DECO cassette、CVS、PGM 和 Playchoice 也是 BIOS 游戏。如果你没有这些游戏的 BIOS,将会出现错误讯息。有时新的 bios rom 也是要加入 BIOS 压缩档做更新,近来常发现的问题是 NeoGeo.zip 的“ng-lo.rom”,注意 Mame32 是依据正确的 CRC 来执行游戏,而不是相同的名称。

按下 F5 或使用 Refresh。(在你改变你的 rom 之后)

确定你有使用适当的分类来浏览,就像是 All Games,它并不会帮你筛选你想要看的部份。

使用 Options 选单的 Reset to Default,选取所有项目,确定后再重新执行 MAME32。

最后的选择,动手删除 Mame32ui.ini 和 INI 目录下的 Mame32.ini。0.66之前的版本须删除 MAME32 的登录档机码:HKEY_CURRENT_USER\Software\Freeware\MAME32。

2. 当机 相关主题

删除游戏的 .hi、.cfg 或.nv 档案,它可能会造成问题。

确定你有正确有用的 Zip 档,而且没有损坏或设成唯读属性。

游戏在 hiscore.dat 的记录可能会发起当机,移除它后,再试一次。

假如你在检查 (audit) 或重新整理 (F5 ,refresh) 期间发生当机,你可能有损坏的 Zip 档,找出它并重新压缩。要注意的是在检查或压缩时,这档案可能已经损毁。假如你不是使用 Zip 档而是游戏名称目录,请检查目录是不是空的或者只包含部份 rom,或 rom 损坏。

假如看到怪异的显示或当机,试着关闭在背景执行的服务程式,像是 Norton Crashguard、网页广告过滤程式、扫毒软体、fastfind、Office 快捷列等等,再试着把 MAME32 移出压缩磁碟机,像是 DriveSpace、DoubleSpace 和 stacker。还可以试着关闭开始工作列上的项目,像 CD 播放程式、翻译软体等等。你可能还需要下载最新的DirectX。

有些新病毒会依附在 .exe 档上,当你执行它时,会造成 MAME32 的分页错误和违法存取。请使用扫毒软体检查 MAME32 有没有被感染。

使用 Options 选单的 Reset to Default,选取所有项目,确定后再重新执行 MAME32。

某些扫毒软体会拖慢或关于 Mame32.exe 的不实讯息,因为它是用 UPX.exe 压缩法,这错误代表扫毒软体厂商应该更新他们的病毒码。扫毒软体也可能会在及时的背景扫毒中拒绝并排除 mame32.exe。

损毁的 .dat 档案 [history.dat、mameinfo.dat、cheat.dat] 会导致 Mame32 在启动读取它们时发生错误。逐一移除这些档,以确定是那一个造成当机。

最后的选择,动手删除 Mame32ui.ini 和 INI 目录下的 Mame32.ini。0.66之前的版本须删除 MAME32 的登录档机码:HKEY_CURRENT_USER\Software\Freeware\MAME32。

3. 效能 相关主题 (声音破碎和停顿)

MAME32 会开始出现杂音、撕撕声或回音,假如你执行的游戏对你的 CPU 负担很大 (像是 Taito F3、Midway Wolf Unit 和 CPS2 这类需求较高的游戏)。你可以按下 F11 观看目前的 FPS 值,并按 F8 来调整 frame skip。假如在大部份画面,FPS 仍然很低或 frame skip 很高,代表你的你 CPU 已无法负荷,所以声音才会错误。新的显示效果 (scanlines 和 RGB 效果) 将加助 CPU 的使用,有 50% 以上。依数据,AMD Athlon 1900 XP 在使用 RGB 效果的 1600x1200x32 模式下,可以用超过 100% fps 的方式,执行 MAME32 大多数游戏 (0.58) [这是负担最重的 MAME32 设定]。请尽可能的给 MAME32 更多的硬体资源。MAME32QA 站台中建议的 MAME32 设定是很有用的。

随着 Mame32 .62 的出现,支援了市面上所有商用电脑都无法以 100% 速度的游戏。它们只能跑半速或更慢,包括 Namco System22 3D 游戏,像是Propcycle 以及 Midway 游戏,像是 Cruis’n USA、Cruis’n World、War Gods 和 Killer Instincts。但 PC CPU 最终会发展到能顺利执行它们,估计 P4 4Ghz 或 AMD 3700+ 将能运行这些游戏。而关闭 auto-frame skipping 对于这些游戏将有些助益。在 Mame32QA Benchmark 有些当前系统的效能分析。总之 Mame 是一个致力于完美模拟的模拟器,它不会走捷径或破解其他模拟器以使游戏跑得更快。

一般的通则,原本有高解析度的游戏,需要更强的 CPU 来模拟它。不要使用 Options.Default Game Options.Display 中的 RGB/Scanline effects,可以确保效能的增加。effects 设成 “none” 和 取消 scanlines,这可以使 Mame32 以最快的速度来执行游戏。

某些 MAME32 支援的大型游戏 (主要是 NeoGeo),在解压缩到记忆体时会占用上百 Megabyte 的空间,再加上 MAME32 和作业系统本身使用的部份,假如你没有足够的实体记忆体,那么 Windows 会使用虚拟记忆体做为置换,如此一来速度会有点慢。就目前所有的游戏来看 (0.58),256M 或 512M 是建议值。

假如看到游戏变得超慢而之前没有发生过,请切换“Use less CPU time if possible menu”选项 (Options Default Options -> Miscellaneous)。这常发生在笔记型电脑的使用者。

假如游戏时感觉到整个系统变慢,而以前没有时,请开启 Options.Default Options.Miscellaneous 的 Use pre-0.63 timing。

1990年代中期的 Midway games,像是 MK2、MK3、NBA Hangtime 等等。它们驱动有些问题,会造成声音变得不同步和跳针或有杂音。这些驱动的作者都已注意到了。

假如关闭 auto-frame skipping ,Mame32 运行某些游戏无法到达 100%。

假如游戏太快了,检查 Options.Default Game Options.Display 中的 throttle 选项是否开启,Options.Default Game Options.Advanced 的 sync to monitor refresh 和 Wait for Vertical Sync 是否关闭。

确定开启了主机板 BIOS 中的 AGP Fast Writes,Mame32 的显示效能可以大幅度增加。显示卡驱动也必须支援这些设定,一些新的 ATI 卡的驱动就没有。

有些音效卡,像是早期的 PCI Soundblasters 128,假如硬体加速调得太高,它会有杂音。试着检视一下控制台.声音和音讯装置的进阶项目。

有些显示卡/显示卡驱动程式可以 hardware stretching,但跑得较慢。假如开启 hw stretch 时游戏很慢,可以的话关闭它。部份 PCI 绘图卡曾有这个问题。

4. 控制器和摇杆 相关主题

要使用控制器和滑鼠,记住你必须先到 MAME32 的 Options/Default Options 中开启 Controllers 的项目。

MAME32 依赖 DirectInput 来取得控制器的支援,确定你的摇杆已经出现在控制台的游戏控制器中。

查看你的摇杆在游戏控制器中,是否为 ID #1。如不是,请分配较高的 ID 值给它。假如你有多个摇杆,请设好它的 ID 值。

最原始的 Microsoft Sidewinders 在 Win2k 无法工作,请改用 USB 介面。Sidewinders 可能会有些奇怪的问题发生,像是按键错乱。

5. 操作介面 相关主题和其它提示

假如你的图示在切换全荧幕模式时,会发生色调变化混乱,请试着将桌面的颜色数调到 24bpp 或 32bpp。

Mame32 将优先读取使用 icons 目录下的个别图示,然后才用 icons.zip 中的图示。

某些图示在检视大图示时可能会无法显示白色或有部份变透明,这是因为 windows 桌面使用白色底。请改成其他适合的颜色。

无法看见到游戏列表的文字,可能是你使用的文字颜色过于接近背景颜色或是使用的大字型加反锯齿。

details 检视模式下,只要按下开头字母即可将亮棒跳至该处快速导览游戏。

要回复原始黑灰色的视窗背景,请删除 snap 目录下的 bkground.png 档。

可以使用 Ctrl+R 来随机选取一个游戏。

可以使用 Alt-A 来查验一个游戏。

使用 .chd 磁碟压缩影像档,像是Max Force、Killer Instinct I & II、 Area 51、Vicious Circle 和 War Gods,它们的 rom 和 .chd 档有特定的用法。 .chd 档应放置在 rom 档的下一层同名子目录中,例如:Area 51 是 mame32\ROMs\area51.zip [rom 压缩档] 和 mame32\ROMs\area51\area51.chd [对应的个别 .chd 档]。此外,要顺利的执行,还需要建立 mame32\diff 目录 [不要把 *.chd 档放到 diff 目录中]。也不要压缩 .chd 档。

假如 Options/Default Options/Advanced 的“Stretch using hardware”选项是灰色,检查桌面是否为 16bpp 或 32bpp,而不是 24bpp。假如仍然为灰色,那你的显示卡不支援 MAME32 需要的硬体扩展功能。

为减少某些卷轴游戏的画面破碎,当 refresh 设定为 auto 时,必须选用 triple buffering 和 match game refresh rate。它会让你的荧幕更新率变成 60Hz 或最接近这游戏原始的更新率(按下 F11,参考 fps 数值)。

向量 (Vector) 游戏,像是 asteroids,会看起来更好并更顺畅,假如你关闭 hardware stretch 和 triple buffering,将 gamma 调成2,并且使用高解析度,像是1024x768x32。

在 folders 目录中的特定 .ini 档案都是设成唯读,以避免意外的覆写动作,并发出错误讯息,假如你确定要修改,请取消唯读属性。

假如 Mame32 储存设定时有奇怪的反应或是出现无法清除设定,请检查是否使用多个版本的 .exe。假如同时执行多个 Mame32,将只会储存最后一个关闭的 MAME32 的设定值。

在 Win2K/XP 中,如果使用者不是系统管理者或其组群中的成员,某些 Mame32 的使用者介面选项可能会失效。

假如你是在视窗模式下使用 1280x1024 的桌面,请在 Default Options.Advanced 改变你的长宽比,以 5:4 替代 4:3,这可以使你执行全画面的垂直类的游戏。

假如 Mame32 尝试切换荧幕所不支援的显示模式,而造成荧幕出现 out of frequency 的讯息或是进入休眠状态,请在 Options.Default Options.Display 中设定 Resolution 或取消 Switch resolution to fit 和 Switch color depths to fit。

假如你有储存按键对映和设定组态的麻烦,检查一下 cfg 目录下的 .cfg 档是不是设成唯读。

假如你的游戏设定选单 (in-game [TAB] menu),长时间无回应或无法存取它。可能是你原有的快速键对映到其它的功能。那么你必须删除 MAME32\cfg 目录下的 default.cfg 后,再执行一次 MAME32。

假如你会在同一机器上使用多个版号的 Mame32,它会有个更新版本的讯息。检查一下 Options.Interface Options 中的 Enable version mismatch warning option 是否开启。如果确定常要用不同版本,可关闭它。

在 Windows XP 中,Screenshot 视框会变成灰色,这是因为 MAME32 0.55 包含了一个名为“mame32.exe.manifest”的档案,请移除它,再试着查看Screenshot 视框。

Mame32 现在使用外部的 .ini 档取代登录档来储存设定。假如须要回复 Mame32 原始的设定值,只要简单的删除 Mame32ui.ini 和 ini 目录中的 Mame32.ini 档。在下次执行 Mame32 时,它将会使用预设值重新建立这些档案。

gaoshou123 2005-10-24 00:09
常见问题解答(Frequently Asked Questions)
常见问题解答(FAQ)

这个 FAQ 最初是在 Insert Coin 发表,主要是由 Shane R.Monroe 编写。现在他的工作已经由 Andy Fielding 接替。
假如你想要翻译它,请联络 webslave ,他会协助你 (不需要直接编辑这杂乱的 HTML)。
这个 FAQ 的最近更新日期为 2003年 7月 XX日。
注意:为了避免不必要的页面更新,请等整个网页全部下载完毕之后再点击。:-)
在这个 FAQ,档案名称和其它专用名称会用红色注明,而命令列或其它你要键入的资讯用绿色。你要按的重点按键则是用灰色。
是相对于前一版 FAQ (0.64wip),所新增或有修改的部份。

你可以到 MAME - Documents - Frequently Asked Questions 阅读其他语言版本。


关于这个 FAQ (4)

A01. 为什么会有这个 FAQ?
A02. 如果我发现这个 FAQ 中有错误的地方,那我应该怎么做呢?
A03. 如果我想解决的问题在这个 FAQ 中找不到,那我该怎么办呢?
A04. 这个 FAQ 的由来是什么?

概要部份 (14)

G01. 什么是 MAME?
G02. 执行 MAME 需要些什么?
G03. 有没有 Windows 版的 MAME? 我能用它来替代 DOS 版吗?
G04. 是否有 Amiga、Unix 等系统的 MAME 模拟器?
G05. MAME 真的是完全免费的吗?
G06. MAME 是不合法的吗?
G07. 我是否可以散布 MAME 和/或给我的朋友?
G08. MAME 是什么写成的? 我可以得到原始码吗?
G09. MAME 支援那些控制装置?
G10. 到目前为止 MAME 都模拟什么游戏?
G11. 喂,请模拟这些游戏!
G12. 我发现一个错误,我该怎么做?
G13. 为什么开发小组不去修正旧游戏而只增加新的游戏?
G14. 为什么这些游戏没有模拟声音?

开始入门 (14)

S01. 在那里可以取得 MAME?
S02. 从那里能得到 MAME 的游戏 (ROM) 呢?
S03. 什么是 Sample,为何我需要它,在那里可以取得它呢?
S04. ROM 和 Sample 是 ZIP (压缩) 格式的。是否需要解压缩呢?
S05. 一旦取得游戏的 ROM,我应该把它放在那呢?
S06. 我该把 Sample 放在哪里? MAME 怎么知道它在那里?
S07. 我要将 .CHD 档 (被压缩的硬碟映像) 放在那里?
S08. 要如何执行 MAME? (DOS 和 Windows)
S09. 为什么 MAME 回报“missing files”,即使我有这个 ROM?
S10. 什么是 frontend? 我需要吗? 假如要,我该使用哪个,那里可以取得它?
S11. 如何确定自已获得了正确的 ROM?
S12. 荧幕上奇怪的黑色水平线是怎么回事?
S13. 有那些显示的增强模式?
S14. 当我在玩某个游戏时,为什么画面会破碎?

我该如何...? (12)

H01. 我该如何按“OK”键?
H02. 好了,我已经在游戏的开始画面了。我要如何开始玩游戏呢?
H03. 如何使用输入设定选单? 我想改变按键。
H04. 我犯了些错误,Tab 再也无法进入选单。
H05. 如何改变滑鼠和摇杆的控制轴?
H06. 在游戏时,是否能抓取当前的游戏画面?
H07. 我能否保存我的游戏进度,以便能接下去玩呢?
H08. 我能通过 Internet 进行两人游戏吗?
H09. 什么是 Cocktail 模式?
H10. 我是一个输不起的人。我要如何在游戏中作弊?
H11. 怎么才能把我的 cheat 加入 CHEAT.DAT?
H12. 我该如何将 MAME 加入 Windows 的开始选单?

疑难解答 (综合) (15)

T01. 我执行了这个程式,并且出现一个视窗一闪而过。
T02. 为什么我的摇杆不能使用?
T03. 我已通过了版权和资讯画面,但游戏根本没有开始或运作。
T04. 当我开始游戏的时候,我看见了一连串杂乱的色彩,或者古怪的文字如 Coin、ROM、RAM 等等。
T05. 方向键能使用,但是我不能做开火、跳等动作。
T06. 我不记得游戏如何控制。
T07. TRON 的手臂不能移动,我不能瞄准 Heavy Barrel 等东西。
T08. 为什么我喜爱的游戏不能保存我的高分记录?
T09. 用滑鼠控制游戏时太敏感/不太敏感。
T10. 为什么有些游戏在我的电脑上跑得如此的慢?
T11. 我如何使<某个游戏>跑得更快一点?
T12. <某个游戏> 不能正常运作。(是的,我已确定过 MAME.TXT 和 GAMELIST.TXT,它应该能玩)
T13. 为什么<某个游戏>的 bootleg 版本能运行,但原始版却不行?
T14. 当我用滑鼠玩 Star Wars (或其他游戏)时, 十字线的移动向方错误。
T15. 有时速度会有问题。

特定游戏资讯 (16)

I01. Sega System 16 的游戏不能运作。
I02. 我在 Outrun 无法改变排档。
I03. Mortal Kombat 和其它新近的 Williams 游戏的音量很小声。
I04. 当载入最新 Neo Geo 游戏的 ROM 时,电脑没有回应。
I05. 我如何显示 Metal Slug 和 King of Fighters 游戏的鲜血?
I06. Hard Drivin'、Metal Slug 2 和 Double Dragon 会断断续续,但我的 CPU 很够力。
I07. Wild West C.O.W.-Boys of Moo Mesa 会当掉,少数关卡开始后。
I08. 我在 Terminator 2 中如何校准我的枪? 我能使用光线枪吗?
I09. 我如何在 Namco 的游戏中校准我的枪? (Golly! Ghost、Lucky & Wild 等等)
I10. 为什么在 720 Degrees 无法使用我的类比摇杆?
I11. 我想试着玩 Williams 游戏 (Joust、Defender、Bubbles 等等) ,但是游戏无法妆Ρπ进入。
I12. 当我运行 Zookeeper 时,等到显示“THIS LOCATION”画面就不会动了。
I13. Food Fight 有个 NVRAM 的错误?
I14. 当我试着去玩 MACH 3 或 Us vs. Them 时,会显示要我插入光碟的讯息。
I15. 我如何玩 Water Match?
I16. 我如何开始一个 PlayChoice-10 游戏?

疑难解答 (Windows) (5)

W01. Startup error: Dxxxxxxx.DLL (除了 DINPUT.DLL 之外)
W02. Startup error: DINPUT.DLL
W03. 我没有得到错误资讯,但是游戏没有音乐或音效。
W04. 我没有得到 DINPUT 错误的资讯,但是我的摇捍/控制器仍然不能用。
W05. 有给 Windows 版用的图形化前导程式吗?

疑难解答 (DOS) (13)

D01. Error: No 16-bit XXXxXXX mode available.
D02. Error: Audio initialization failed
D03. Error: Load error: No DPMI
D04. Error: Unable to initialize display
D05. 我得到分裂显示,像两个画面前后相互交错。
D06. 什么是 VESA V3.0? 为什么我的显示卡没有它?
D07. 游戏画面的上面或下面被截掉了一部分。
D08. 我有一块 AWE32/AWE64 音效卡,但是如果我选了它,MAME会慢得像爬的一样。
D09. 我有一块 Sound Blaster 卡,但我在 Windows ME 中速度有问题。
D10. 我有一块 Sound Blaster 卡,而在 Windows 下会有杂音。
D11. Error: Exiting due to signal SIGNOFP Coprocessor not available at eip=0014d62c
D12. 我有一块 Sound Blaster 卡,但是没有声音。这是怎么回事?
D13. 我的 PCI 音效卡不能正常的在DOS下工作。

其它问题 (18)

M01. 为什么像 Galaxian、Donkey Kong、Pac-Man 等游戏会有很多不同的版本?
M02. 街机游戏是如何做防拷保护,为什么要这样做?
M03. 什么是“特制晶片”(custom chips)?
M04. 什么是 bootleg 版本?
M05. 所谓的“光栅 (raster) 效果”是什么?
M06. 什么是 flyers?
M07. MAME 的麻将 (Mahjong) 游戏是什么?
M08. 有线上讨论区吗?我想讨论 MAME。
M09. 我能做自已的街机机台吗?
M10. 假如想要用真正的街机制控器要怎么办?
M11. MAME 能使用 SMP 吗 (平行处理;对称多重处理 ,symmetric multiprocessing)?
M12. MAME 何时会用 Direct3D/OpenGL 来模拟<某个愚蠢的 3D 系统>?
M13. 为什么 MAME 一直比较慢?
M14. 为什么 MAME 这么慢? 这些游戏不是才跑不到 10 MHz,而我的 CPU 有 500 MHz!
M15. MAME 是 simulator 还是 emulator
M16. MAME有其他语系的版本吗?
M17. 我能为 MAME 计画做出什么贡献吗?
M18. “romcmp”是用来做什么的?

ROMS (6)

R01. 什么是“merged”ROM?
R02. 在 merging 之后,可以删除不需要的 ROM 吗?
R03. 我已经把 MAME 升级到最新版本,但是有些 ROM 还是不能运行。
R04. 什么是 PROM?
R05. 为什么我不能下载有所有 ROM 和 Sample 的档案?为什么我在问的时候,站台的人都会很反感 (hostile) 呢?
R06. 为什么我找不到<某个游戏>的 Sample?


--------------------------------------------------------------------------------

gaoshou123 2005-10-24 00:10
关于这个 FAQ
A01. 为什么会有这个 FAQ?

这个 FAQ 对刚刚接触 MAME 模拟器的人是很有帮助的。即使是使用 MAME 已经一段时间,这个 FAQ 也能提供许多重要的资讯。

MAME 小组收到过很多要求我们解答问题的来信,其中有些问题已经在这解答了。因此,在提出一个无关于 MAME 实际发展的问题前,请先阅读这个 FAQ。

返回

A02. 如果我发现这个 FAQ 中有错误的地方,那我应该怎么做呢?

请将讯息张贴到 FAQ forum,告诉我们错误在何处。

返回

A03. 如果我想解决的问题在这个 FAQ 中找不到,那我该怎么办呢?

假如你是使用 MacMAME 或 XMAME ,请先检查你的问题是否已在它们的 FAQ 中被解答。

假如没有,将讯息张贴到 FAQ forum。请注意:不要寄任何的 ROM、sample 或网址给我们。这样的来信,我们将不予理会。

返回

A04. 这个 FAQ 的由来是什么?

这个 FAQ 是由 Monroeworld 的 Shane R. Monroe 开始制作的。现在他已经离开 MAME 开发小组,去从事其它的工作。我们得到了他的许可,继续把此 FAQ 制作下去。

这个 FAQ 可能可以在许多其它站台上看到,但是它们的版本多已过时。最新的版本可以到 MAME 官方站台查看。

返回


--------------------------------------------------------------------------------

概要部份
G01. 什么是 MAME?

MAME 是一个多种大型机台游戏的模拟器,使用它与游戏的资料档 (ROM) 时,MAME 会或多或少的把这些游戏在电脑上重现。MAME 现在能模拟70年代、80年代到90年代,超过1900个 (总数超过3300) 不同的经典大型机台游戏。

MAME 所使用的 ROM image 都是从街机游戏原作电路板的 ROM 晶片上“dumped”下来的。MAME 成为了游戏的“硬体”,代替了它们的中央处理系统和相关晶片。因此,这些游戏不是仿制的,而是街机游戏真实原作的重现。

MAME 的目的在保存过去几十年的游戏历史。在游戏技术不断向上提升的同时,MAME 能防止这些重要的经典游戏消失和被遗忘。

返回

G02. 执行 MAME 需要些什么?

多数的电脑都能运行 MAME,但不是全部。它的运作主要是依靠系统的 CPU 速度和记忆体大小。但是能否执行还要看个别游戏的情况,有些游戏对硬体要求比别的游戏可能更高点。

这里有一个基本电脑系统能玩 (和适用) 大约一半的 MAME 支援游戏:

Intel Celeron / AMD Duron 700 MHz

64 - 128 MB RAM

足够的硬碟空间 (所有 MAME 支援的 ROM set 需要 4GB,但绝大多数的 ROM sets 都是很小的)

DirectX (Windows 版) 或 VESA 2.0+ (DOS 版) 相容的显示卡

任何能在 Windows 工作的音效卡 (Windows 版) 或相容 Sound Blaster 卡的音效卡 (DOS 版)

绘图:这些游戏没有使用流行的3D效果,所以 3D 加速卡不是必要的。最好选择是一块有 2M 或更多记忆体且支援 VESA 2.0 的 2D 显示卡(最佳的选择是附有高品质 TV-out 的 Matrox G200、G400 或 ATI Radeon)。

声音:所有被 Windows 支援的音效卡都能自然地在 Windwos 版的 MAME 中使用。对 DOS MAME,Sound Blaster 卡 SB32AWE 是最好的选择,你能找到些不错的二手货。SB64PCI、SB128PCI、Ensoniq Soundscape PCI 和 Sound Blaster Live! 据说都能用,但在 legacy DOS 驱动上也许有问题。查阅 Easy MameCab 网站关于 DOS 下 PCI 卡支援的资讯。

一般来说,更好的配备将产生更好的效果,它也会和你想要模拟的游戏有关。例如:Pac-Man、Donkey Kong 和 Scramble 都不需要太高,像 Pentium-166 就跑得很好。一个低阶的 Celeron-700 加上好的 2D 显示卡能玩大约一半的游戏。使用 32-bit CPU 或多 CPU 或有复杂的绘图和/或声音硬体,像 Xexex、StreetFighter the Movie、Bloodstorm、Revolution X 等等,需要 1.2GHz 以上或更多,有些游戏即使是用 P4-2GHz 仍然不足够。有些巨大的游戏,像 Metal Slug 3 或 King of Fighters '99 需要 256MB 的 RAM,一些小游戏只要 32MB 便能轻松执行。对于某些游戏,你可以关闭声音以降低速度需求,使用命令列参数: -nosound。

对于 Macs,在任何 G3 基础的机器,MacMAME 能运行大部份的游戏。

还有这个不行,你不能在网路电视 (Web TV) 上玩 MAME。

记住:MAME 计画并不是要让每一个游戏都能玩,而是让每一个游戏都能真实的运作。接受事实吧,有些游戏不能在你的电脑上完全正常的运行,你可能会感到失望。(同样地,记住 MAME 是免费的。如果你花钱买了它,就如同你被抢劫了。)

返回

G03. 有没有 Windows 版的 MAME?我可不可以用它来替代 DOS 版的?

现在有两个主要的 MAME 版本, Windows 和 DOS。两者同时在网站上更新。你应该使用那一个? 请两个都试试。目前大多数的电脑,Windows 版跑得比 DOS 版更好,但在部份版本也许会出现不相容、有错误和无法预料问题。如果你能在你的电脑上跑 DirectX 应用程式,Windows 版将有机会运作的很好。最后你得决定那个版本最适合在你的系统中运行。

返回

G04. 是不是有 Amiga、Unix 等系统的 MAME 模拟器?

是的,MAME 有各种版本能在多种平台上运行,包括 Mac、Linux 和 Amiga (请看 MAME 官方网站的 Other ports,以得到完整的列表)。甚至有人说有 N64 版的 - 虽然它很难取得 (而且是非法的,因为它把 ROM 和程式合并)。 根据传闻 MAME 已移植到 PlayStation 2 和 Xbox 家用主机,但这些平台不是也将不会是有效的平台,因为开发系统有限制。询问它们是无益的。不过,Dreamcast 有些合法的 MAME 版本。

新的 Mac 和 PC 版本常是同时释出 - 其他的通常会在一段时间后赶上,假如你是这些平台之一,希望它们的释出不会延迟太久。

返回

G05. MAME 真的是完全免费的吗?

是的,MAME 是一个免费的软体。程式原始码也是公开的。销售 MAME 或它的原始码是不合法的行为。

返回

G06. MAME 是不合法的吗?

不是。靠本身技术来模拟其它平台,不是违法的。你把 MAME 放在你的电脑里,放在站台上,或者送给朋友都不是违法的行为。

Rom-Images 就是另一个不同的问题。许多 rom 站台已经被 rom 的版权所有者客气地关心过,要求他们在把 rom 从站上去掉。虽然是这样,但还没有一个站台因为这个而被关闭或者是被起诉过。

有个关于 rom 的明显先例:Capcom 有授权些经典 rom 包含在 Hanaho 的 HotRod 摇杆控制器内。购买它,你可以拥有绝对合法的 rom 。

拥有 ROM images 的电路板,不代表拥有法律上的版权,就像是拷贝朋友的游戏或音乐 CD 甚至买它,这仍是法律的灰色地带;拥有这样的 rom 可能不会被法律起诉,无论如何,你要对你的行为负责,如果你遇到麻烦,无关 MAME 计画的责任。

返回

G07. 我是否可以散布 MAME 和/或给我的朋友?

是的,但是请阅读和注意它的限制 (请看 MAME.TXT):

“散播 MAME 绝对禁止在同一个物理媒介上加入无合法授权的 ROM。 你不被允许散布 MAME 到你要贩售、宣传、广告的非法 CD-ROM 和其它包括 ROM 的媒体上。注意,即使你没赚到钱,直接或间接,对类似活动这个限制也是有效的。你可以把 ROM 和 MAME 同时放在同一个站台上提供下载,但是你要向使用者声明 ROM 的版权状态,并清楚地说明,如果不愿担负可能招致的法律后果,使用者不一定要下载 ROM。”

返回

G08. MAME 是什么写成的?我可以得到原始码吗?

MAME 是用可移植、模组化和最具可读性的 C 语言来编写。原始码一直是公开免费的 - 在授权要求下 - 你可以用最少的改变来编译符合你自己需求的版本。Windows 版目前使用 MinGW 来编译,它相当于 Windows 下的 GNU C Compiler 版本。DOS 版使用 DJGPP 2.03 编译,一个 DOS 下的 GNU C Compiler,支援函数库。更多的编译指令细节在 MAME 官方网站的 Windows 和 DOS 网页。原始码可以做修改,但记得阅读 MAME.TXT 内的限制:

“这一节可能不适用于部分具有特定版权宣告的 MAME (例如 CPU 模拟器)。此原始码在没有经作者授权的情况下是不能用于商业产品的。使用在非商业产品上是允许的也是值得鼓励的。但是,如果要把 MAME 原始码的一部分用在你的程式里的话,你必须使整个原始码都免费。包含在这些原始码中的资讯,是可在任何地方自由使用的,然而这些资讯得花上大量的时间和精力去收集,如果你发现新的资讯且允许它被免费使用,我们将非常感谢。”

“只要愿意公开原始程式码,则衍生版本是被允许的,但我们并不鼓励这些非官方版本的制作。MAME 是个持续精进的计画,如果您的兴趣在此,则欢迎提供您的改进部分给 MAME 开发小组,以便将这些部分整合到官方版本。某些对原始程式码进行修改的行为则是违反本计画的精神,这并不被承认为衍生版本,而散布或执行这些档案更是被严格禁止的。禁止修改的部分如下,但不仅止于这些部分: - 开启被禁止执行的游戏 - 修改 ROM 辨识指令使其回报为缺少游戏 - 移除启始的讯息视窗。你必须使用不同名称,以清楚表示它是 MAME 的衍生版,而非 MAME 小组所散布的官方版本,仅仅在 MAME 前后加上简单的标点符号 (例如 MAME+) 是不够的,名称必须有明显地区别 (例如 REMAME)。而衍生作品的版本编号则必须与你使用的官方版本保持一致。”

返回

G09. MAME 支援那些控制装置?

MAME 支援多种的控制装置,虽然不是全部。

(1) 键盘和其他类似的东西,包含了利用键盘模拟街机控制的方式,例如 HotRod Joystick Control Panel、X-arcade 和 SlikStik。
(2) 滑鼠和轨迹球。轨迹球并不是很普遍,但它的模式类似滑鼠,所以它应该能运作。
(3) 摇杆和游戏手把。大型电玩游戏通常有数位摇杆,所以游戏手把或数位摇杆是比 PC 传统类比摇杆来得更接近原始控制方式。
(4) ACT-Labs PC USB 光线枪。这个新的 USB 光线枪据说支援 MAME。注意,旧的 gameport 版本没有支援,且无法工作。

有少数控制装置没有被直接支援:

(1) 方向盘和踏板。这些还没被支援。力回馈也没有被支援。不过,假如你的方向盘模式类似普通的类比摇杆,你也许能使用它。
(2) Windows 下的多个滑鼠。尽管多个摇杆被支援的很好,但在 DOS 版才有支援两个滑鼠。
(3) 一般的光线枪。通常在 MAME 下光线枪没有相容的方法可以使用。你不能连接 NES Zapper 到你的 PC。ACT-Labs PC USB light gun 是个例外 - 它应该能使用。

返回

G10. 到目前为止 MAME 都模拟什么游戏?

每一版的模拟器是越来越好,越来越有希望。请查看 GAMELIST.TXT 和 WHATSNEW.TXT 文件,利用浏览器的搜寻功能找到你所喜欢的 (专属于你的那一个 ;-)

你也可以浏览 screenshot archive。假如你记不得你要找的游戏的名称。

另外还有一个很有帮助的站台 Bobby Tribble's page of unemulated arcade games。里面有很多现在不能模拟游戏的抓图和说明。

也可以看一下 System16 - The Arcade Museum。它是个资料很详细的站台,有关于几个大厂商制作的游戏,也包含了许多硬体资讯。

返回

G11. 喂,请模拟这些游戏!

(1) 不管你信不信,有些 MAME 小组的成员有 dreaded Real Life TM 综合症,你无法命令他。

(2) 通常还不能模拟的游戏,它的 ROM 都不存在的。即使你有,也请不要发信过来要求开发者支援这个游戏。改为建立一个网页收集关于这游戏的资讯、图表、手册等,这种研究方式通常会成功的。

想得到现在已在进行工作的游戏资讯,请看 MAME 官方网站上的 MAME WIP (Work In Progress)。如果你看见不到你要的游戏,那说明这个游戏现在还不能被模拟 - 或者,可能是,开发者想保密。

返回

G12. 我发现一个错误,我该怎么做?

请不要寄这方面的 Email 给我们。首先,确定你是使用最新版的 MAME。问题也许早已被修正,所以你不应该浪费时间在一个旧版上。

假如你是使用最新版,极可能已经有人遭遇它并且回报了。你能在出色的 MAME Testers 网站查阅它。或者你能选择在 MAME 讨论板中张贴一个讯息,像是 MAME 官方网站的。在张贴之前,请再三确定你的“新”问题,并且试着尽你所能的取得关于这个问题的资讯。

返回

G13. 为什么开发小组不去修正旧游戏而只增加新的游戏?

很简单。加入新游戏相对的容易且有乐趣。有时,只要能得到有用的 dump,要做的事都一样,加入游戏资讯和 ROM 名称到指定的驱动、重新编译,然后游戏就能完美的运作。相对的,修正现有的游戏通常冗长乏味且困难。时常需要开发者玩游戏到有错误问题的点,然后再一行一行地逐步解析机械码。再三地重复。令人作恶。一旦了解了这个错误,开发者必须把它改写好,清理程式,在机器上不断的执行 MAME 冶Ρ正问题。(比你所想得还要困难很多)

但有时,尽管他们十分努力,仍无济于事:

修正 Asteroids 的声音?没有可做的,除非你对离散电路和一份要价5000美元的模型制作软体的内部工作原理极为了解。

加入声音到 Wizard of Wor?不行,除非你能模拟一个20年前制造且已停产的晶片,而且唯一的已知文件很旧,是抄自一个前 Sanyo 工程师用日文写的破旧表格。

修正 Pig Newton 的颜色?不行,除非你能找到仅存不到10块的基板,并且把颜色的 PROM 吸取下来。

修正 Mole Attack 绘图的毛病?咳,这游戏有些保护装置相互影响,这些完全未知,因为我们没有基板、没有图表、什么都没有。那这个驱动有什么用?天啊,我希望我们知道!

修正 cocktail 模式在游戏中的 X、Y 或 Z?嗯...让我们和 DIP switches 玩盲人摸象,寻找适当的背景和人物图像暂存器。是那样吗? 不是... 这样如何?也不是....嘿,解决两个,但只是三十个想要的特定 DIP-switch 设定之一...!

建议:假如你想要你喜爱游戏的错误被修正,请回报它到 MAME Testers ,并且试着尽你所能的叙述它的特征和更多相关的细节。开发者最后将会得到它,他们确定会。假如他们不能很快的满足你,很好,你正好可以学习 C 并且靠你自己动手。然后,也许你会发现维护和修正是多么麻烦的事。

之后哭得大喊,“我本来就不是程式设计师!”

抱歉,但假如你不愿意等也不愿意学习,请闭上你的臭嘴。

返回

G14. 为什么这些游戏没有模拟声音?

这有几个原因:

(1) 声音被加密。像是 Irem M-92 基板,你能够绘图,但这个保护中止了声音的工作。

(2) 声音晶片很复杂。像是 Primal Rage (和所有晚期的 Atari 游戏) 使用 Atari 的游戏声音系统,类似 Killer Instincts DCS 声音系统,但较好,以及更晚期的 Model 2/3 基板和 Saturn/STV 使用复杂到吓人的 Sega SCSP 晶片,还有使用在 Strikers 1945 II 的 OPL4 也是相同的复杂。

(3) 声音的 rom 没有被 dump 或 dump 错误。这经常发生。

(4) 声音处理器/晶片是未知的,或是特制的。像是大多数晚期的 Namco 游戏,包括了 System 11和12基板,两者的晶片都完全未知,而且没有任何其它相似的声音晶片/处理器能够支援,即使这晶片相对地简单,但没有实际的基板进行逆向工程,使得模拟它几乎不可能。

详述这个问题:在 MAME 的架构下要模拟类比电路是极度困难的 (尤其是声音电路)。取而代之的是写一个常式来表示单一声音晶片如何使用一套参数回应一个指令。你必须写常式来定义一套电路 - 几个可能的即时交互影响 - 在某个点某个应用的 (可能的变数) 电压/电流如何回应等等。再来,模组化这些东西是很痛苦的;它需要高度先进 (和昂贵) 的软体,而且在 MAMEDEVs 中仅有二三个人了解如何使用这些软体去建立模组和借由它们设计出 MAME 程式码。

返回

gaoshou123 2005-10-24 00:11
开始入门
S01. 在那里可以取得 MAME?

MAME 随时都可从 MAME 官方网站取得或从其他的映射站,像是 Retrogames、EmuViews、Zophar's Domain 和 Vintage Gaming Network。很多的网站上也都有 MAME,但你可以在上面提及的那些网站找到最新的版本。MAME32 则是在 MAME32 网站。

返回

S02. 从那里能得到 MAME 的游戏 (ROM) 呢?

你有三个合法的途径:

(1) 透过拍卖购买真正的游戏电路板 (比如 eBay),再买一个 ROM reader 的装置,把 ROM 晶片的内容拷贝成档案。
(2) 购买 HotRod Joystick control panel,它有一片 CD 包括了 MAME、Arcade@Home frontend 和100%合法的 Capcom rom。
(3) 在 MAME 官方网站的 miscellaneous downloads ,也有三个免费的 rom set。

非法的选择是利用 Google 、Altavista、Yahoo、Webcrawler 或者其它的搜索引擎搜寻网路,以得到 rom。你要明白几乎在所有国家这都是触犯法律的,在考虑做这件事之前,看看这个街机游戏的版权所有者是否开放 rom (像是 Capcom)。这样做是支持这些游戏公司和有利竞争的表现。

返回

S03. 什么是 Sample,为何我需要它,在那里可以取得它呢?

Sample 是数位化的声音档案,有些游戏需要将它加入 ROM 档案,以提供真实的声音,例如 Donkey Kong Jr. 的声音还没有完全被模拟,没有 Sample,就听不到游戏中主角爬和跳以及换关的声音。这就是说现在许多没有声音的游戏需要 Sample 来支援,以得到完整的声音支援。

Sample 在 MAME 官方网站的 Samples 。

返回

S04. ROM 和 Sample 是 ZIP (压缩) 格式的。是否需要解压缩呢?

你不需要解压缩这些档案。MAME 和大部份的前导程式会自动从这些压缩档读取 ROM 和 Sample 的资料。如果因为某些奇怪的原因,你一定要把这些档案解压缩,请使用 WinZip 或者免费命令列程式 UnZip 。

返回

S05. 一旦取得游戏的ROM,我应该把它放在那呢?

把它放在 MAME 目录下的 ROMS 子目录。你不需要解压缩 ZIP 档

返回

S06. 我该把 Sample 放在哪里? MAME怎么知道它在那里?

把它放在 MAME 目录下的 SAMPLES 子目录。如果 Sample 有着正确的名称,而且放在了正确的地方,MAME 会自动的载入。99% 的 Sample 必须和 ROM 档案的名称相同,比如 Donkey Kong Jr. 的 Sample (ROM 名称:DKONGJR) 也必须是 DKONGJR。

注意:只要有游戏“parent”(基本) 版的 Sample,就能在同一游戏的不同版本之间使用了。所以只要有 DKONGJR 的 Sample 在 SAMPLES 目录里,DKJRBL (Donkey Kong Jr. Bootleg) 和 DKJRJP (Donkey Kong Jr. Japanese) 就能完整使用 Sample ,不需要三个有同样 Sample 的档案。下面的目录树,是 MAME 和 DKONGJR 和其 Sample 的实际存放方式,你可以看看:

C:\─\MAME\┬mame.exe
      │
      ├\ROMS   \─dkongjr.zip
      │    
      └\SAMPLES\─dkongjr.zip
返回

S07. 我要将 .CHD 档 (已压缩的硬碟映像) 放在那里?

把它们放到 ROMS 的子目录中,跟游戏相同名称。不要尝试将它们放到 ZIP 档案中,它们太大了。示范:

C:\─\MAME\┬mame.exe
      │
      └\ROMS   \┬area51.zip
              │
              └\AREA51   \─area51.chd
返回

S08. 要如何执行 MAME? (DOS 和 Windows)

要在 Windows 执行 MAME,先要开启一个命令提示字元视窗。你可以在开始 - 程式集中找到或者你可以使用执行,并且再键入 command.com (Windows 95/98/ME) 或 cmd.exe (Windows NT/2000/XP) 到对话方块中。试着用 cd \mame 切换到你的 MAME 目录 (例如 C:\MAME) ,再键入参数指令:

mame <gamename> <parameters>

只是要载入一个游戏,不一定需要参数,例如键入:

mame rastan

这使游戏 Rastan 使用预设的设定。假如你想指定参数,试试这个例子:

mame rastan -effect scan50

这将让游戏 Rastan 使用 50% scanlines 效果。完整的参数列表,请阅读包含在 MAME 内的 WINDOWS.TXT 和 MSDOS.TXT。你也可以编辑 mame.ini 档案冶Ρ改预设设定(使用 -createconfig 建立或用短格式 -cc )或是 DOS 版的 mame.cfg 档案 (会自动建立)。

返回

S09. 为什么 MAME 回报“missing files”,即使我有这个 ROM?

这有很多的原因,如下所述:

(1) “Clone”游戏需要它的 parent ROM。Clone 通常是“替换版 (alternate)”, 比如在其它语系有不同名称的游戏版本,“盗版 (bootleg)”是去除防拷保护等等。“parent ROM”大多是原始的游戏,假如它是有多国语系,通常 parent 会用“World”或“USA”版本的游戏。要看一个游戏是否是个“clone”,可使用 -listclones 参数。

(2) 有时 ROM set 在新版 MAME 的会有改变。例如,在新版本中一个游戏的声音被模拟,因此需要更多的 ROM 来执行 (在这个例子就是 sound ROM)。预计将会有更多新的驱动资料加入。

(3) Neo Geo、PolyGameMaster (PGM)、Convertible Video System (CVS)、 DECO Cassette 和 Playchoice-10 的游戏需要它们的 BIOS ROM 附加在游戏 ROM 中。BIOS ROM 是系统使用的,同一系统的所有游戏都共通 (通常包含了开机码或 menu processor code)。这些档案必须分别命名为 NEOGEO.ZIP、PGM.ZIP、CVS.ZIP、DECOCASS.ZIP 或 PLAYCH10.ZIP。请把它们放到你的 ROMS 目录 (确实压缩它们)。

(4) 像 Cojag 游戏和 Killer Instinct 系列等少数游戏,需要硬碟映像档 (.CHD 档案) 来配合 ROM。放置方法在 S07。

(5) Capcom CPS-2 游戏 (就是 Street Fighter Alpha 系列、Vampire、 D&D 系列、19XX、X-men COTA 等等) 现在需要它们的解码表来运行。 这些档案可以和 ROM 分离或合并在一齐。解码表由被解码的 ROM 取得 XOR,可以使用它们在记忆体中对 ROM 解码。解码表档名是在 ROM 档名的最后面加上“X”。目前解码表只由 CPS2shock 制作,在未模拟的 CPS-2 游戏加入 MAME 之前,你必须等他们释出解码表。一旦加密被真正破解了,这些档案就不需要了。

返回

S10. 什么是 frontend? 我需要吗? 假如要,我该使用哪个,那里可以取得它?

前导程式 (frontend) 是一种供 DOS 版 MAME 使用的 GUI (图形使用者界面 ,Graphical User Interface)。当你正确的安装好游戏的 ROM (Sample,有些游戏需要) 后,可以在前导程式 (通常是) 设定显示模式选项等等,否则你必须妆Ρπ打入命令参数来运行游戏。你也可改变每个游戏的设定,前导程式会记住所作的改变,换句话来说前导程式使 DOS MAME 成为了 point-and-click 的程式。前导程式能显示每一个游戏的图片,游戏的资讯 (历史、作弊资讯等),以及其它可得的资料。

许多人都喜欢使用前导程式 - 也有许多人去编写它。你可以看 MAME 官方站台的列表 frontends。

返回

S11. 如何确定自已获得了正确的 ROM?

MAME 在模拟每一个游戏运行前,都会检查 ROM 是否正确可用,如果看到了“incorrect checksum”或者其它的错误提示资讯,就表示你的 ROM 没有正确的通过测试而无法运作。你必须获得完整且合法的 ROM set。

你也可以使用 -verifyroms 参数来检查 ROM 的完整性。举个列子:

mame rastan -verifyroms

....检查游戏 Rastan 的 ROM,并把检查结果输出在荧幕上。

mame * -verifyroms >list.txt

...检查 ROMS 目录下的所有 ROM 的正确性,然后把检查结果写入到名字为 list.txt 的档案 (这是一个检查大量 ROM set 的好主意 - 不然的话,检查结果会很快的在荧幕上闪过,你会来不及阅读它们)。

返回

S12. 荧幕上奇怪的黑色水平线是怎么回事?

你正在使用 MAME 的“扫瞄线”显示模式运行游戏。如果你仔细观察过真正街机的低解析度荧幕,你会看到由显示器的电子枪扫瞄形成的水平间隔。现在高解析度的荧幕,这些间隔通常是看不见的。

MAME 的“扫瞄线模式”可以让你得到接近原始街机显示模式的效果。它们在 DOS 版被设为预设模式。想关闭它,请编辑 MAME.CFG 档案,把 scanlines = yes 改成 scanlines = no 。要暂时的取消这种模式,请使用 -noscanlines。

No scanlines


Scanlines



在 Windows 版,你必须使用命令列参数 -nohwstretch 和 -scanlines 来开启它。或者,你可以使用某个附加效果,-effect scan25 (或 scan50 或 scan75),使用 25% (或 50%,或 75%) 亮度的“黑色”扫瞄线,这可以创造更好的扫瞄线效果。

25% scanlines


50% scanlines


75% scanlines



返回

S13. 有那些显示的增强模式?

必须注意,只有 Windows 版本支援这些效果。除了上面提到的 scan25、scan50 和 scan75 效果外,某些“RGB monitor masks”可以试着模仿原始机台荧幕的感觉。尝试一下它们,例如:-effect rgb3。其他的选择有 rgb4、rgb6、rgb16、rgbtiny 和 rgb4v。

3 dot RGB matrix


4 dot RGB matrix



6 dot RGB matrix


16 dot RGB matrix





Tiny RGB matrix


Vertical 4 dot RGB matrix



Windows 版预设使用显示卡功能扩展原本低解析度的影像到全荧幕。 目前多数的显示卡会产生模糊,可试着用 -effect sharp 避免它,不过要要注意速度会因此降低。你也可以试着用 -nohwstretch 来完全关闭硬体扩展功能。

scan75v 是垂直版的 scan75 ,使用它会得到垂直的扫瞄线。

其它的显示“增强模式”像是 Eagle 或 2xSaI,大概不会被正式支援,因为它们是用降低精确性的方法来加强绘画。

返回

S14. 当我在玩某个游戏时,为什么画面会破碎?

某些游戏没有和你的显示器有相同的荧幕更新率。因此模拟器会试着去除 (或重复) 些画面来做补偿。

另一种问题是画面的重绘跟不上荧幕更新率。因此画面被更新时,可能会只有一半会被重绘。这种情况常会发生画面上半部是新的,而下半部是之前的。在水平卷轴游戏中特别明显。

可使用 -triplebuffer 参数修正它。三重缓冲可以在避免荧幕更新时破坏重绘的画面。可是,只要显示器的更新率仍然不同于模拟的画面更新率,游戏依然会显得断断续续。在 Windows 版,你可以试着用 -matchrefresh 参数来避免,它会选择最接近原始状态的更新率。

应该注意不论是 Windows 或者 DOS 版,都没有支援所有游戏使用正确的显示器更新率。通常这不是重点,但假如你富有冒险精神,你可以试着制作你自己的显示模式。(资讯在 How-To-Add Video Modes to Windows) 或使用 AdvanceMAME,它有提供许多更适用的显示输出,在使用它前,确实的阅读说明文件,因为它的软体设定不是很容易。

返回


--------------------------------------------------------------------------------

我该如何...?
H01. 我该如何按“OK”键?

当你运行游戏的时候,MAME 会显示一些重要的游戏资讯 (版权宣告、关于游戏的一些问题),然后让你按 OK 继续。先按 O 键,然后按 K 键。

有些使用者使用 two-handed Dvorak 键盘,这时可按 RT 。

假如你只使用摇杆,你可以按左右几次来“输入”OK。

返回

H02. 好了,我已经在游戏的开始画面了。我要如何开始玩游戏呢?

记住,这些游戏不是重新在 PC 上制作的,而确确实实是原版的游戏。在它们开始运行之前,这些游戏一直在等待一个硬币。使用 MAME,要按下 5 “投币”和取得“一道”。开始游戏,按下 1 (第一位玩家) 或 2 (第二位玩家)。通常,玩家一的控制是设在方向键,而按钮1、2、3分别是 Left Control、Left Alt 和 Space。假如游戏没有回应,查看特殊游戏 (GAME-SPECIFIC) 的问题部份。

返回

H03. 我如何使用输入设定选单?我想改变按键。

当游戏正在执行时:

(1) 按下 Tab 键以显示设定选单。
(2) 选择 Input (this game),并且按下 Enter。
(3) 选择你想改变的输入键,然后按下 Enter。
(4) 按下你喜欢的新键或摇杆/手把按钮来改变它。在按下按钮设定它后,你必须等一二秒你应该得到像这样的画面:



设定多按钮控制,使用其中的任一装置都可以控制。按 enter 然后按下装置1 (参阅 1) 的按钮,按 enter 然后再按下装置2的按钮,装置3则重复步骤。要停止继续,先结束控制设定,然后移开。此时选单显示为:



假如行宽太大,在你选取这个控制设定时,会显示成弹出式方块,像是这样:



你也许想要控制有组合按钮的功能。设定为按下 enter,然后同时按下所有按钮 (你必须在短时间内完成)。你可以得到:



假如一个按钮有被单独使用,也被其他不同的控制组合使用,你可以排除它。设定要先 enter 再按下你想要使用的按钮,然后再立刻按下你不想要的按钮两次:



你也可以任意组合:



在这个例子中,允许“T”和数字盘的“/”或“*”组合且排除“LCTRL”来玩游戏。

使用按两次的“not”方法,若是在设定第一个按钮或按键时就按二次 (或按下选单退出按钮 ,Esc),则 (general) 选单设定的控制为“None”。如果在 (this game) 选单如此设定,则控制会回复成 (general) 定义的。

注意,当使用 Windows 版的 MAME 重新配置按键时,如果你是使用滑鼠按钮,那在进入 input 选单前,不要暂停游戏。

返回

H04. 我犯了些错误,Tab 再也无法进入选单。

很可能是你把标准的选单按键 Tab 重新设置成别的东西。要回复预设设定,你必须删除 MAME 目录下的 CFG 子目录的 default.cfg 档案。

返回

H05. 如何改变滑鼠和摇杆的控制轴?

简短回答:你不能改变滑鼠轴线。不过,从 MAME 0.61 开始,类比摇杆输入装置 (“AD stick”、“Paddle”和“Pedal”) 能像普通的数位摇杆装置一样使用 MAME 介面输入方式或 ctrlr.ini 的方式做基本的改变。 (MAME 0.60 和之前的版本不能改变类比摇杆装置)

详细回答:类比控制在 MAME 还不完美。目前有一些限制:

(1) “转盘”和“轨迹球”的输入类型只是从滑鼠、旋转摇杆 或轨迹球读取类比资料。对这些装置,MAME 将类比摇杆视同数位摇杆来读取,然后 MAME 会把它转译回类比信号 (视同一般的数位输入)。

(2) MAME 只允许滑鼠资料送到第一位玩家:X 轴资料送到游戏的 X 轴 和 Y 轴资料送到游戏的 Y 轴。它不能变更,除了开启或关闭滑鼠之外。

(3) 当改变“AD stick”或“Paddle”为不同类比轴时,MAME 只使用列表第一位的摇杆装置,将它的输入串接成类似类比摇杆的输入;这只能用透过 MAME 类比输入埠的类比摇杆装置,但多数装置是数位的。

很幸运地,有一个名为 Analog+ 的计画,致力于排除这些限制。试试它,假如你受不了这些限制。

返回

H06. 在游戏时,我是否能抓取当前的游戏画面?

是的,当你看到需要的画面时,按下F12。 这会在你的 MAME 目录下的 SNAP 子目录建立 .PNG 的“snapshot”档。要浏览或修改 .PNG 档案,请到 Jasc, Inc. 取得一份 Paint Shop Pro。

大多数的情况,你可以抓取 raw graphics (如同自 ROM 中解码一样)。按 F4 来看 raw graphics、用方向键浏览,再用 F12 来抓图。

返回

H07. 我能否保存我的游戏进度,以便能接下去玩呢?

这个功能正慢慢地在实现,因为它对 MAME 的发展很有助益。它是个相当复杂的功能,所以只有一小部份驱动支援。假如想要试看看,按下 Shift-F7 ,再按任一个按键储存一个记录,然后按 F7 ,再按下你之前按的按键载入记录。这个方法可以让你储存多个记录,例如在按下 A、B、C 等等以储存或载入记录。不过,别期望所有驱动都正确的运作这功能。

返回

H08. 我能通过Internet进行两人游戏吗?

MAMEnet 计画现在正在开发中,使通过网路玩游戏成为可能。如果等不及了,你可以试看看 MAME32k ,一个修改的旧版MAME,使用 Kaillera 程式支援网路对战。

返回

H09. 什么是 Cocktail 模式?

大多数90年代的游戏,都有两种型式的机体:一种是传统的标准型,另一种是上面有玻璃的鸡尾酒桌式的机体。两位玩家在桌子面对面坐着,换局时,显示会调转180度,所以每个玩家都能看清楚画面。

MAME 支援很多游戏的鸡尾酒模式。启动它:

(1) 游戏执行时,按下 Tab 键。
(2) 选择 Dip Switches 。
(3) 选择 Cabinet Type ,然后按右箭头键。

(在所有的双人游戏中,第二个玩家可用改变的设定来控制。)

返回

H10. 我是一个输不起的人。我要如何在游戏中作弊?

请到 Pugsy's page 或 Stephane Humbert's page 取得一个名为 CHEAT.DAT 的档案,里面包括了你所要游戏作弊的技术资料。把它和 MAME 的放在同一个目录下。然后:

MAME (Windows):编辑 MAME.INI (如果你没有看到它,用 MAME 执行参数 -createconfig 或 -cc )。把 cheat 0 改成 cheat 1。

MAME (DOS):编辑 MAME.CFG - 找到 cheat = no ,把它改成 cheat = yes。或者,你可以直接在执行时加上 -cheat 参数。

当游戏正在执行时,按下 Tab 键以显示设定选单。选择 Cheat ,列表看个别游戏的 cheat,然后开启它。

返回

H11. 怎么才能把我的 cheat 加入 CHEAT.DAT?

CHEAT.DAT 最初是包含在 MAME 中一齐散布。它已经被分离出来,所以使用者能妆Ρπ维护它。修补者的 cheat 资料库在 Pugsy's page 或是 Stephane Humbert's page。关于如何使用 cheat 引擎,可以在 Tourniquet's page 参阅 cheat engine FAQ。

返回

H12. 我该如何将 MAME 加入 Windows 的开始选单?

给多数初学者,正开始学习 MAME 的,有点情结的,尤其是你总是按下开始来开启一个程式。假如你想要 MAME 出现在你的开始选单,下面是你要做:

要使用开始选单,你有三个选择。使用 MAME32,在执行会显示游戏列表。这可能是最简单的选择,因为它相当于为每个游戏都制作了一个捷径。下一个好选择是使用前导程式 (frontend),然后将它连接到开始选单。 最后一个选择最秏时,但使用命令列的 MAME 版本是直接连接指定游戏的最有用方式。

MAME32 (使用图形介面的视窗版 MAME):

(1) 下载 MAME32 并解压缩它到一个目录,然后放好你的 ROM、Sample、Hard Disk Images 和 artwork 到专属的目录中,假如你不会做,请阅读它的 FAQ 或 readme 档案
(2) 在开始上按右键,然后选“开启”。注意:假如 Windows 2000/XP 有多个使用者,你想让每个人都能看到,那应该选“开启所有使用者”
(3) 开启“程式集”
(4) 选取“档案→新增→新资料夹”
(5) 命名这个资料夹为 MAME (或是其它你想要的名称)
(6) 开启启这个资料夹,选取“档案→新增→捷径”。然后,浏览到你硬碟的 MAME 目录,再选取 MAME32.exe
(7) 最后,为这个捷径打一个名称,像是“MAME32”

启动你的“前导程式”:

(1) 接着上面的步骤 2-5
(2) 再接着上面的步骤 6 和 7 ,但换成浏览前导程式的目录和 EXE 档

建立一个开始选单的项目以启动已被 MAME 模拟的个别游戏 (像是 Pac-Man、Galaga 等等):

(1) 安装命令列版的 MAME 和 ROM,程序类似于上面的步骤1
(2) 在开始上按右键,然后选“开启”。注意:假如 Windows 2000/XP 有多个使用者,你想让每个人都能看到,那应该选“开启所有使用者”
(3) 开启“程式集”
(4) 选取“档案→新增→新资料夹”
(5) 命名这个资料夹为 MAME (或是其它你想要的名称)
(6) 开启启这个资料夹,选取“档案→新增→捷径”。然后,浏览到你硬碟的 MAME 目录,再选取 MAME32.exe,但还不要按下完成
(7) 回到上一步,在 MAME.EXE 后面,加入一个空格和游戏的内部名称,例如 {"C:\MAME\MAME.EXE" Harddriv} 将执行 Hard Drivin 或 {"C:\MAME\MAME.EXE" pc_smb3} 将执行 Super Mario Bros 3。注意:“"”夹注号是用来分隔程式路径的头尾,不是参数。
(8) 最后,为这个捷径打一个名称,像是 Pac-Man、Galaga、Knights of the Round、Gridlee (你想要连接的游戏的名称)

返回

gaoshou123 2005-10-24 00:12
疑难解答 (综合)
T01. 我执行了这个程式,并且出现一个视窗一闪而过。

这不是执行 MAME 的方法。这在 S08 中已有介绍,你必须在命令提示字元下运行 MAME。依照指示一步步来,你会发现这跟按图示一样容易。

返回

T02. 为什么我的摇杆不能使用?

MAME 支援大多数的摇杆、手把、方向盘、旋转摇杆、轨迹球、滑鼠、键盘和其他类型的输入装置。不过,光线枪和力回馈装置目前无法支援。MAME 能使用大多数的输入埠,如下:keyboard port、mouse port、game port、serial port、parallel port 和 USB port。

可能原因有很多。试试这些步骤。在每个步骤后,看看你的问题是否解决。

MAME (Windows):

(1) 用命令列参数 -joystick 来执行 MAME 或者编辑 mame.ini ,修改 joystick 0 为 joystick 1 来做参数的改变。
(2) 假如你的控制器有附驱动程式磁片,确定它已安装。现今许多“高科技”控制器都是专门为 Windows 设计,没有它们的特定驱动程式就不能工作。
(3) 当你的驱动程式已安装,检查控制台 / 游戏控制器以确定你的控制器被列在其中。假如没有,你必须加入它。当你这么做时,确实查看所有表列的控制器以找到最适合你的。
(4) 假如你仍有问题,也许是你的控制器和 DirectX (DirectInput) 不相容。如果这样,你就太倒楣了。试试较普通的控制器或是和 DirectX 确定相容的。

也可以参阅问题 W02。

MAME (DOS):

(1) 确定当你执行 MAME 时有启用了摇杆 - 在命令列(用 -joy 参数。通常 -joy auto 就能运作良好;细节参考 MSDOS.TXT) 或者在 frontend 设定摇杆。你也可以编辑 mame.cfg 来改变参数;修改 joystick = none 为 joystick = auto。
(2) 假如你仍有问题,试着使用一个 frontend,并且在里面选取你的摇杆。
(3) 假如你确信你已正确的指明摇杆,但它仍不能工作。你也许在执行 MAME 时要校准它 (按下 F7)。
(4) 你的摇杆可能和 DOS 不相容。有些控制器 (例如 Gravis Ultra Pad) 要求 Windows 驱动程式,它不能在纯 DOS 下使用。你最好的选择是使用 Windows 版的 MAME。不过,这应该要注意,Microsoft Sidewinder Pro Gamepad 的10按钮实际上能在 DOS 版工作,但你必须用 -joy sidewinder 来指明它。

返回

T03. 我已通过了版权和资讯画面,但游戏根本没有开始或运作。

三个选择:

(1) 查阅 GAMELIST.TXT,看看游戏是否能运作。
(2) 有些游戏要求你用特殊的方法开始 (比方说启动 Super Pang 时要一直按住1)。参阅特定游戏资讯 (game-specific informations) 的解答。
(3) 有些驱动已被破坏,无法运作。查看 MAME Testers 的已知错误资讯。例如 Sega System 16 驱动目前已知是损坏的。在它修正前,试着使用旧版的 MAME。

返回

T04. 当我开始游戏的时候,我看见了一连串杂乱的色彩,或者古怪的文字如 Coin、ROM、RAM 等等。

你是否在电动场看过机台电源刚打开时的情况?它是在进行自我测试、诊断等等,以确认硬体是否没问题。有些游戏在开始时会有很长时间的自我测试。耐心点,自我测试终会结束,诱人的画面将会出现。如果你认为真的遇到了问题,请参看疑难解答的部分 (Troubleshooting)。

返回

T05. 方向键能使用,但是我不能做开火、跳等动作。

试试 Ctrl、Alt 和 Spacebar ,这些主要的控制“按钮”。许多游戏 (比如 Spy Hunter、Battlezone) 有更加复杂的控制。透过按下 Tab,选择 Input (this game) ,你可以随时查看指定游戏的控制键。

返回

T06. 我不记得游戏如何控制。

某些游戏原来的控制就很令人头疼。在大多数的情况下,MAME 的控制设定选单的说明又不够直接,所以有可能无论你怎么试,控制还是乱七八糟。不过也有很多人制作如何玩游戏的用法说明。试着阅读各种特定游戏的 FAQ,在 GameFAQs、Roger's Classic Arcade Tips & Tricks 和 SYS 2064。

返回

T07. TRON 的手臂不能移动,我不能瞄准 Heavy Barrel 等东西。

你有试过滑鼠吗?有些游戏预设是用滑鼠控制的。在 Windows 版中,你可以用 -mouse 参数启用滑鼠。

如果你没有滑鼠 (肯定有少许人没有),你能设定使用键盘之类的设备,当游戏在运行中时,按下 Tab,并选择 Analog Controls。

返回

T08. 为什么我喜爱的游戏不能保存我的高分记录?

绝大多数街机游戏实际上都可以保存高分记录,MAME 也支援它。不过,不是所有都可以。有一个方法可以取得保存的高分记录,就是下载 HISCORE.DAT 档案,放到 MAME 的同一目录下。

注意:有些游戏 (像许多 Atari 游戏) 只能保存最高三名的分数,低分会被删除。这是忠于原始街机游戏的做法。

返回

T09. 用滑鼠控制游戏时太敏感/不太敏感。

游戏正在执行时。按 Tab,选择 Analog Controls。你可以在这个选单中调整滑鼠的灵敏度。

返回

T10. 为什么有些游戏在我的电脑上跑得如此的慢?

有些游戏比其他游戏对系统要求更高。一个简单的游戏也许只需要模拟一个 CPU,有些就需要多个。游戏机台的硬体需求越高,MAME 执行的就越慢。(Donkey Kong 的要求是很简单,所以它能在大多数电脑上执行得很好。另一方面,Cruis'n USA 和 Cruis'n World 在任何人的系统上都不会很快。)想知道能做些什么,看下个问题。

返回

T11. 我如何使<某个游戏>跑得更快一点?

这是一个在模拟世界最常见的问题。这里有些方法,你可以试着改善 MAME 的效能:

使用较快的 CPU。这是最可靠的速度增加法。

升级你的显示卡或更新你现有卡的驱动程式。把你的一般 (便宜 )卡换成高品质 (昂贵) 卡肯定能增进效能。假如你使用内建 (整合) 显示,就如 Aptiva、Packard Bell、Compaq 和其它已配置的主机板,那简单地换张绘图卡,你就能看到效能大幅度提升。也检查你的绘图卡驱动程式,新驱动程式 - 尤其是便宜的卡 - 会有不同。

使用最新版本的 MAME。或者使用旧的/不同的版本。MAME 在不断的发展。由于核心程式码持续改变,有些游戏用不同版本会执行的较好/较快。你自己试试那个最好。

MAME 本身也有许多选项可以增加你的速度:

低画面解析度(使用 -320x240 )在 DOS 版下 (Windows 版不适用),有些游戏似乎会执行的较快。

低声音品质。试着加入 -sr 11025 到命令列,它能减低声音播放品质,并占用较少的处理器时间。

关闭摇杆和使用键盘 (-nojoy)。

使用 frameskip 来提升绘图速度。 Frameskip 会在每一秒略过某个数目的画格,所以你的系统能减轻负荷。有时会换来停顿的影像;有时不会有差别。试试看。当在玩时,按下 F8 / F9 可控制 frameskip;或者在 mame.cfg 设定通用的 frameskip。尽管如此,有些游戏是无法从 frameskip 得到好处的,例如新的点阵绘图的 Williams 游戏或使用多边形充填的 Atari 游戏。

不使用声音。使用 -soundcard 0 (DOS 版)或 -nosound (Windows 版) 参数。这能释放大量的处理器时间,且提升速度。然而要注意,有些游戏,像 Marble Madness 和 Indiana Jones,不能在没有声音下执行。

gaoshou123 2005-10-24 00:12
T12. <某个游戏> 不能正常运作。(是的,我已确定过 MAME.TXT 和 GAMELIST.TXT,它应该能玩)

有些情况,要完整模拟根本不可能。Spy Hunter玩起来“感觉”不对,是因为游戏的控制和街机有很大的不同,Capcom Bowling 也不能达到它原来用轨迹球的效果。

假如你认为某个功能不能运作,请确定原始游戏有它。不是所有游戏都有支援高分记录、“Continue?”选项甚至是声音。在游戏史中,有些东西是后来才有的。

假如游戏不能运行 - 在这期间 - 你能查看 MAME Testers,你能知道其他人怎么玩它,也许问题发生自你的系统。试着用不同设定执行 MAME 来解决问题,或重新安装 Windows (有争议,它不一定个好主意)。无论如何,在你为一个错误或游戏奇怪问题发火之前,请记住一件事: MAME 是免费的,它没有收取你任何一毛钱。

返回

T13. 为什么<某个游戏>的 bootleg 版本能运行,但原始版却不行?

通常大型电玩的 ROM 都被使用硬体装置或加密系统保护以防止别人拷贝 (参阅 M02)。因此,找到缺少保护设计的未经授权 (bootleg) 版本,并且模拟它们,要比模拟原 ROM 容易多了。所以,许多原始版本、被保护的游戏仍然无法模拟,虽然 bootleg 版运作的很好。

返回

T14. 当我用滑鼠玩 Star Wars (或其他游戏) 时, 十字线的移动向方错误。

Star Wars 是使用飞行控制杆来玩,所以这种动作是正确的。 要反转 Y 轴移动方向,就在游戏进行时按下 Tab ,选择 Analog Controls。然后下移到 AD Stick Y Reverse,再按方向键启开它。

返回

T15. 有时速度会有问题。

如果你用的是 Windows ME,有个简单答案可回答你的问题。 Windows ME 包含了革命性的“系统还原”功能, 它能随时备份你系统需要的重要系统资料。这将耗尽你宝贵的电脑资源和减低MAME的速度。要停用它,在“我的电脑”上按右键,选择“内容”/“效能”/“档案系统”/“进阶选项”/“疑难解答”和 确定“关闭系统还原”。

Windows XP 也许也会被影响。假如你使用 XP 有速度问题,请检查上述的设定。

返回


--------------------------------------------------------------------------------

特定游戏资讯
I01. Sega System 16 的游戏不能运作。

起因于 MAME 内部的一些改变,Sega System 16 游戏 (即是 Shadow Dancer、Altered Beast、Golden Axe 等等)在 0.36 版后,有时会损坏。完全重写到好,要花费一段时间。在这之前,你只能选用旧版本,像是 0.36,来玩 System 16 游戏。你能查看重写的进度 (这里和这里)。

返回

I02. 我在 Outrun 无法改变排档。

这是个旧问题 - 最近已经修正。请升级到最新版。

返回

I03. Mortal Kombat 和其它新近的 Williams 游戏的音量很小声。

当游戏正在执行时,按下 F2 到它的内部的 service 选单。再按下 F2 就可“关闭”service switch,别困在选单里出不来。现在用方向键或你的摇杆操作你的“音量调整 (Volume adjust)”选项,调整音量。 确定你没把音量设得太高,否则声音会开始有杂音。然后用适当方式结束选单。假如游戏中声音破碎,回到 service 选单,降低音量。

返回

I04. 当载入最新 Neo Geo 游戏的 ROM 时,电脑没有回应。

不使用置换档,你必需要有 256MB 左右的 RAM 以载入游戏,即使如些,还是花点时间。你仍可用 128MB 来跑,不过,载入一个游戏,你必须等待15分钟左右。

返回

I05. 我如何显示 Metal Slug 和 King of Fighters 游戏的鲜血?

按下 F2 ,使用玩家一的方向控制移到“Setting up the soft dip”,按下第一按键 (Left Control)。进入“Slot 1 (游戏名称)”,选定“Blood”,使用第一按键开启它。要退出选单,请按下第三按键 (Space) 两次,选择“Exit”。

返回

I06. Hard Drivin'、Metal Slug 2 和 Double Dragon 会断断续续,但我的 CPU 很够力。

虽然 FPS 计算器在这些游戏显示 100% 的速度,它们似乎仍会断断续续的。这是原作的真实状态 - 即使这些游戏使用原始硬体也是很吃力,因此断断续续是这些游戏真实精确的模拟。你也许能使用 -cheat 参数消除这种现象,按下 Tab 并且浏览选单直到你找到“CPU overclocking”。这会更快的模拟 CPU,这个办法有用也可能没用。这也可能导致模拟出错,所以如果超频把游戏弄得乱七八糟,不要怪罪别人。

返回

I07. Wild West C.O.W.-Boys of MooMesa 会当掉,在少数关卡开始后。

这是个旧问题 - 最近已经修正。请升级到最新版。

返回

I08. 我在 Terminator 2 中如何校准我的枪? 我能使用光线枪吗?

当你第一次开始游戏时,Terminator 2 会自动要求你校准枪。当游戏如此要求时,你只要使用你的滑鼠或键盘简单地瞄准左上角。这不会有任何看得见的提示,所以你必须去看荧幕上显示的数字座标。你看到的数字是个简单的 8-bit 刻度,从0到255。移动你的滑鼠向左上角对准,尽可能的使 P1 X 和 P1 Y 接近0。中心点位置大约为127, 127,而右下角是255, 255。重复步骤设定第二位玩家。

至于光线枪,简单地回答,不行。长一点的回答是 Terminator 2 实际上也没有用光线枪 - 它的枪是装入两个类比摇杆,所以要用真正的光线枪模拟它们是不可能的。试着使用滑鼠控制这个游戏。

返回

I09. 我如何在 Namco 的游戏中校准我的枪? (Golly! Ghost、Lucky & Wild 等等)

先按 service coin (9),再按 service mode 按钮 (F2)。 使用显示的十字线射击目标。当你射击时,目标会暂时的发出红闪光。在你射完目标后,按下 service coin (9),再移到下个目标,之后它也将要求校对第二个玩家的枪。一旦完成所有动作,按下 service mode 按钮 (F2) 以便离开。

返回

I10. 为什么在 720 Degrees 无法使用我的类比摇杆?

这个大型电玩游戏是使用旋转摇杆 (Spinner),一种倾斜突出、类似摇杆的把手 - 它不是真的数位摇杆。也可以看问题 H05。

返回

I11. 我想试着玩 Williams 游戏 (Joust、Defender、Bubbles 等等) ,但是游戏无法妆Ρπ进入。

当你第一次执行这游戏时,它会要求“Factory settings restored”。按 F2 继续。多数 Williams 游戏都是这样的。如果不行,按 F3 或 F1 和 F2 一起按。

返回

I12. 当我运行 Zookeeper 时,等到显示“THIS LOCATION”画面就不会动了。

你第一次执行这个游戏时,它会问你区域设定,你可以按 F5 / F6 和 F2 改变名称,然后按 F1 通过这个设置画面或者重新启动游戏 (F3)。

返回

I13. Food Fight 有个 NVRAM 的错误?

你第一次执行这个游戏时,它会重新初始化 NVRAM (Non-volatile RAM) 记忆体。要跳过初始化画面,按第一个按键 (Left Control 或者是摇杆的第一个按钮)。

返回

I14. 当我试着去玩 MACH 3 或 Us vs. Them 时,会显示要我插入光碟的讯息。

这些是雷射光碟的游戏。在80年代,有些“混合”影像/雷射光碟游戏出现。不同于 Space Ace 和 Dragon's Lair - 它们实际上是互动式卡通 - 这些游戏结合绘图和影像,带来更刺激的游戏体验。 MAME 小组决定模拟一般游戏绘图的部份,在之后却烦恼如何去模拟雷射光碟影像。因此,目前你无法玩这些游戏。不过有些雷射光碟游戏已被 Daphne 模拟了。

你也可以到这里,看一下 MACH 3 加入雷射光碟模拟的进度资讯。然而,关于雷射光碟影像,有几件事须考虑:

PCM (Pulse Code Modulation) 是一个类比转数位的编码方式,每一取样都使用整数 (通常 8-24 bit)。还有其它的编码方式,但大多数的 A-D 和 D-A 硬体使用 PCM。

CD 音乐是 PCM 数位音讯的成品之一,它的取样率是使用 44.1 kHz。(这是相当专制的数字,因为据称这已经充分地抓取人类能听到的所有频率范围,而且在这个时代,能方便于整合到以影像为主的录制机)

雷射光碟声音和影像是类比的,不是 PCM。 (较新的 LD 有类似 CD 44.1 kHz PCM 的音讯,但雷射光碟游戏的时代没有这个。)

纪录信号是 RF,包含了混合成的 NTSC 或 PAL 影像,使用两个 FM 音讯子载波插到左右声道。 它是经由 Pulse Width Modulation (PWM) 编码,利用光碟上 pits/lands 的宽度变化,没有简单的 1 和 0 可以直接识别和储存。破损、表面刮痕和反射损失的产生,会造成“laser rot”,这将会遮掩了 pits 的精确范围和宽度, 所以无论如何你读取的是一个近似值。(它也没有像 CD 所用的错误校正,以隐藏错误使光碟能持续使用。)

你能够采样未经变更的 PWM 信号,但你大概需要用能录制至少相当或超过 30 MB/s 资料的高级影像撷取卡取得记录,以便充分地分析。但储存和其过程都是不容易的事。一直以来都受限于光碟和玩家音轨的错误,它仍无法排除,假如可以的话,那对要恢复高品质影像/声音纪录将很有助益。可是要一个人花费时间和努力尝试完成它是十分不可能的。

一个合理的、实际的方式是先使用适当的硬体做一个未压缩留存纪录,使用最少损害的压缩保存,再利用现有的格式/编码器编码出一个能运作的复制品。在今天,Daphne 模拟器的最低限度是 MPEG-2。不过,许可/专利问题是真正令人忧心的,但假如你有保存未经变更的留存纪录,你能在没有刑责下编码成近来的其它东西。有少数的人正静静地在正确的道路上工作着。

返回

I15. 我如何玩 Water Match?

游戏外部的用法说明。这个游戏会让你像是蠢蛋一样到处摆动你的摇杆。在这你必须如此:

自由式和仰式游泳,相对移动两只摇杆的上和下 (当一个是上,则另一个必须是下)。

蝶式,“向外”旋转摇杆 -- 左边顺时钟转,右边逆时钟转。蛙式,“向内”旋转摇杆 (左边逆时钟转,右边顺时钟转)。

(你必须使用开始钮来跳入游泳池和用变换方向钮折返)

划小船,摇杆上下协调移动 (同时上、同时下、同时上...)。

划独木舟,摇杆上下各别移动:划左边这一个,假如独木舟向左偏转或是划右边这一个,假如独木舟向右偏转。(按钮还更复杂,但要做成一张图表太困难了。) 你必须按一个钮 (不确定是那一个) 来扶正你的独立舟,当你翻船时。

返回

I16. 我如何开始一个 PlayChoice-10 游戏?

Playchoice-10 系统是个多游戏大型机台。MAME 使用一个个游戏模拟 Playchoice-10。 然而,“channel select”选单和计时器仍在保留在 MAME 中。PC-10 是计时游戏,它意谓着用投币买游戏时间来取代生命只数。当时间到,游戏就结束。但只要你有时间,你可以重设、开绐或接关无数次。要开始游戏,步骤如下:

(1) 执行 MAME 使用你想要玩的 PC-10 游戏。(例如“MAME PC_SMB3”将执行 Super Mario Bros 3 或“MAME PC_RCPAM”将执行 RC Pro-AM)
(2) 按5投币以增加计时器的时间 (每个硬币300单位)
(3) 按下0以选择 Channel one
(4) 按下1以选择项目
(5) 按下2以开始游戏

返回

gaoshou123 2005-10-24 00:13
疑难解答 (Windows)
W01. Startup error: Dxxxxxxx.DLL (除了 DINPUT.DLL 之外)

假如错误起于 DirectX,可能是其中一个原因:(a) 你的系统没有安装 DirectX;(b) 你必须安装新版的 DirectX (MAME 需要3.0或更高);或者 (c) 你的音效卡或显示卡和 DirectX 不相容。

即使你的系统已安装了 DirectX 3.0+,你仍要再检查一次,前往 http://www.microsoft.com/directx/ 下载目前最新的 DirectX 版本,然后再安装它。(DirectX 也许会问你是否要覆盖你之前或旧的驱动程式;回答-确定)

假如 MAME 仍然不能工作,你可能需要升级你的显示卡或音效卡。假如你的错误有提及 DDRAW.DLL,确认你的显示卡驱动程式或安装 Sci-Tech 的 Display Doctor 来发挥它的功能。

返回

W02. Startup error: DINPUT.DLL

你是使用 Windows XP 吗?试着结束并重新载入 MAME。有一个已知的问题在 Windows XP 的摇杆驱动程式,有些摇杆在启动时可能无法被初始化。

这个不知有没有用 - 你有安装最新的 DirectX 吗?假如没有,从 Microsoft 下载它,这经常可冶Ρ正一些问题。

否则,你的摇杆、手把或控制器 (a) 没有被正确安装;(b) 有可能坏了;(c) 和 Direct X 不相容。要正确的在 Windows 下工作,现在大多数的摇杆/控制器需要安装和设定驱动程式。开启 Windows 的控制台并看一下游戏控制器。你的驱动名称被列在其中吗?假如没有,它还没有被安装。找出被你丢在一边的说明手册,取出驱动程式磁碟片,开始工作吧。

假如你的摇杆/控制器没有驱动程式磁碟片?它只花了$10左右?而当时你是用一般的“DOS 相容”驱动程式。它可能可以在 Windows 工作,但你必须手动设定它。到控制台/游戏控制器,找一个叙述接近你的驱动程式,加入它。然后再试着执行 MAME。

你确定这些之后,它仍然无法工作?有些摇杆是不相容于 DirectX。你的选择有:(a) 用键盘控制;(b) 买一个新的、相容的控制器;或者 (c) 使用 DOS 版的 MAME,它应该能使用 DOS 的控制器。

返回

W03. 我没有得到错误资讯,但是游戏没有音乐或音效。

在 Windows,通常一次只能有一个程式在使用音效卡,请确认没有其它程式在使用它。(音乐 CD 通常没关系;它不是真的使用音效卡的功能产生声音。)

Compaq、 Packard Bell 和其它的品牌电脑经常会配置一些额外的常驻程式 (电话答录程式...等等)。这些也许会和 MAME 冲突,请检查,按一下 Ctrl-Alt-Delete,结束 Explorer 以外的程式后,再试一次。

否则:

(1) 检查声音的设定,把各个不同的项目试用一下。
(2) 你的音效卡有可能和 Direct X 不相容(虽然你可能现在才注意到)。考虑升级吧。

返回

W04. 我没有得到 DINPUT 错误的资讯,但是我的摇捍/控制器仍然不能用。

试一下这些:

(1) 放轻松:看看你的电脑后面的,查一下摇杆是否仍连接在电脑上。(如果真的没插,不要难过 - 对任何人来说,这都有可能发生的)
(2) 开启控制台/游戏控制器,确定摇捍已被列在里面,如果没有就请先安装(参阅 W02 的安装问题建议)。紧记,如果你有个无名的一般摇捍/控制器,它有可能和 DirectX 不相容。

返回

W05. 有给 Windows 版用的图形化前导程式吗?

有的,它称为 MAME32,它可以在这个网站取得。你当然也可以使用新的 frontend 来执行 Windows 版本的 MAME。

返回


--------------------------------------------------------------------------------

疑难解答 (DOS)
D01. Error: No 16-bit XXXxXXX mode available.

这表示你的显示卡不能在 HighColor (16-bit) 模式下运行。它不是必然的,所以检查一下。

有两个解决问题的方法:

(1) 升级更好显示卡 (唉!)。
(2) 取得 Sci-Tech 的 Display Doctor,它能使用软体“升级”多数的显示卡。假如你有 Matrox Gx00 的卡,请用 Gx00VBE TSR。

返回

D02. Error: Audio initialization failed

这是由几个原因引起的。可能的答案:

(1) 运行MAME时,选用不同的音效卡。试试一般 Sound Blaster 的设定。
(2) 你的音效卡没有适当的 DOS 驱动程式和/或已载人 DOS 模式的环境变数。你的卡也许在 Windows 中运作的很好,但假如你是重新开机进入纯 DOS 模式,那些驱动程式不会被载入。检查你的音效卡手册中的 DOS 使用说明。假如你使用内建 (整合) 音效卡,检查 BIOS,看看是否有开启 Sound Blaster legacy emulation。
(3) 试着在 Windows 95、98 或 ME 的 DOS 模式执行 MAME。有时 Windows 会提供 DOS 程式的声音支援。
(4) 假如你在 Windows NT、2000 或 XP 中执行 DOS 版,声音将无法工作,因为 Windows 不允许 MAME 妆Ρπ存取硬体。虽然有个解决方案 - 一个名为 VDMSound 的装置驱动程式,它能使 DOS 应用程式有声音。下载它,安装并看看它如何运作。记住,在这些作业系统中,DOS 应用程式不被合法支援,所以无论如何你都应该使用 Windows 版的 MAME。
(5) 一般来说,每次只能有一个程式能使用音效卡。可能已有另一个程式正在使用它 - 荧幕保护程式、答录程式等。确认是否有其它程式正在使用它。

为了说明这是怎么发生的,这有一个 Windows 下音效卡冲突的例子:比如说你在正让 Windows 播放一段很长的曲子,在音乐结束前,你执行 MAME,试图存取音效卡,这会产生错误,因为音效卡还不能用。(不过播放音乐 CD 时使用 MAME 是不要紧的;因为它不是使用音效卡功能产生声音)

返回

D03. Error: Load error: No DPMI

MAME 需要一些类型的记忆体管理程式。由于 DOS 没有内建,如果你要在纯 DOS 下执行 MAME,你必须要有 CWSDPMI,一个 DOS 的记忆体管理程式。在纯 DOS 执行 MAME,CWSDPMI.EXE 必须放在你的 MAME 主目录。 CWSDPMI 可以到 MAME 网站的 downloads 取得。解压缩 CSDPMI5B.ZIP 到你的 MAME 目录。

返回

D04. Error: Unable to initialize display

这种一个由多种原因引起的复杂问题。主要是你所选用了显示卡和/或电脑不支援的显示模式。

为了真实模拟,有些游戏 (Gauntlet、Rastan 等等) 使用65,000色。这需要有相容 16-bit 的显示卡。许多人的显示卡在 DOS 中不直接支援 16-bit,所以这些模式无法运作 (看问题 D01)。而且有些显示卡不能执行非标准的显示模式。如果你指定一个通俗的显示模式,像是 640x480,显示卡也许能用。除非你决心成为一个显示卡专家,不然的话,我建议你使用这些解决方案:

(1) 升级一块更好的显示卡。
(2) 使用 MAME frontend 以便很快试出游戏的模式。
(3) 取得 Sci-Tech 的 Display Doctor,它能开启更多你显示卡使用的绘图模式 - 而且在大部份状况下,相容于 VESA 3.0。
(4) 请你确认你的显示卡是使用最新的驱动程式。(当你在 Windows 下执行时,这点非常重要)

返回

D05. 我得到分裂显示,像两个画面前后相互交错。

假如你是玩 Punch-Out !,这效果很正常。否则,试着使用 -noscanlines 或 -vesa 参数,这有时会修正问题。

分割画面效果可能是由廉价的显示器引起的,它使用 tweaked scanline 模式时无法在高更新率下同步 (>120Hz)。这只发生在 tweaked 模式,而不是 VESA 模式。

返回

D06. 什么是 VESA V3.0? 为什么我的显示卡没有它?

VESA 3.0 是定义绘图应用程式如何和显示卡沟通的标准。在新的 VESA 标准出来前旧卡都是设计成旧版的 (VESA 1.0、VESA 2.0),也许无法正确和你的新程式工作。在 MAME,这会引起无法初始化显示 (Unable to initialize display) 的错误。

VESA 3.0 相当新;目前许多显示卡都不能使用它。为何你的显示卡不能使用它?记住电脑格言:“在你买下它的同时,它就已经过时了。”换言之,就是电脑硬体变化很快。有个好消息,你可以升级你显示卡的软体资料:厂商提供的新驱动程式或是 Sci-Tech 的 Display Doctor。

返回

D07. 游戏画面的上面或下面被截掉了一部分。

首先,检查你的显示器的画面调整器 (这看起来是很明显的,但是有些人就会忽略它)。假如不是这个问题,试着加入 -vesa 到命令列,这会自动的选取最好的解析度。(在不同的显示模式下,游戏画面不一定是相同)

返回

D08. 我有一块 AWE32/AWE64 音效卡,但是如果我选了它,MAME 会慢得像爬的一样。

使用 Sound Blaster 16 的设定,它比较快,也比较接近原始机台的效果。至于 AWE32 引进的回音 (echo/reverb) 效果,当时还没有被运用到真正的机器上。

返回

D09. 我有一块 Sound Blaster 卡,但我在 Windows ME 中速度有问题。

确定 Windows ME (WDM) 音效卡驱动程式是不是没装,即使它们已知会引起速度上的问题。改用 Windows 98 或你原本音效卡的驱动程式磁片/光碟中的旧的音效卡驱动程式。

返回

D10. 我有一块 Sound Blaster 卡,而在 Windows 下会有杂音。

这是使用 Sound Blaster 卡和 VIA 晶片主机板的常见问题。试着在 Windows 中升级 VIA 晶片驱动程式,这有时能修正声音。也可以试着升级音效卡驱动程式。

返回

D11. Error: Exiting due to signal SIGNOFP Coprocessor not available at eip=0014d62c

0.28版的 MAME 需要浮点运算处理器 - 意思是说如果没有 SX 处理器 (386/SX、486/SX、SLC-based 处理器或者其它的 SX-ripoff 处理器),你就不能执行 MAME。你需要升级你的处理器 - 意谓着你的主机板也要。

一些早期用模拟 FPU 的 Cyrix 处理器也会有这个问题。

返回

D12. 我有一块 Sound Blaster 卡,但是没有声音。这是怎么回事?

通常的原因都是没有正确的安装音效卡或它没有正确的被 DOS 辨认。首先,检查你在玩 MAME 是否有使用指令 -soundcard 1 。这是使用 Sound Blaster 卡的指令。

用一个文字编辑器开启你的 AUTOEXEC.BAT 档案,看看像是这样的一段句子:

SET BLASTER=A220 I5 D1 H5 P330 T6

假如你没有看到,你的音效卡可能没有正确的设定。确定你的执行你音效卡的设定程式或者 (假如有用的话) 手动设置它。请参阅你音效卡的手册说明。

如果你看到了,但是仍然没听到声音,那就不是因为 DOS 没有辨认而引起的。试着找到 CTCM.EXE,这程式能改变音效卡设定。编辑你的 AUTOEXEC.BAT 档案,把 CTCM.EXE 加入执行 (例如:C:\SB16\CTCM.EXE)。然后重新开机并且改变你的设定。

返回

D13. 我的 PCI 音效卡不能正常的在 DOS 下工作。

这是使用“现今”PCI 音效卡的变通方法。这些卡无法使用 ISA 卡能用的记忆体位址,你要用虚拟的记忆体位址来欺骗你的 PCI 卡。编辑你的 AUTOEXEC.BAT 档案,看有 SET BLASTER 的那一行。修改它:

SET BLASTER=A220 I7 D1 T2

或者试试

SET BLASTER=A220 I5 D1 T2

你也应该查看你的 DOS 驱动程式是否正确安装。这应该能让 Sound Blaster PCI 工作。

对于 Sound Blaster Live!:执行 SBESET.EXE (包含在你的 Sound Blaster Live! 档案目录中)。 设定你的 Sound Blaster 16 模拟埠为220、IRQ 为5、low DMA 为和 high DMA 为1。(你能在SBESET.TXT 找到更多相关资讯) 你也需要加入 SBEINIT.COM (包含完全的程式路径) 到你的 AUTOEXEC.BAT 档。注意:你必须重新开机,这些改变才会生效。

假如这没有帮助,你可以 (a) 没有声音的玩 (没有乐趣);或 (b) 找一个便宜的 ISA 音效卡 - 最好是 Sound Blaster,这些设定都将运作。 :?)

更多的技术资讯,在 EmuAdvice 网站。

Sound Blaster DOS legacy 驱动程式,看看 Easy MameCab 网站。

返回

gaoshou123 2005-10-24 00:14
其它问题
M01. 为什么像 Galaxian、Donkey Kong、Pac-Man 等游戏会有很多不同的版本?

当原公司认为他们需要得到足够的流通管道时,游戏通常会授权给其它公司,或者是这个游戏公司允许其它的公司发行它们自已的版本,Pac-Man 就同时被 Namco 和 Midway 两公司销售;Dig Dug 是 Atari 和 Namco。

有时会发现有不同版权的 ROM,或者是盗版 (bootleg),或者其它替换 (alternate) 版本。当一个“parent”游戏已被 MAME 模拟了,其它的版本通常是很容易加入的。通常替换版本会稍微有些不同:游戏的难度会不同,游戏会更快或更难等等。

有时 ROM 会被运行在本来不是属于它们的硬体上,例如当 Pac-Man 非常流行时,有些街机工作者会找到一些办法把 Pac-Man 的 ROM 吸取下来,然后让它们在其它拼凑的机器上运行,这样他们就不需要额外的去订购 Pac-Man 基板。由于这些被吸取的游戏都是一些杰作名著,MAME 开发者肯定会把它们加入的。

很显然,拼凑的基板是很容易被翻版的;许多游戏都已被破解 (一个 MAME 爱好者间流传已久的笑话,任何东西都可以在拼凑的硬体上执行 - N64 游戏、你的烤面机、你车库的自动门等等 :?) (很讽刺的是,拼凑版游戏又会被翻版到 Galaxian 的硬体上!)

返回

M02. 街机游戏是如何做防拷保护,为什么要这样做?

因为破解和盗版 (请看前面的问题),所以一些街机游戏厂商设计出一些系统,防止街机工作者“偷窃”他们的游戏。

最常用的一种装置方法 - MAME 至今仍未破解的 - 是安全基板,知名的如“slapstic”基板。生产厂商把这些特殊的电路板用在游戏的基板上。当游戏运行时,ROM 会检测安全基板。如果检测不到,游戏就不能运行。(这种类似于硬体“dongle”的保护仍然被使用于高阶的软体公司。) 因为安全基板只能随游戏一起销售,所以拷贝 ROM 是没有用的。这就是为什么有些游戏,如 Marble Madness 和 Indiana Jones 以前不能被模拟,尽管它们有 ROM。

另外一种保护 ROM 的方法是把它们加密。基板在运行游戏的时候会自动解密。因此只是拷贝 ROM 是没有用的,除非保护系统被破坏掉。加密可以影响绘图 (如最新的 Neo Geo 游戏和 Funky Jet)、声音 (就像一些 Seibu 的游戏)、程式码 (如 Sega System 16/18 或许多有用 C-Chip 的 Taito 游戏)、角色图像(如 Seibu Cup Soccer 和 Heated Barrel) 或综合它们使用。

在很多例子中,“解密”技术不是使用特制的 CPU (Sega System 16/18/24)、特制晶片 (Capcom Play System 2) 安全防御装置 (Capcom Play System 3 和 Konami Bemani),就是用微控制器辅助软体 (MCU software patch) (如 Gaelco游戏)。同样地,它的困难之处在于要解析出关键点和解密的运算法则。

有些系统为了隐藏关键之钥,以至于用电池供电的记忆体 (battery backed RAM) 取代 ROM 来存放它。这确保了改变的资料,而在试着吸取解密关键时,将会破坏你的基板。这也很像已知的自毁电池 - 这个板子将没有作用,假如电池停止运转或是被分解。

还有其它防拷保护的方法是 MCU (微控制器 ,microcontroller unit),就是一个特制的处理器,而且能内建在内部的 ROM 中。这不是掌握了游戏的程式码就是重要的资料,并且只允许游戏在某个情况下存取它。吸取这些编码通常是很困难,甚至是不可能的任务。不过,常用的方法是欺骗 MCU 程式以忽略安全检测,且读取内容。

当然,能结合这些方法是较好的。Dallas DS5002FP 安全晶片 (制作厂商为 Dallas Semiconductor) 结合了使用“自毁电池”储存“加密的”且“假如要修改就会自动破坏内容”的 ROM。这方式也是常被使用,例如它的对手 M68705,也被使用在很多大型电玩游戏上。(例如 Bubble Bobble)。有一些关于它的资讯可以在 Internet 上得到。Dallas 安全晶片有保护了许多的 Gaelco 游戏被模拟的例子,虽然如此,它不是不能征服的,因为 Markus Kuhn 宣称要破解它。然而他描述的程序不是很容易。

返回

M03. 什么是“特制晶片”(custom chips)?

特制晶片 (custom chips) 是晶片厂商为某个游戏或游戏基板特别设计的晶片,大多数基板中的晶片是由晶片厂商以标准规格制作。例如,许多游戏基板使用 Motorola、Intel、Zilog 等制造的 CPU。Yamaha 的声音晶片则特别受到欢迎。然而,最近 Konami 游戏的绘图晶片多半使用 Konami 自制的特制晶片。它们必须冗长而乏味的一个个模拟。

返回

M04. 什么是 bootleg 版本?

在大型电玩中更明确的定义是“未经授权的版本”。通常使用这个字是因为游戏被游戏厂商之外的人破解或移转到一个不同的硬体。这时常也会移除防拷保护,而且也许盗版商会有妆Ρπ修改游戏。不过有时是为了让游戏在较便宜的硬体上运作而破解,例如用 sample 播放器取代声音硬体,播放之前录制的原始音乐片段,品质当然比较低。

绘图也能用类似的转换。所有的 bootleg 都在拼凑的硬体上运作,但不代表它只能在上面执行。

返回

M05. 所谓的“光栅 (raster) 效果”是什么?

当画面显示改变时,其实就是荧幕同时运作电子束来绘制你的萤光幕。就它本身而言,要模拟并不困难,但它可能需要实质上的改写模拟器。许多模拟器是将被模拟的 CPU 执行六十分之一秒 (一个画格),然后查看这个画格结束时绘图硬体的状态,再提供 raster 效果,但这无论如何设定 (或者是根本没有模拟它们时的原始设定),光束最后中断的变化,都会应用到整个荧幕。

要真实的模拟 raster 效果,需要先让模拟 CPU 执行单列画面的显示,检查暂存器,再提供这一列。较差的方式,是在绘图硬体的每个周期都如此处理 (像是良好的 C-64 模拟器),这显然要用更多处理器的动力,但如果取巧一下,例如,假设只有单点在变化,那你就不需要用以列为基础的供应器 (renderer)。

返回

M06. 什么是 flyers?

“Flyer”意指印刷平面广告。一张包含你当地超市销售罐头食品的广告传单,塞在你的邮筒或放在你的门口或任何地方。大型电玩的 flyers 是用来对机台拥有者 (取得这个游戏,让所有的孩子投入数以万计的硬币) 或消费者 (看到很酷的新游戏,并且花钱买它) 宣传新的游戏。

返回

M07. MAME 的麻将 (Mahjong) 游戏是什么?

信不信由你,这些游戏在日本街机是很普遍的,而且一旦你学会规则,它们真的很有娱乐性。有些指南有助于你学习规则,例如 SYS 2064、Mahjong for Dummies 和 Traditional Mahjong rules。

返回

M08. 有线上讨论区吗?我想讨论 MAME。

你可以加入在任何 EFNET IRC server 上的 #retrogamers。

IRC 是 Windows 下的一个程式,它允许你连接聊天室。如果你没有 IRC 或者不是很清楚如何使用它请到 official mIRC site。

不幸的是,MAME 小组没有准备建立认可的 #mame 聊天室,请不要参与也不要向我们提出建议。

如果你使用聊天室,请记住模拟只是为了娱乐和让你想起历史游戏,所以请要有节制。如果在聊天室时提到“哪里可以得到 ROM?”会被认为是鲁莽的行为。

如果你对使用 MAME 有问题,请在你把问题带到聊天室之前,阅读相关文件 (包括这个 FAQ)。(如果你确实遇到了新的问题,它很有可能会被高兴的接受。)

返回

M09. 我能做自已的街机机台吗?

当然可以,这一切要看你的手艺了。街机机台其实就是一个里面放着 PC 和显示器,再加上街机型控制器的箱子。你要做的只是让这个箱子适合你的设备。请你到 Constructing Cabinets,你会得到更多这方面的细节和照片。也可以看看 Build Your Own Arcade Controls 网站。

返回

M10. 假如想要用真正的街机制控器要怎么办?

这有几个选择。大型电玩控制面板开始于 HotRod Joystick Control Panel。它现在也有几个高品质的竞争者,例如 X-arcade 和 SlikStik。

或者你可以自己动手做。有个逐步教学的杰出网站在 Build Your Own Arcade Controls。

返回

M11. MAME 能使用 SMP 吗 (平行处理;对称多重处理 ,symmetric multiprocessing)?

不行。使用平行处理模拟一个程序是很困难的。大部份的时候,模拟 CPU (假如有一个以上) 必须做严格的校准,这在多处理器系统中几乎难以做到。当然有例外 - Linux 版的 AdvanceMAME 使用第二个CPU来拷贝绘制的图像到荧幕,但这不会提升太多速度。

返回

M12. MAME 何时会用 Direct3D/OpenGL 来模拟<某个愚蠢的 3D 系统>?

可能永远不会或者几乎不会,至少不会很快。MAME 最近似的做法是使用软体来表现 3D 绘图,例如 Hard Drivin'、S.T.U.N. Runner 和 I, Robot。软体模拟不一定很慢 - 只要有适当的CPU速度,它不会是个问题。

此外,在较新的游戏,像 Cruis'n USA、Cruis'n World 和两个 Killer Instinct 游戏,的瓶颈不是 3D 绘图,而是必须模拟疯狂高速的 RISC-based 主 CPU。不只是时脉频率较以往的游戏来的高,而且它们执行指令的时钟周期 (clock cycle) 也较一般的 CISC-based CPU 来的少。这两个原因导致模拟速度极度缓慢,而且 3D 加速对此也全无帮助。

返回


查看完整版本: [-- MAME32使用教材终结版 --] [-- top --]


Powered by PHPWind Code © 2003-08 PHPWind
Gzip enabled

You can contact us