Linux下的MAME模拟器,AdvanceMAME之一:硬件安装配置

AdvanceMAME硬件驱动配置

假定你已经编译安装好了AdvanceMAME,这里还是给出一个最简单的安装步骤
./configure
make
make install

配置

所有的Advance 程序要求一个配置步骤才能 正确地工作。

为了加你一个缺省的配置文件,可从命令shell运行这个Advance程序,这样一个标准的配置文件.rc就会建立

在Linux,Mac OS X和其他Unix中,配置文件建立在用户的home目录的子目录.advance/下面,在DOS和Windows中,配置文件将被建立在当前目录(一般也就是可执行程序所在的目录)

一旦你已经完成修改配置文件,建议你运行Advance程序带上"-remove"选项 来从配置文件里 移除所有的默认配置

AdvanceMAME

为了运行AdvanceMAME,你至少需要设置 "dir_rom" 选项 来指明哪里有ROMS

如果你想在一个窗口管理环境(Window Manger enviroment)比如X Window,Windows,Mac OS X Acqua,作为一个标准的应用程序运行它,你不必配置任何视频选项。但是如果你想打开 视频卡的直接编程,你必须小心地按照下面"视频安装“章节来处理这个文件。

AdvanceMENU

为了运行AdvanceMENU,你需要配置哪个模拟器存在你的系统中。如果一个已知的模拟器被发现了,它会被自动配置。在Linux和Mac OS X中,将会到当前的PATH列表(环境变量PATH)中的路径去搜索,而在DOS和Windows只在当前目录录搜索。

一般,你也需要用 emulator_* 来调整 游戏的 .png, .mp2 和 .mng 文件所在位置

视频硬件

Advance程序 能够驱动不同的显卡: Multi Sync Monitors, Fixed Sync Monitors, Arcade Monitors and TVs.

除了PC监视器总能够接收VGA信号, 其他监视器,你要加一个转换电路你才能使用视频信号

在这里可以查看很多有关AdvanceMAME 视频问题 的链接:

http://advancemame.sourceforge.net/video-link.html

Multi Sync Monitors

Multi Sync monitors 支持很宽范围的水平时钟,要求一个标准的VGA连接器. 它们是普通的PC监视器.

你们一般可以从监视器的手册里找到它能支持的时钟范围,一般的值是:

device_video_clock 10 - 150 / 30.5 - 60 / 55 - 130

Fixed Sync Monitors

Fixed Sync monitors 只支持一些固定的水平时钟. 一般他要求分离 3,4 或者 5 BNC 连接器, 但是旧的VGA监视器要求一个标准VGA 连接器.

你能在监视器手册找到它确切支持的时钟

VGA监视器的标准时钟是:

device_video_clock 10 - 50 / 31.5 / 55 - 130

如果监视器用分离的 H/V 同步信号,你可以直接用你的PC的VGA同步信号. 如果监视器用composite sync,或者 sync-on-green ,你必须用一个同步转换电路.

这些监视起一般都同VGA 0.7 V p-p视频信号兼容。

Arcade Monitors

街机监视器只支持一些固定水泵和垂直时钟,一般水平时钟是 15.75 and 25 kHz, 垂直时钟是 60 Hz.

你可以在监视器的手册里找到 它所支持的时钟。

请注意,一些街机监视器不正确地描述了水平扫描频率的范围,如15 - 31 kHz.一般,这些显示器,只支持3个固定的频率 15.75, 25, 31.1 kHz. 一个例子就是 Wells-Gardner D9200.

15 kHz (CGA)的标准频率是:

device_video_clock 5 - 50 / 15.75 / 60

16 kHz的是:

device_video_clock 5 - 50 / 16.5 / 53

25 kHz (EGA)的是:

device_video_clock 5 - 50 / 25 / 60

如果你的监视器是多标准的,请用 `;'分开这些不同的规格,如:

device_video_clock 5 - 50 / 15.75 / 60 ; 5 - 50 / 25 / 60

如果监视器接受0-5V的分离H/V同步信号,你可直接用你PC的VGA同步信号。如果你的监视器用其他同步信号,你必须用一个同步转换电路。

如果监视器接受一个混合同步信号,而不是用一个同步转换电路,你可以试试将VG信号的H和V信号绞起来。 你在程序中选择VGA 相反的H和V同步,就可以工作了。 为安全起见,我不推荐 将同步信号直接连接在一起。它们根本不是设计成直接将同步信号连接在一起的, 可能会损害视频卡。

你也应该要确定,监视器可以接受.7Vp-p的VGA 视频信号。一般 街机的监视器要求视频信号在 1V-5V之间。 所以如果你尝试用VGA视频信号驱动街机监视器,你可能需要买放大器

TVs

一般电视机只支持两种 水平和垂直频率的组合,对应于两种不同的电视制式:PAL和NTSC PAL TV (欧洲标准)的频率是:

device_video_clock 5 - 50 / 15.62 / 50

NTSC TV (USA) are:

device_video_clock 5 - 50 / 15.73 / 60

对 PAL TV (European)它也支持 NTSC TV (USA) 模式 (一般是你用 SCART 输入):

device_video_clock 5 - 50 / 15.62 / 50 ; 5 - 50 / 15.73 / 60

TVs with SCART

如果你的电视机使用SCART输入,你可直接用VGA模拟信号作为RGB输入

要求一个混合同步. 这意味着你必须使用一个同步转换电路来转换 0 - 5 V的 VGA H/V 到一个 0 - 0.3 V混合同步信号.

SCART 也接受一个混合视频信号,但RGB视频信号更好.

Remember what to enable the SCART RGB signal you must set the SCART pin 16 at level 1 - 3 V (no more than 3 V). And to automatically switch the TV to the AV signal you must set the SCART pin 8 at level 9.5 - 12 V (for some TVs 5 V may be enough).


If you have a recent VGA board, you can use the 5 V power available on the VGA pin 9. Alternatively you can use the 5 V and 12 V PC internal power.

TVs with S-Video

如果你的TV有S-Video输入,你就可用你的VGA板的TV-Out信号

S-Video信号接近RGB信号的质量

不幸的是,TV-Out信号 一般 不被Advance程序 打开。有些在Linux和Windows下的程序 能够打开TV-Out信号。但这些程序大部分 都没有测试过。


视频设置(Setup)


Advance程序可以直接控制你的显卡来得到最好的全屏视频模式,总是用正确的大小和aspect ratio.

在Linux中使用SVGA和Frame Buffer库,在DOS中使用SVGALIB和VBELINE库,在Windows中使用SVGAWIN库,这些特性可用:

在Unix和Mac OS X中,这些特性就不可用,如果你只检测到SDL的视频驱动的话,这些特性在Linux/DOS/Windows中也不可用

为了支持这些特性,程序需要知道一些关于你的显示器的信息,若支持的像素,水平和垂直频率

With thies information the programs are able to always generate `perfect' video modes for the emulated game.

有这些信息,程序总可以为模拟的游戏生成“完美”的视频模式,

操作模式

这个程序支持两种基本的方式 生成视频模式:"automatic"和"manual"操作模式

在`automatic'模式,程序自动从头开始 生成一个视频模式 ,这是最简单的一种操作模式.

在 `manual' 模式,程序从一个手动定义的modelines中选取 视频模式,调整频率和图片大小. 你应该只在自动模式不工作才采用手动模式.

请注意:如果你使用SDL或者VBE视频驱动,程序不能建立或者调整 视频模式,在这种情况下,你不必配置任何东西,因为程序只能有你的系统报告的那个视频模式

The SDL and VBE video drivers are only indicated to use AdvanceMAME in a Window Manager system. Instead they can be used with AdvanceMENU for the use with a normal PC monitor, because AdvanceMENU only use standard video modes.

自动操作模式

在自动操作模式,程序自动建立于一个完美的视频模式,被模拟的游戏有完整的屏幕和合适的帧速率

为了配置和打开这个模式,你需要运行'advcfg'实用程序(对AdvanceMAME)和'advcfg -advmenu'(对AdvanceMENU),然后回答不同的问题。你不必建立一个是视频模式的列表,任何需要的视频模式会在运行的时候建立。

在运行'advcfg'程序之前,你应该检查你的监视器手册,看看场扫描频率和行扫描频率是多少

`advcfg'会增加下面的选项到你的 `advmame.rc':
display_mode auto
display_adjust generate_yclock
device_video_clock ?
device_video_format ?

请查看 `advdev.txt' 和 `advmame.txt' 文件

手动操作模式

在手动操作模式,程序扫描 好的视频modelines,手动建立 然后选择最好的。你必须用adv实用程序建立好video modelisne

下面是手动操作模式的几个基本步骤,请看'advdev.txt'获取详细信息。

1)对 AdvanceMAME,增加下面的两行到 `advmame.rc' :

display_mode auto
display_adjust x

2)在 `advmame.rc' 或者 `advmenu.rc' 增加选喜 `device_video_clock' ,指定 pixel, horizontal and vertical clocks are supported by your monitor. 一般,这些值可在你监视器的手册中找到。你可以 "Video Hardware" 找到一些范例:.

3)运行 `advv'(AdvanceMAME) 或者 `advv -advmenuv' for AdvanceMENU.

4) 在你感兴趣的视频模式上按ENTER进行测试。

如果模式不居中,按箭头使他居中。

完成测试后,按ENTER保存你的修改,或者按ESC取消修改,恢复预先的设置。

返回到视频模式选单后,如果模式显示正确,你可用SPACE来选中它。

你选择的视频模式必须是能完全显示游戏的,否则,游戏时,画面跑到屏幕外,很不爽的。

如果你的视频硬件不支持,那么该模式就是红色的。

5)你选择好 `good' 视频模式之后,按 F2保存他们到你的配置文件中.

6)按 ESC 从 `advv'退出

在`contrib/modeline'目录,有一些 .rc的文件,是视频模式的范例。 The same modelines are contained in the `advv' program.

Troubleshooting

删除所有旧有的配合文件安,从头开始.

如果你使用一台PC Multisync监视器 and the image is instable or the monitor automatically switches off, 你可能填入了错误的时钟值.检查水平和垂直时钟范围 是否和你的监视器中描述的一致。 可以试着用更小的范围,举个例子:

device_video_clock 10 - 150 / 55 - 90 / 31 - 50

如果你使用Arcade Monitor/TV and the image is instable or completely black try increasing the lower pixel clock limit. 一些显卡不能输出太低的时钟.可以试着从 5 升到 8, 9, 10, 11, 12, ...

If interlaced video modes have swapped rows, 试着用 `display_interlaceeffect' 选项来调整图像.

Linux

如果你正在使用`svgalib'驱动,请确认必须安装最近的SVGALIB驱动. 旧的1.4.x 版本的不支持.

如果你使用`fb' 驱动, 请不要使用 VESA Frame Buffer.他在 Advance 程序中不能工作.

如果你使用`fb' 驱动,请加查,你`contrib/fb' 目录下的内核补丁.

如果你使用`svgalib' 驱动,检查`contrib/svgalib' 目录下的svgalib补丁.

如果你同时是哟姑娘`svgalib'和`fb'驱动, 试着强迫使用`fb' 驱动而不是`svgalib'驱动:

device_video fb slang

DOS

试着强迫用 `vbeline' 驱动 而不是 `svgaline' 驱动:

device_video vbeline vgaline

如果你的板子有一个VESA VBE 3.0 BIOS, 试着强迫使用 `vbeline/vbe3' 驱动:

device_video vbeline/vbe3 vgaline

如果你正使用`vbeline'驱动,试着改变 `vbeline_mode' 选项:

device_video vbeline vgaline device_vbeline_mode smaller


Windows

试着从控制面板减小视频硬件加速

作者:Johnny   更新日期:2005-11-12
来源:upsdn.net   浏览次数:

相关文章

相关评论   发表评论