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

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

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


7 Saturn pad (8 buttons)
8 Multisystem 1-button joystick (v0.8.0.2 pin-out)
9 Two Multisystem 1-button joysticks (v0.8.0.2 pin-out)
10 Amiga CD32 pad

  FreeBSD与NetBSD共享一套uhid设备驱动代码,对于USB游戏手柄有最基本的支持,在我的PC上FreeBSD-5.1current下的SDL库(1.2.5)能够驱动我的Topway 单人手柄,但却坚持认为我的Gametec USB双人手柄有-1个按钮:-< 而使用BSD uhid接口的xmame-0.70.1 则干脆认不出任何游戏手柄设备,但Taik0说UHID游戏手柄设备在*BSD上可以使用,并且成功地在xmame-0.57.1上驱动了他的JOYSTICK,我相信这可能与游戏杆设备有关,你可以按照他给出的CASE试一试,或许这对你适用。但借助SDL的支持,xmame-0.70.1完美地支持了UHID单人手柄,需要注意的是你必须对/dev/uhid0拥有写权限,否则将无法使用手柄。

  FreeBSD能够支持ISA声卡上的Gameport接口,但似乎对于PCI声卡上的Gameport接口不感兴趣,无论是4- STABLE还是5-CURRENT,Alex Teslik给出了一个不用修改代码就能让FreeBSD支持Logitech Wingman Attack joystick的方法,然而我在4.8-STABLE(2003-07-18)和5-CURRENT(2003-07-18)上测试均未成功,虽然FreeBSD已经驱动了我的CMEDIA PCI声卡。kldstat -v的输出是这样的:

  

2 1 0xc1db4000 2000 joy.ko
Contains modules:
Id Name
216 isa/joy
3 1 0xc1d94000 4000 snd_cmi.ko
Contains modules:
Id Name
211 pci/snd_cmi
4 1 0xc1d99000 14000 snd_pcm.ko
Contains modules:
Id Name
210 snd_pcm
而Alex Teslik给出的结果是这样的
4 1 0xc3053000 3000 joy.ko
Contains modules:
Id Name
99 isa/joy
100 pci/joy
5 1 0xc305a000 14000 snd_pcm.ko
Contains modules:
Id Name
101 snd_pcm

  我没有兴趣只是为了驱动游戏手柄而回滚内核代码,这么做没有意义,由于手边没有ISA声卡,我无从得知FreeBSD对于ISA-GAMEPORT的支持究竟如何,但至少SDL的JOYSTICK驱动中包含了对FreeBSD的GAMEPORT的支持(SDL12/src/joystick/bsd/SDL_sysjoystick.c 2003-06-02),因此,如果你有被列在FreeBSD兼容列表里的ISA的声卡,和GAMEPORT口的游戏手柄,你应当不会失望。

标签:

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

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

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