xmame QA

游戏讨论
回复
kliz
帖子: 36
注册时间: 2006-10-22 13:39

xmame QA

#1

帖子 kliz » 2006-10-30 23:16

Q:什么是xmame?

A:xmame是MAME在*nix平台下的移植版本。MAME是一个多机种街机模拟器,在1997年由 Nicola Salmoria创建。MAME可以模拟很多机种,甚至包括一些家用机。MAME是原生win32软件,所以在其他平台上需要作一些源代码的改动才可以使用,xmame是MAME在 *nix下面的 port。

Q:xmame支持GNU/Linux吗?
A:xmame不仅支持GNU/Linux,而且还支持其他很多UNIX平台,如FreeBSD,OpenBSD,NetBSD,Solaris,AIX,BeOS,Openstep,QNX等。

Q:xmame遵循什么协议?
A:xmame遵循MAME协议。请参考$xmame-source$/src/unix/doc/mame/license.txt。

Q:如何得到xmame的源代码?
A:最新的代码在http://x.mame.net发布。

Q:在ubuntu下面怎么得到?
A:apt-get install xmame

Q:3个选择?
A:xmame-x 在X11协议的基础之上进行工作。ubuntu软件仓库中的xmame默认提供了三种使用硬件拉伸的渲染方式: DGA,Xv,OpenGL。当然它们都需要X的支持才能进行工作。
A:xmame-sdl 基于SDL库开发。SDL为X程序提供跨平台的二维帧缓冲区图形和音频服务。它支持Linux、Win32和其它一些平台,包括FreeBSD和MacOS。SDL所提供的API可以直接访问硬件,而不需要root权限。
A:xmame-svga基于SVGA开发。SVGA的好处在于不需要X的支持。xmame-svga仅工作在GNU/Linux 平台下面,目前尚没有其他平台的移植版本。xmame-svga需要root权限才能工作。ubuntu已经为xmame-svgalib设置了suid位。

Q:xmame的配置文件在哪里?
A: /etc/xmame/xmamerc $HOME/.xmame/xmamerc /etc/xmame/xmame-$Video_Model$rc $HOME/.xmame/xmame-$VIdeo_Model$rc Video_Model :x11, SDL, svgalib 所有版本的xmame都会按上面的顺序读取各自的配置文件



Q:xmamerc结构?
A:xmamerc使用键名<分割符>键值的方式。分割符可以是一个或者多个空格/Tab。

Q:xmamerc示例?
A:

代码: 全选

 $cat ~/.xmame/xmamerc 

代码: 全选

### File I/O-related ### 
rompath                 /media/hdb8/Emulation/mame100/roms #rom的位置 
samplepath              /media/hdb8/Emulation/mame100/samples #sample声音采样的位置 
inipath                 $HOME/.xmame/ini 
cfg_directory           $HOME/.xmame/cfg 
nvram_directory         $HOME/.xmame/nvram 
memcard_directory       $HOME/.xmame/memcard 
input_directory         $HOME/.xmame/inp 
hiscore_directory       $HOME/.xmame/hi 
state_directory         $HOME/.xmame/sta 
artwork_directory       /media/hdb8/Emulation/mame100/artwork 
snapshot_directory      /media/hdb8/Emulation/mame100/snap 
diff_directory          $HOME/.xmame/diff 
ctrlr_directory         /media/hdb8/Emulation/mame100/ctrlr 
cheat_file              /home/kliz/.xmame/cheat.dat 
hiscore_file            /media/hdb8/Emulation/mame100/hiscore.dat 
# record                <NULL> (not set) 
# playback              <NULL> (not set) 
log                     0 

### MAME Related ### 
defaultgame             dino #默认游戏,如果不指定游戏名称会使用这个 
language                english 
fuzzycmp                1 #模糊游戏名称匹配,会自动载入名字最相近的游戏 
cheat                   1 #开启作弊 
skip_gameinfo           1 #跳过游戏信息 
bios                    default # 
# state                 <NULL> (not set) 
autosave                0 #自动存档 

代码: 全选

 $cat ~/.xmame/xmame-x11rc 

代码: 全选

 
### xmame running parameters ###  

### Video Related ### 
video-mode              0 #以 normal 方式渲染 #1 XVideo 扩展模式渲染 #2 OpenGL 模式渲染 
fullscreen              0 #全屏方式启动 
arbheight               0 #强制画面以此数值高度显示,宽度不变 
widthscale              1 #画面横向缩放比例 
heightscale             1 #画面纵向缩放比例 
effect                  0 #画面应用特效,通常我使用7 
#0 = none (default) 
#1 = scale2x (smooth scaling effect) 
#2 = lq2x (low quality filter) 
#3 = hq2x (high quality filter) 
#4 = 6tap2x (6-tap filter with h-scanlines) 
#5 = scan2 (light scanlines) 
#6 = rgbscan (rgb scanlines) 
#7 = scan3 (deluxe scanlines) 
#8 = fakescan (black scanlines) 
autodouble              1 #如果游戏本身是像素点1:2显示的话,置为1则会自动缩放 
frameskipper            1 #选择自动跳帧方式,0为经典DOS方式,1为William A. Barath 改进的方式 
throttle                1 #限制最高fps=60 
frames_to_run           0 #执行游戏的总帧数,到此数值则自动退出 
sleepidle               1 #当xmame处于空闲状态时,进程进入sleep 
autoframeskip           1 #自动跳帧调整 
maxautoframeskip        8 #最大跳帧级别 
frameskip               0 #跳帧级别,如果autoframskip设为0,则由这里的数值决定 
brightness              1.000000 #亮度百分比,可以在游戏OSD里面调整 
pause_brightness        0.650000 #暂停时的亮度百分比 
gamma                   1.000000 #gamma校正值 
norotate                0 #总是不旋转画面, 
ror                     0 #顺时针旋转画面 
rol                     0 #逆时针旋转画面 
autoror                 0 #自动为纵版游戏顺时针旋转画面 
autorol                 0 #自动为纵版游戏逆时针旋转画面 
flipx                   0 #总是把画面窗口放在左上角的位置 
flipy                   0 #总是把画面窗口放在右下角的位置  

### Use additional game artwork ### 
artwork                 1 #使用artwork 
use_backdrops           1 #背景图 
use_overlays            1 #前景图 
use_bezels              1 #外框图 
artwork_crop            0 #剪裁artwork 
artwork_scale           1 #缩放artwork  

### Vector Games Related ###矢量游戏相关 

beam                    1.000000 #光束宽度 
flicker                 0.000000 #闪烁 
intensity               1.500000 #光源强度 
antialias               1        #抗锯齿  
translucency            1        #半透明 
hardware-vectors        1        #硬件矢量  
# mngwrite              <NULL> (not set)  

### Aspect ratio handling ### # 
keepaspect              1 #保持画面缩放比例 
perfectaspect           0 #自动缩放 
displayaspectratio      1.333333 #保持4:3  

### X11 Related ### 
geometry                1 
xsync                   1  
root_window_id          0 
run-in-root-window      0  

### X11-window Related ### 
mitshm                  1 #使用MIT X 扩展协议共享内存  

### DGA Related ### 
vsync-pagelimit         2 #X同步传输限制  

### Video Mode Selection Related ###  

### XV Related ### 
force-yuv               0 #指定xmame使用yuv2模式,如果xv渲染模式颜色不正常请将此值置为 1 
perfect-yuv             1 #让xmame自动探测合适的yuv模式  

### OpenGL Related ### 
gldblbuffer             1 
gltexture_size          0 
glbilinear              1 
glbeam                  1.000000 
glantialias             0 
glantialiasvec          0 
cabview                 0 
cabinet                 glmamejau  

### X11-input related ### 
grabmouse               0 
grabkeyboard            0 
alwaysusemouse          0 
cursor                  1 
winkeys                 0     

### Input device options ### 
joytype                 0 
#0  No joystick 
#1  Standard joystick 
#2  FM Towns pad 
#3  NetBSD/FreeBSD USB joystick 
#4  PS2-Linux native pad 
#5  SDL joystick  
analogstick             0 
ugcicoin                0 
steadykey               0 
a2d_deadzone            0.300000 
# ctrlr                 <NULL> (not set) 
digital                 none 
usbpspad                0 
rapidfire               0  

### Sound Related ### 
samples                 1 #是否使用声音采样支持 
samplefreq              44100 #采样率<Khz> 
bufsize                 3.000000 #缓冲区大小 
volume                  -3 #这个是声音大小<db>,也可以在游戏的OSD菜单里面调整 
#audiodevice            <NULL> (not set) 
#mixerdevice            <NULL> (not set)  

### Digital sound related ### # 
dsp-plugin            <NULL> (not set) timer                   0  

### Sound mixer related ### # 
sound-mixer-plugin    <NULL> (not set) 

Q:快捷键?
A:通常的游戏快捷键是和MAME相同的。
Xmame/xmess uses the same key bindings as the Windows version of MAME: The following keys work in all emulators:
` or ~ Enter On screen display to change volume, brightness etc.#OSD菜单
Tab Enter configuration menu. Press Tab or Esc to get back to the emulation.#显示/隐藏游戏主菜单
P Pause #暂停
F3 Reset #重置游戏
F4 Show the game graphics. Use cursor keys to change set/color, F4 or Esc to return to the emulation.#显示调色板
F8 Reduce frame skip #减少跳帧
F9 Increase frameskip #增加调帧
F10 Toggle speed throttling #速度限制60fps
F10 + shift Toggle idle sleeping
F11 Toggle speed display #显示当前帧数
F11 + shift Toggle profiler display
F12 Save a screen snapshot #保存游戏快照
ESC Exit emulator #这个是干什么用的? :shock:

Xmame's X11 display target allows you to switch between different modes and to toggle full-screen display using the following key combos:#编译时没有编译相应的渲染模式,快捷键则无效

Key combo: Switches to:
left-alt + insert Normal X11
left-alt + home Xv
left-alt + page up OpenGL
left-alt + delete Glide
left-alt + end XIL
left-alt + page down Toggle between windowed and full-screen modes#在全屏和窗口之间切换

You can also change certain settings in the X11 target:

left-ctrl + delete Toggle mouse grabbing #置鼠标焦点于当前窗口
left-ctrl + end Toggle keyboard grabbing #
left-ctrl + left-alt + insert Toggle bilinear filtering #(OpenGL and Glide only)
left-ctrl + left-alt + home Toggle cabinet view (OpenGL only)
left-ctrl + left-alt + page up Increase vector beam size (OpenGL only)
left-ctrl + left-alt + page down Decrease vector beam size (OpenGL only)
left-ctrl + left-alt + end Toggle antialiasing (OpenGL only)

Xmame has 2 different auto frame skipping algorithms. These can be selected with the -frameskipper option and with key combos:

Key combo: Gives you the:
left-ctrl + insert Standard DOS frame skipper #DOS跳帧模式
left-ctrl + home William Barath's frame skipper #WB增强跳帧模式

Xmame's display scaling can be controlled on the fly with the following key combos:

Key combo: Result:
left-shift + insert Increase width scale #增加宽度比例
left-shift + delete Decrease width scale #减小宽度比例
left-shift + home Increase height scale#增加高度比例
left-shift + end Decrease height scale#减小高度比例
left-shift + page up Increase scale #增大窗口大小比例
left-shift + page down Decrease scale #减小窗口大小比例

Video effects can also be altered on the fly:

left-ctrl + page up Select next display effect #上一个画面特效(扫描线)
left-ctrl + page down Select previous display effect #下一个画面特效(扫描线)

Under SDL, xmame can switch to and from different modes during runtime:

Key combo: Result:
left-alt + enter Toggles between windowed and full-screen modes. #left-alt + page up also works.

Q:为什么退出xmame.svgalib时显示器总是提示超出刷新范围?
A:sudo vim /etc/vga/libvga.config # uncomment line401:VesaText and line404:VesaSave 14

Q:xmame-svga使用什么作为显卡驱动
A:VESA

Q:如何查看显卡支持硬件加速与否?
A:glxinfo | grep 'direct rendering'

Q:为什么xmame-x11切换到opengl模式速度很慢?
A:请确认显卡驱动打开了硬件加速
A:请确认xorg.conf里面,module段里面有load dri 和 load glx.

代码: 全选

cat /etc/X11/xorg.conf

代码: 全选

Section "Module"
	Load  "i2c"
	Load  "bitmap"
	Load  "ddc"
	Load  "dri"
	Load  "freetype"
	Load  "glx"
	Load  "int10"
	Load  "type1"
	Load  "vbe"
EndSection
回复