------------------------------------------------------------------------------ X-Mame + FrontEnd Linux HOW-TO ver 0.3 ------------------------------------------------------------------------------ By: WhiteR4bbit (whiter4bbit[at]linuxmail[dot]org) linuxhowtos.altervista.org Licenza: FDL Ultimo aggiornamento: Maggio 2004 Testing: X-Mame 0.81.1; gRustibus 0.43; GXMame-0.34; Mandrake 9.1 (2.4.21-0.13mdk); Debian Sid (2.4.22 | 2.6.1) ------------------------------------------------------------------------------ Fonti e link utili: http://x.mame.net http://x.mame.net/download/ http://x.mame.net/gamelist.html http://grustibus.sourceforge.net http://grustibus.sourceforge.net/download.shtml http://gxmame.sourceforge.net/ http://gxmame.sourceforge.net/downloads.php ------------------------------------------------------------------------------ SOMMARIO: 0) Changelog 1) Introduzione 2) Procurarsi X-Mame e gRustibus/GXMame 3) Installazione 4) Configurazione ------------------------------------------------------------------------------ 0) Changelog 0.3 [Maggio 2004] Aggiunte alcune parti relative a debian Testato su X-MAME 0.81.1 (anziché 0.72.1) e GXMame 0.34 (anziché 0.33) Aggiunte alcune considerazioni sulla configurazione del joypad 0.2 [Novembre 2003] Aggiunta tutta la documentazione necessaria per utilizzare GXMame Testato su X-MAME 0.72.1 (anzichè 0.61.1) Testata la compatibilità con Debian 0.1 [Maggio 2003] Documento originale 1) Introduzione X-Mame è la versione per i sistemi unix-like del MAME, il Multiple Arcade Machine Emulator. Trattasi di un emulatore di vecchi giochi da bar, distribuiti su internet sottoforma di ROM di dimensioni variabili tra pochi KB e decine di MB. Ovviamente il tutto è illegale a meno che non possiedate l'originale... ma questa è un'altra storia. Qui vedremo come effettivamente installare, configurare e far funzionare con successo X-Mame sulla nostra fidata linuxbox. Quello che ci serve è ovviamente il programma stesso, più un frontend, un'utility grafica che ci semplificherà di molto la vita; ce ne sono diversi ma qui trattiamo i due più celebri: gRustibus e GXMame. X-Mame viene aggiornato molto spesso, e qui è stata testata l'ultima ora disponibile. L'installazione dovrebbe comunque essere identica anche per le nuove release, senza contare che cambia veramente poco tra una versione e l'altra (qualche gioco in più supportato, su migliaia...). 2) Procurarsi X-Mame e gRustibus/GXMame La versione su cui si basa questa guida è la 0.81.1 e potete scaricarla a questo link: * http://x.mame.net/download/xmame-0.81.1.tar.bz2 In alternativa potete recarvi nella pagina download di x.mame.net e prelevare l'ultima release (il peso è in ogni caso di ~10M): * http://x.mame.net/download/ Debian contiene X-Mame nei suoi repository ufficiali. Per gRustibus invece non dovrebbero esserci problemi, dato che è un progetto fermo dal 2001; qui trovate la pagina dei download e il link al download dell'rpm per mandrake. * http://grustibus.sourceforge.net/download.shtml * http://prdownloads.sourceforge.net/grustibus/grustibus-0.43-1.i386.rpm GXMame è arrivato per il momento alla versione 0.34, ed è forse una scelta migliore rispetto a gRustibus, in quanto viene ancora aggiornato (sono stati risolti i problemi di compatibilità della versione 0.33 con versioni di XMame superiori alla 0.72.1). Per scaricarlo, ecco i link: * http://gxmame.sourceforge.net/downloads.php * http://cesnet.dl.sourceforge.net/sourceforge/gxmame/gxmame-0.33-1.i386.rpm * http://cesnet.dl.sourceforge.net/sourceforge/gxmame/gxmame-0.33.tar.gz Entrambi i FrontEnd sono molto leggeri, meno di 1MB; eccovi infine i repository debian: * gRustibus: deb http://grustibus.sourceforge.net/debian woody/ * GXMame: deb http://anarxia.dyndns.org:2180/debian ./ 3) Installazione Per prima cosa installiamo gRustibus/GXMame; se optate per il primo, loggatevi come root, entrate nella cartella dove avete scaricato i file, e date: # urpmi grustibus-0.43-1.i386.rpm Se invece avete scelto di installare GXMame, scaricate i sorgenti in formato tar.gz, scompattateli, entrate nella directory: $ tar -xzvf gxmame-0.33.tar.gz $ cd gxmame-0.33 E date i seguenti comandi: # ./configure # make # make install Potete ovviamente installare la versione rpm se preferite, con il solito comando: # urpmi gxmame-0.33-1.i386.rpm Per debian vi basterà dare, per gRustibus e gxmame rispettivamente: # apt-get install libgdk-pixbuf-dev grustibus # apt-get install gxmame Dopo aver aggiunto i repository citati prima in /etc/apt/sources.list e aver fatto # apt-get update Ora dovrete installare X-Mame. Se usate debian e apt, è tutto molto semplice, vi basterà infatti un comodo: # apt-get install xmame-x e avrete tutto già installato e quasi pronto all'uso. In fase di configurazione attivate il bit SUID. Successivamente, dovrete avere /usr/games nel vostro PATH, oppure creare dei link simbolici di questo tipo: # ln -s /usr/games/xmame.x11 /usr/local/bin/xmame.x11 # ln -s /usr/games/gxmame /usr/local/bin/gxmame Se decidete invece di installare X-Mame dai sorgenti, procedete come segue: scompattate l'archivio ed entrate nella directory $ tar -xjvf xmame-0.72.1.tar.bz2 $ cd xmame-0.72.1 E' il momento di editare il makefile in modo da compilare X-Mame secondo le vostre preferenze; aprite dunque il makefile.unix con un qualsiasi editor di testo, ad esempio Kate, dopo averne fatta una copia per sicurezza: $ cp makefile.unix makefile.unix.old $ kate makefile.unix & Le parti commentate spiegano come editare e sono abbastanza chiare, in ogni caso vediamo un paio di sezioni che potreste voler modificare: ------- ifndef PREFIX PREFIX = /usr/local endif BINDIR = $(PREFIX)/bin MANDIR = $(PREFIX)/man/man6 ------- Questo significa che X-Mame si installerà a partire da /usr/local (quindi ad esempio il suo eseguibile sarà in /usr/local/bin); potreste voler cambiare la directory ad esempio in /usr/games o in /usr/local/games. L'impostazione di default va comunque benissimo. ------- XMAMEROOT = $(PREFIX)/lib/x$(TARGET) ------- Questo è il path della dir delle rom; scritto così significa che di default sarà in /usr/local/lib/x-mame. Se avete già una cartella con delle roms potete inserire qui il suo path (al posto di "$(PREFIX)/lib/x$(TARGET)"), in ogni caso potete comodamente cambiarlo in seguito, dopo l'installazione, ed è la scelta che vi consiglio di fare. ------- # *** uncomments any joystick types which you want to use, which one is # actually used can be selected runtime with the -joytype switch. # X Input Extensions based joystick, this is known to not work right now ;| # JOY_X11 = 1 # On iX86 based OS's, if supported, you can use standard joystick driver. # JOY_I386 = 1 # Linux FM-TOWNS game PAD joystick emulation support, thanks to Osamu Kurati. # JOY_PAD = 1 # NetBSD/FreeBSD USB joystick support. # JOY_USB = 1 # PlayStation2-linux native pad support. # JOY_PS2 = 1 ------- Se avete un joypad e volete utilizzarlo con X-Mame, dovete compilare il programma con il supporto per il joypad giusto. Generalmente si tratta di "JOY_I386" (io ho un sidewinder USB e funziona compilato con quest'opzione). Decommentate quindi la riga che ne setta la variabile relativa come attiva: # On iX86 based OS's, if supported, you can use standard joystick driver. JOY_I386 = 1 # Linux FM-TOWNS game PAD joystick emulation support, thanks to Osamu Kurati. Bene, ora salvate il file. Tornate alla vostra fidata shell e date i comandi per installare X-Mame: $ make -f makefile.unix $ su -c "make install" Digitate la password di root e tutto sarà portato a termine a buon fine... ci mette un po' di tempo durante l'operazione di make, almeno 5 minuti, ma non preoccupatevi e attendete con pazienza. Ah, nel caso ve lo steste chiedendo: la versione di debian, anche se non vi è richiesto di editare alcun makefile, contiene già il supporto per i joypad. 4) Configurazione E' arrivato il momento di lanciare e configurare la nostra interfaccia grafica, gRustibus o GXMame che sia, in modo da avere qualcosa di carino per far partire i nostri giochi. Nel caso di gRustibus lanciamo dunque: $ grustibus & e vediamo cosa settare: Nel menu "Vista" vi consiglio di togliere la spunta da "show missing roms", altrimenti vi troverete sommersi di nomi e farete fatica a localizzare i giochi che effettivamente possedete. Andate poi in Opzioni->Preferenze (o cliccate semplicemente sul pulsante Preferences); nella sezione "Default game settings" potete spuntare il fullscreen se siete soliti giocare a schermo intero. Togliete invece la spunta da "Scanlines". Se avete un buon PC spuntate anche le opzioni per l'Antialiasing e la Translucency. Se usate un joypad, spuntate la voce "use windows keys" e selezionate nel menu a tendina 'joystick type' la voce "i386 style joystick driver". Nella sezione "List settings" delle preferenze potrete modificare a vostro piacimento i colori della gamelist. Nella sezione "path settings" invece dovrete inserire i percorsi alle directory desiderate: iniziamo a inserire il percorso del nostro eseguibile, indispensabile per giocare: /usr/local/bin/xmame.x11 Non badate al warning e date ok. Ora cambiamo tutti gli altri percorsi, a partire da quello delle roms. Se avete un'installazione del Mame32 su windows, potete sfogliare fino alla cartella relativa e tenere le stesse directory. Cercate in ogni caso di scegliere delle dir esistenti, almeno vi evitate una decina di warning. Date 'OK' chiudendo così la finestra delle preferenze. Ora andate su Opzioni->Save Preferences, è indispensabile per non dover rifare tutto ogni volta :) Nel caso di GXMame invece lanciamo: $ gxmame & Andate su Opzioni -> Percorsi, e impostate come eseguibile di xmame il file: /usr/local/bin/xmame.x11 dopodichè cliccate su "Aggiungi". Eliminate pure il valore di default "XMAME". Lasciate invariato il percorso di configurazione, e modificate invece i path delle cartelle: se avete un'installazione del Mame32 su windows, potete sfogliare fino alla cartella relativa e tenere le stesse directory. Spostatevi nella seconda finestra, "Percorsi principali di XMame", e aggiungete i tre percorsi richiesti, tra cui quello relativo alla directory delle rom. Ripetete, se volete, la stessa procedura per le ultime due finestre, dopodichè date OK e ignorate il warning. Andate in Opzioni -> Ricostruisci la lista dei giochi. Se avete delle rom nella directory che avete selezionato poco fa, ora appariranno in lista e saranno già giocabili. Andate ora in Opzioni -> Opzioni predefinite. Come vedete potete modificare molti parametri, ma quelli di default sono già ottimi, potrete cmq semplicemente cambiarli a seconda delle vostre personali esigenze. Nella finestra "Controlli" potete abilitare l'uso di un joypad, selezionando "I386 style" e definendo il path del dispositivo (solitamente /dev/js0). Nella finestra "Schermo" invece potete ingrandire la finestra di gioco, modificando i valori di "Scala Verticale" e "Scala Orizzontale". E' consigliato selezionare, dal frame a sinistra, l'opzione "Disponibili" anzichè quella "Tutti i giochi", per non venire sommersi da una marea di titoli ingiocabili (a meno che non abbiate tutto il romset ovviamente). Dovrete riavviare GXMame per vedere apparire i titoli nella sezione "Disponibili". A questo punto siete prontissimi per giocare: doppio click sul nome di una rom rilevata, tasto TAB per settare i tasti di ogni gioco, e buon divertimento. Un piccolo appunto va fatto per il supporto al joypad: innanzitutto vi conviene creare un link simbolico /dev/js0 se esso è rappresentato come /dev/input/js0, dato che per qualche motivo indicandogli il secondo path non me lo accetta. Inoltre potreste riscontrare spiacevoli inconvenienti come "freccia destra sempre premuta" durante il gioco... per ovviare, risettate i comandi lasciando solo il joypad (ad esempio se il tasto relativo alla funzione "destra" è indicato come "joypad destra o freccia destra" lasciate solo "joypad destra"); è possibile purtroppo che riavviando il gioco vi ritroviate nella medesima situazione... e dovrete di nuovo riconfigurare i tasti per portare tutto alla normalità. Potete creare un launcher che lanci X-Mame settando come percorso /usr/bin/grustibus o /usr/local/bin/gxmame. Un'icona la potete trovare invece a questo indirizzo: * http://linuxhowtos.altervista.org/immagini/xmame.png