如何在Linux/FreeBSD下玩模拟器游戏(5)

2008-02-23 07:26:14来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  如何在指令行模式下使用XMAME

  xmame.SDL

  你可以用下面这条指令以全屏模式启动Strikers 1945的游戏,并让xmame使用SDL游戏杆驱动:

  

$ xmame.SDL -fullscreen -jt 7 ./s1945.zip

  xmame.x11

  下面这条指令以全屏模式启动Strikers 1945的游戏,并强制xmame使用XVideo加速,并使用新版的Linux 游戏杆驱动:

  

$ xmame.11 -x11 1 -xv -jt 4 ./s1945.zip

  下面这条指令以全屏模式启动Strikers 1945的游戏,并强制xmame不使用XV而使用DGA加速,并使用旧版的Linux游戏杆驱动:

  

# xmame.11 -x11 1 -noxv -jt 1 ./s1945.zip

  xmame默认'5'是Player1投币,'1'是Player1开始,试一试吧,你还有你往日的身手吗?你可以按"TAB"键弹出设置菜单,修改缺省的键盘/游戏杆设置以符合你的口味。"xmame.xxx --help"可以得到xmame的命令行帮助,更详细的帮助可以参考xmame手册(英文) M.A.M.E 32中文說明 是另一个有关mame主题不错的中文文档 。

  使用GXMAME图形前端

  如果你觉得命令行过于专业而你想让娱乐变得轻松一些的话, GXMAME是个不错的主意。这是一个GNOME环境下的xmame的前端(不要害怕,只要安装了gtk 的库,她在诸如 KDE这样的窗口环境里也一样能运行),与mame32(著名的windows下的mame图形界面)及其相似的外观与操作习惯,相信你会喜欢的。

  关于xmame-0.71.1

  2003年7月19日,xmame-0.71.1正式发行了,然而事情变得有点复杂:注意配置文件中的这一行,不要取消这行的注释,否则编译将会失败。

  

# X86_MIPS3_DRC = 1

  在Redhat Linux 9 (GCC 3.2.2 20030222)上,她成功地编译并且运行了,然而在FreeBSD-4.8 STABLE上,即使我禁用了X86_MIPS3_DRC引擎,编译却仍然失败了。我知道FreeBSD小组在7月14日将缺省编译器升级到了 gcc-3.3,并且正在解决一部分ports编译出错的问题,于是猜测这可能与编译器有关,7月21日,FreeBSD小组将缺省编译器回滚到了gcc-2.95.4,我重新编译了一次,仍然无法通过(我没有测试过在Linux下的gcc-2.95 的编译情况如何),我猜测XMAME需要gcc-3.2,于是,我编译了/usr/ports/lang/gcc32以使FreeBSD使用与 Linux相同的编译器,这个猜想立即得到了验证-- 编译通过了,并且XMAME运行正常。

  在你向FreeBSD的mail-list发出你的BUG-REPORT之前,请先检查你的编译器版本,或是使用xmame-0.70.1 (她在2.95/3.2/3.3上编译都没问题),mail-list里的问题已经足够多了,请给FreeBSD小组多一些PATCH、建议或是时间。

  使用游戏杆

  当然使用游戏杆,我没兴趣用键盘玩游戏,如果你不在乎这个,那么跳过这一节。感谢 Vojtech Pavlik,感谢Suse与Intel,Linux用户拥有Unix环境下最出色的Joystick驱动支持,包括USB 接口,Gameport接口甚至Win2000不支持的并口游戏杆都可以支持。Redhat-7.x以上版本已经自带了这个驱动,并且随内核发布了可装载驱动模块。如果你重编译了核心或是使用了其他的核心发布,请确保你编译了相应的模块。否则以下描述很可能对你不适用。

  USB接口HID游戏杆

  我们这里所说的USB游戏手柄是指不带力回馈功能的标准UHID设备(M$称为人体工程学输入设备)这是目前市面上最容易买到,也最容易被驱动的游戏手柄,你只需选择一个选择一个usb接口,插上手柄,在/var/log/message里你可以看到发现新的HID设备的的信息,以root身份运行"modprobe joydev",然后执行"jstest /dev/input/js0"(对于Redhat Linux,/dev/js0也同样指向该设备)jstest将报告该游戏手柄的轴向个数和按钮个数,当你按下按钮时jstest报告哪个轴向发生了变化以及哪个按钮被按下。

  Gameport游戏杆

  这是在史前时代流传下来的游戏杆接口标准,Linux对她们有很好的支持。一个最常见的Gameport接口2轴 6键手柄的驱动方式看起来会像下面这样,你可以使用"jstest /dev/js0"来验证游戏手柄是否已被正确驱动。

  

# modprobe <your sound-card moudle>
# modprobe ns558
# modprobe analog js=gamepad
# modprobe joydev

  如果你安装了kernel-source你可以在/usr/src/linux-2.4.xx/Documentation/joystick.txt里找到关于 js参数的详细描述。

  

Type Meaning
none No analog joystick on that port
auto Autodetect joystick
2btn 2-button n-axis joystick
y-joy Two 2-button 2-axis joysticks on an Y-cable
fcs Thrustmaster FCS compatible joystick
chf Joystick with a CH Flightstick compatible hat
fullchf CH Flightstick compatible with two hats and 6 buttons
gamepad 4/6-button n-axis gamepad
gamepad8 8-button 2-axis gamepad

  并口游戏杆

  对于并口游戏杆,Linux同样有出色的支持,最常见的PSX并口手柄可以用以下指令驱动:

  

# modprobe gamecon gc=0,7
# modprobe joydev"

  gc参数形式是这样的:gc=port,pad1,pad2,pad3,pad4,pad5。这里gc的第一个参数0表示使用并口1作为输入端口,第二个参数7表示pad1是SonyPSX游戏杆(大部分常见的PSX跳舞毯也可以同样的方式驱动),其他参数类型见下表,你可以在/usr/src/linux-2.4.xx/Documentation/joystick-parport.txt找到完整而精彩的描述。

  

Type Joystick/Pad
0 None
1 SNES pad
2 NES pad
4 Multisystem 1-button joystick
5 Multisystem 2-button joystick
6 N64 pad
7 Sony PSX controller

  另一个并口游戏杆驱动db9的参数形式是这样的:db9=port,type。她支持以下类型的并口游戏杆。

  

Type Joystick/Pad
0 None
1 Multisystem 1-button joystick
2 Multisystem 2-button joystick
3 Genesis pad (3 1 buttons)
5 Genesis pad (5 1 buttons)
6 Genesis pad (6 2 buttons)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:架设基于Linux(2.6内核)的服务器集群

下一篇:Linux系统应用程序和内核模块的区别