Ubuntu下用xmame玩街机游戏(手柄的支持方法见13楼) gxmame已经和lz一样离开了

游戏讨论
RunningOn
帖子: 71
注册时间: 2006-03-18 14:17
来自: 9#
送出感谢: 0
接收感谢: 0
联系:

Ubuntu下用xmame玩街机游戏(手柄的支持方法见13楼) gxmame已经和lz一样离开了

#1

帖子 RunningOn » 2006-10-30 19:22

  xmame是Windows下mame的Linux版,gxmame是xmame的图形化前端。mame号称是模拟效果最好、支持roms最多的模拟器,不过这个我就不清楚了。
  安装很简单

代码: 全选

sudo apt-get install gxmame
  会自动安装xmame和gxmame,安装后在Gnome游戏菜单中会多出gxmame,执行它会发现界面和Windows下的mame基本一样。很可惜我没有发现这个gxmame怎么用,似乎就是一架子。不用管它,没有图形界面也能玩。
  玩游戏的方法很简单,比如你有KOF98的rom,名为kof98.zip,只用执行xmame kof98就可以了。
  如果你看到这就迫不及待地试了一下,你会发现虽然输出了一大堆东西但玩不了。呵呵,那是因为上面我没有说在哪个目录下执行命令。如果你想当然地在kof98.zip的目录下执行xmame kof98,那你又错了。心急吃不了热豆腐,还是看先完这篇文章吧。
  执行xmame kof98的时候,xmame会在指定的目录下找kof98.zip或其它支持的压缩格式的文件。这个指定的目录是在/etc/xmame/xmamerc下指定的。以root身份打开它,会发现这样一行:

代码: 全选

rompath              /usr/share/games/xmame/roms
  把后面的路径改为你机器上的就行了。比如:

代码: 全选

rompath     "/media/hdb5/街机ROM/Perfect148XP roms"
  我在路径外打了双引号,因为我的路径里有空格。
  如果有多个目录,则用冒号:隔开。比如:

代码: 全选

rompath     "/media/hdb5/街机ROM/Perfect148XP roms:/media/hdb5/街机ROM/mame roms"
  注意到冒号是在双引号的的里面,即"路径1:路径2:...",而不是"路径1":"路径2"...。当然,如果你路径中没有空格,就不需要打双引号。

  其它参数都不用改。
  然后,执行xmame kof98就可以了,随便在哪个目录下。执行后,可能会有一些警告,按几次左右方向键就可以进入游戏了。
  xmame在命令行下有很多参数,建议用man xmame或xmame --help查看一下,可以设置的东西还是很多的。这里我不列出来了,而且大部分情况下不需要设置参数。
  常用的快捷键:
  • 左Alt+PageDown 切换全屏/窗口模式(Alt+Enter不行)
    左Shift+PageUp 放大
    左Shift+PageDown 缩小
    P 硬件暂停/继续
    Esc 退出
    F3 硬件reset
  其它还有很多快捷键,就不再列了。上面的快捷键中,后三个是可以更改的。
  游戏键位的设定方法和Windows下是一样的,进入游戏后,按Tab键进入设定选单(之前可以先按P暂停游戏)。以下的操作应该不用多说,试试就会了,或者google一把,文章挺多的。默认情况下,1P的上下左右是WSAD,出招的四个按键是UIJK。1P和2P的投币分别是5和6,开始键分别是1和2。存档方法先按Shift+F7,再按0-9选择存盘点。读档是先按F7,再选择读盘点。
  要注意的是xmame有个bug,全屏时,如果放大之后再缩小时不会进行全屏重绘。不过这不影响游戏。
  并不是所有的街机rom版本xmame都能玩。比如我机器上的kof98有两个rom,在Windows下都能玩,但在Linux下一个能玩一个不能,虽然都是zip压缩。
  我的机器的显卡是GeFore FX5200,CPU AMD XP2500+,游戏时只能放大两倍,即按一次Shift+PageUp。再大就会有点跳帧。除此之外,非常流畅。
  很可惜我没有搞定我的手柄驱动。我的手柄是北通USB手柄,还望有经验的大虾赐教。
上次由 RunningOn 在 2008-04-01 21:55,总共编辑 2 次。
peacedog
帖子: 7
注册时间: 2006-04-02 0:52
送出感谢: 0
接收感谢: 0

赞一个

#2

帖子 peacedog » 2006-10-30 19:40

虽然我不是一个街机的爱好者,不过这篇帖子是难得一见的详尽和细致阿呵呵!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#3

帖子 eexpress » 2006-10-30 20:47

是写的详细。但是应该推荐gxmame或者kxmame。菜单设置就是了。
● 鸣学
RunningOn
帖子: 71
注册时间: 2006-03-18 14:17
来自: 9#
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 RunningOn » 2006-10-30 21:17

eexpress 写了:是写的详细。但是应该推荐gxmame或者kxmame。菜单设置就是了。
呵呵,我gxmame没有搞定,所以只是提了一下。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#5

帖子 eexpress » 2006-10-30 21:26

以前使用这个,gxmame_0.35beta2-1~breezy_i386.deb,没见有问题。记得是当时源的包有问题而已。
现在都edgy了。我还留着rom。没事的时候安装试试。
● 鸣学
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#6

帖子 eexpress » 2006-10-30 21:33

刚刚安装了。蛮好的。还有cheat on。nnd的。
附件
gxmame_0.35beta2-1~breezy_i386.deb
(252.51 KiB) 下载 411 次
● 鸣学
kliz
帖子: 36
注册时间: 2006-10-22 13:39
送出感谢: 0
接收感谢: 0

Re: Ubuntu下用xmame玩街机游戏

#7

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

RunningOn 写了: 
  并不是所有的街机rom版本xmame都能玩。比如我机器上的kof98有两个rom,在Windows下都能玩,但在Linux下一个能玩一个不能,虽然都是zip压缩。
不是所有的rom都能通过mame严格的CRC check
通常来说,适用于mame的rom应该是所有的dump版本最好的。
RunningOn 写了: 
  我的机器的显卡是GeFore FX5200,CPU AMD XP2500+,游戏时只能放大两倍,即按一次Shift+PageUp。再大就会有点跳帧。除此之外,非常流畅。
窗口模式使用soft rendering
没有hardware scaling,所以会慢
全屏默认使用DGA<direct graphic access>
或者XV模式
这些都可以保证游戏的流畅
如果打开了direct render
还可以使用opengl
RunningOn 写了: 
  很可惜我没有搞定我的手柄驱动。我的手柄是北通USB手柄,还望有经验的大虾赐教。
可能会需要自己编译xmame哦
我没有手柄 :cry:
但是如果手柄已经被X认出来
那就应该不难

或者在$HOME/.xmame/xmamerc里
增加

代码: 全选

usbpspad                1
试试看
RunningOn
帖子: 71
注册时间: 2006-03-18 14:17
来自: 9#
送出感谢: 0
接收感谢: 0
联系:

Re: Ubuntu下用xmame玩街机游戏

#8

帖子 RunningOn » 2006-10-31 19:08

怎样才知道手柄有没有被Ubuntu识别呀?
kliz 写了: 
可能会需要自己编译xmame哦
我没有手柄 :cry:
但是如果手柄已经被X认出来
那就应该不难

或者在$HOME/.xmame/xmamerc里
增加

代码: 全选

usbpspad                1
试试看
kliz
帖子: 36
注册时间: 2006-10-22 13:39
送出感谢: 0
接收感谢: 0

Re: Ubuntu下用xmame玩街机游戏

#9

帖子 kliz » 2006-10-31 23:10

RunningOn 写了:怎样才知道手柄有没有被Ubuntu识别呀?
kliz 写了: 
可能会需要自己编译xmame哦
我没有手柄 :cry:
但是如果手柄已经被X认出来
那就应该不难

或者在$HOME/.xmame/xmamerc里
增加

代码: 全选

usbpspad                1
试试看
cat /dev/input/js0
cat /dev/js0

如果安装了kcontrol
可以更方便的查看

最后在xmame-x11 后面加上参数
-jdev /dev/input/js0
或者其他
头像
eagle5678
帖子: 1821
注册时间: 2006-07-08 14:07
送出感谢: 14 次
接收感谢: 1 次

#10

帖子 eagle5678 » 2006-11-05 16:26

就喜欢玩kof98
头像
peakgg
帖子: 1122
注册时间: 2006-10-10 9:40
送出感谢: 1 次
接收感谢: 0
联系:

#11

帖子 peakgg » 2006-11-07 22:33

eexpress:我安装了你提供的版本,结果与之前安装得出一样的结果:装载rom时出现一堆错误提示,或者什么提示也没有的对话框,或者黑屏,然后进入用户登录界面。
我想我的RP没差到下载的rom都不行吧?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#12

帖子 eexpress » 2006-11-07 22:46

$ md5sum kof97.zip
66ae6d56f9b1f732a0a68d060056c2f2 kof97.zip

我的包是显示breezy的。但是dapper和edgy下面都试过的。
你要不终端下面运行gxmame,看有什么提示。可能是你的后端xmame安装的版本不对。sdl的这样的。
● 鸣学
RunningOn
帖子: 71
注册时间: 2006-03-18 14:17
来自: 9#
送出感谢: 0
接收感谢: 0
联系:

Re: Ubuntu下用xmame玩街机游戏

#13

帖子 RunningOn » 2006-11-09 17:55

  多谢,手柄问题已经搞定。
  现在终于知道了,原来Ubuntu如果识别出了USB手柄,会在/dev/input/目录下生成一个js?的文件,比如我的手柄被识别为了/dev/input/js0。
  man了一下xmame,要支持手柄,要在命令的最后加上-jt 1 -jdev /dev/input/js0,还不行可以再加个-usbpspad,比如下面这样:

代码: 全选

xmame kof98 -jt 1 -jdev /dev/input/js0
或
xmame kof98 -jt 1 -jdev /dev/input/js0 -usbpspad
  这些参数的意义写man手册。
  多个手柄的话就要多写几个,比如两个手柄就要再加个"-jdev /dev/input/js1"
  也可以把这些参数写到/etc/xmame/xmamerc中,即在这个文件的最后加上:

代码: 全选

jt              1
jdev           /dev/input/js0
usbpspad    1
  这样设置后,就只需要输入命令xmame kof98。
  
kliz 写了: cat /dev/input/js0
cat /dev/js0

如果安装了kcontrol
可以更方便的查看

最后在xmame-x11 后面加上参数
-jdev /dev/input/js0
或者其他
jake
帖子: 40
注册时间: 2006-09-16 22:32
送出感谢: 0
接收感谢: 0
联系:

#14

帖子 jake » 2006-11-09 21:19

盛赞楼上~ 终于可以玩了~ :lol:
kliz
帖子: 36
注册时间: 2006-10-22 13:39
送出感谢: 0
接收感谢: 0

Re: Ubuntu下用xmame玩街机游戏

#15

帖子 kliz » 2006-11-10 12:37

RunningOn 写了:  多谢,手柄问题已经搞定。
  现在终于知道了,原来Ubuntu如果识别出了USB手柄,会在/dev/input/目录下生成一个js?的文件,比如我的手柄被识别为了/dev/input/js0。
  man了一下xmame,要支持手柄,要在命令的最后加上-jt 1 -jdev /dev/input/js0,还不行可以再加个-usbpspad,比如下面这样:

代码: 全选

xmame kof98 -jt 1 -jdev /dev/input/js0
或
xmame kof98 -jt 1 -jdev /dev/input/js0 -usbpspad
  这些参数的意义写man手册。
  多个手柄的话就要多写几个,比如两个手柄就要再加个"-jdev /dev/input/js1"
  也可以把这些参数写到/etc/xmame/xmamerc中,即在这个文件的最后加上:

代码: 全选

jt              1
jdev           /dev/input/js0
usbpspad    1
  这样设置后,就只需要输入命令xmame kof98。
  
kliz 写了: cat /dev/input/js0
cat /dev/js0

如果安装了kcontrol
可以更方便的查看

最后在xmame-x11 后面加上参数
-jdev /dev/input/js0
或者其他
xmame源码里假定所有的手柄都在/dev/js0
这跟比较旧的linux kernel兼容
所以会出这样的问题
回复

回到 “游戏和游戏模拟器”