Comandos USB com xmame em FreeBSD

Autor: Taik0
Data: 2 de Fevereiro do 2002.


Neste mini-howto explicarei a forma de compilar o sistema e o xmame para que funcione com um comando USB em FreeBSD ( a compilacion em mame é a mesma para NetBSD).

Configurando o sistema

Principalmente precisámos suporte USB no 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"

Esses são os devices necessários para que nossa FreeBSD detecte o comando ao arrancar, principalmente uhid.
Uma vez configurado o kernel passámos a compilá-lo:

root@jotaro# config MYKERNEL
root@jotaro# cd ../../compile/MYKERNEL
root@jotaro# make depend && make && make install

Adicionaremos ao rc.conf o seguinte flag:

usbd_enable="YES"

Com isso já teremos nosso sistema pronto para ter suporte USB.
Agora olharemos se nosso joypad é detectado pelo sistema, o mas comodo é o seguinte:

root@jotaro# usbdevs
addr 1: UHCI root hub, VIA
addr 2: Microsoft SideWinder Plug & Play Game Pad, Microsoft

O device por defeito costuma ser /dev/uhid0.

Como usuários normais não temos acesso ao dispositivo do joypad (/dev/uhid0), portanto mudaremos suas permissões:

root@jotaro# chmod 666 /dev/uhid0

Configurando xmame

Uma vez todo detectado passaremos à configuracion do xmame, podemos baixar a ultima version disponível de: x.mame.net

Não aconselho instalar o port já que não te deixa configurar nada e o suporte para USB vem desativado para -CURRENT e -RELEASE.

Uma vez temos o pacote passámos a descomprimí-lo:

root@jotaro# tar jxvf xmame-0.57.1.tar.bz2
root@jotaro# cd xmame-0.57.1.

E começámos com a configuracion do Makefile que em nosso caso é makefile.unix.

As seguintes opções há que as mudar para o melhor funcionamento do mesmo.

ARCH = freebsd

Sem isto não teremos suporte USB já que só é suportado por FreeBSD e NetBSD e por defeito vem Linux

JOY_USB = 1.

NetBSD/FreeBSD USB joystick support (faz defeituosa dizer mas?).

DISPLAY_METHOD = SDL

Melhor utilizar a libreria SDL, se não a tens ou não te interessa usá-la pela razão que seja o mas recomendável é:

DISPLAY_METHOD = x11
Aviso, só se pode ter uma opcion de cada tipo ativada!

Se tens o DGA ativado nas X:

X11_DGA = 1.

Para ativá-lo basta com comentar estas lineas de etc //X11/XF86Config :

#    SubSection  "extmod"
#      Option    "omit xfree86-dga"   # don't initialise the DGA extension
#    EndSubSection

Com isto já acabámos de configurar o Makefile de nosso mame, agora só falta compilá-lo.

root@jotaro# gmake -f makefile.unix
root@jotaro# gmake install

E já estamos practicamente prontos para jogar! E agora vamos diretamente ao mame.

Podemos criar um xmamerc da seguinte maneira:

root@jotaro# xmame.x11 -sc > xmamerc

Aviso que a extension .x11 a põe por defeito se compilas com suporte para x11.

Configuraremos o que queiramos (ainda que eu o faço sempre a mão) e nos disporemos a jogar!

Que?! que não tens nenhuma rom? podes baixar-te alguma de www .mame.dk (aconselho que seja um King Of Fighters ou um Metal Slug :D).

Agora os flags necessários para ativar o comando ao arrancar o mame.

root@jotaro# xmame.x11 -jt 5 -jdev /dev/uhid0 kof2000.zip

O -jt 5 indica que vamos usar um comando do tipo USB e -jdev o dispositivo, já que por defeito é /dev/joy.

Podes poupar-te o -jdev fazendo um link entre eles:

root@jotaro# ln -s /dev/uhid0 /dev/joy

Com estes passos tendria que vos funcionar corretamente e sem problemas, se teneis alguma dúvida ou alguma sugestão podeis enviar-me um mail à direcion de email do princípio da página.


Hosted by www.Geocities.ws

1