Mandos USB con xmame en FreeBSD
Autor: Taik0
En este mini-howto explicaré la forma de compilar el sistema y el xmame para que funcione con un mando USB en FreeBSD ( la compilacion en mame es la misma para NetBSD). Configurando el sistemaPrincipalmente necesitamos soporte USB en el kernel: device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) device ugen # Generic device uhid # "Human Interface Devices" Esos son los devices necesarios para que nuestra FreeBSD detecte el mando al arrancar, principalmente uhid. root@jotaro# config MYKERNEL root@jotaro# cd ../../compile/MYKERNEL root@jotaro# make depend && make && make install Añadiremos al rc.conf el siguiente flag: usbd_enable="YES" Con eso ya tendremos nuestro sistema listo para tener soporte USB. root@jotaro# usbdevs addr 1: UHCI root hub, VIA addr 2: Microsoft SideWinder Plug & Play Game Pad, Microsoft El device por defecto suele ser /dev/uhid0 Como usuarios normales no tenemos acceso al dispositivo del joypad (/dev/uhid0), por lo tanto cambiaremos sus permisos: root@jotaro# chmod 666 /dev/uhid0 Configurando xmameUna vez todo detectado pasaremos a la configuracion del xmame, podemos bajar la ultima version disponible de: x.mame.net No aconsejo instalar el port ya que no te deja configurar nada y el soporte para USB viene desactivado para -CURRENT y -RELEASE. Una vez tenemos el paquete pasamos a descomprimirlo: root@jotaro# tar jxvf xmame-0.57.1.tar.bz2 root@jotaro# cd xmame-0.57.1 Y empezamos con la configuracion del Makefile que en nuestro caso es makefile.unix. Las siguientes opciones hay que cambiarlas para el mejor funcionamiento del mismo. ARCH = freebsd Sin esto no tendremos soporte USB ya que solo es soportado por FreeBSD y NetBSD y por defecto viene Linux JOY_USB = 1 NetBSD/FreeBSD USB joystick support (hace falta decir mas?). DISPLAY_METHOD = SDL Mejor utilizar la libreria SDL, si no la tienes o no te interesa usarla por la razón que sea lo mas recomendable es: DISPLAY_METHOD = x11 Si tienes el DGA activado en las X: X11_DGA = 1 Para activarlo basta con comentar estas lineas de /etc/X11/XF86Config : # SubSection "extmod" # Option "omit xfree86-dga" # don't initialise the DGA extension # EndSubSection Con esto ya hemos acabado de configurar el Makefile de nuestro mame, ahora solo falta compilarlo. root@jotaro# gmake -f makefile.unix root@jotaro# gmake install Y ya estamos practicamente listos para jugar! Y ahora vayamos directamente al mame. Podemos crear un xmamerc de la siguiente manera: root@jotaro# xmame.x11 -sc > xmamerc Aviso que la extension .x11 la pone por defecto si compilas con soporte para x11. Configuraremos lo que queramos (aunque yo lo hago siempre a mano) y nos dispondremos a jugar! Que?! que no tienes ninguna rom? puedes bajarte alguna de www.mame.dk (aconsejo que sea un King Of Fighters o un Metal Slug :D). Ahora los flags necesarios para activar el mando al arrancar el mame. root@jotaro# xmame.x11 -jt 5 -jdev /dev/uhid0 kof2000.zip El -jt 5 indica que vamos a usar un mando del tipo USB y -jdev el dispositivo, ya que por defecto es /dev/joy. Puedes ahorrarte el -jdev haciendo un link entre ellos: root@jotaro# ln -s /dev/uhid0 /dev/joy
Con estos pasos tendria que funcionaros correctamente y sin problemas, si teneis alguna duda o alguna sugerencia podeis enviarme un mail a la direcion de email del principio de la página. |