Pagina 2 di 15

Re: Guida a Linux nel Cab

Inviato: 29/04/2012, 17:25
da eldiau
Certo! Io e Ansa89 siamo sempre in agguato per arruolare nuovi adepti del pinguino!
Ho riletto il mio messaggio e nel metodo 2 manca un pacchetto, wahcade usa il playbin2 di gstreamer per fare il play dei video e nel caso non sia installato va in errore quindi occorre installare anche:
gstreamer0.10-plugins-base

ora lo edito messaggio nel caso qualcuno decida di seguire il metodo 2 hard core hacker ;)

Re: Guida a Linux nel Cab

Inviato: 29/04/2012, 17:32
da Ansa89
eldiau ha scritto:Io e Ansa89 siamo sempre in agguato per arruolare nuovi adepti del pinguino!
<-on_lol-> <-on_lol->

Re: Guida a Linux nel Cab

Inviato: 29/04/2012, 20:46
da ataruzzolo
Ho un procio relativamente moderno a 64bit, per le prime prove ho usato la versione x86 di lubuntu: meglio la 64bit? Oppure mi incasino con incompatibilità varie nei programmi che potrei/vorrei installare?

Re: Guida a Linux nel Cab

Inviato: 29/04/2012, 21:07
da eldiau
Io uso la versione 64bit, non ho fatto prove personalmente ma in piu' posti ho letto che mame a 64 e' piu' veloce e in generale i programmi che usano molto la CPU, se sono scritti bene dovrebbero giovare dei registri piu' ampi. Che altri programmi vuoi utilizzare? Se per qualche ragione devi proprio usare un binario a 32 bit basta installare anche librerie a 32bit: "sudo apt-get install ia32-libs"

Re: Guida a Linux nel Cab

Inviato: 02/05/2012, 11:31
da naoto
Ciao a tutti.

Complimenti per la guida, utile non solo per l'installazine del mame ma anche per chiarire alcuni aspetti nell'uso di lubuntu (e in generale delle distro linux) che spesso vengono dati per scontati.

Domande:
1) Che vantaggi/svantaggi si protrebbero avere nell'uso di SDLmame al posto di mame "liscio" ?

2) un joystick USB funziona "out of the box" o necessita ulteriori configurazioni?

grazie anticipatamente

Re: Guida a Linux nel Cab

Inviato: 02/05/2012, 11:53
da eldiau
Grazie per i complimenti, lo scopo della guida e', in effetti, mettere anche un po' di curiosita' su linux in generale.

1) non ci sono distinzioni, SDLMame e mame sono unificati nello stesso sorgente dalla versione 0.138 per cui non quando compili mame sotto linux o mac, ma volendo anche windows stai usando SDL.
2) Si, io ho collegato 2 diversi joypad e funzionano al volo, mame li riconosce e li usa senza fare nulla di particolare, comprese le leve analogiche. Ovviamente non posso garantire per TUTTI i joystick sul mercato

Se hai altre domande siamo a disposizione!

Re: Guida a Linux nel Cab

Inviato: 02/05/2012, 13:12
da naoto
a proposito, qui ho esposto un po' di dubbi:
viewtopic.php?f=19&t=7234&start=30#p107523

inoltre forse possono essere utili i seguenti link (anche se un po' datati):
MAME cab su Debian (eng)
http://rogalian.blogspot.it/2008/07/per ... ation.html

MAME cab su Ubuntu server (esp)
http://www.kubuntu-es.org/wiki/juegos/e ... r-wahcades

MAME cab su Ubuntu 11.10 (eng)
http://gravitronic.blogspot.it/2011/11/ ... rcade.html

nel frattempo continuo a sperimentare lubuntu-arcade sulla mia macchian virtuale !

Re: Guida a Linux nel Cab

Inviato: 02/05/2012, 15:28
da eldiau
cosa non mi è chiaro:

-GroovyMAME è un fork di mame che può essere installato su qualsiasi distro ?
-(se fosse correto il punto precedente) una volta installato e lanciato GroovyMAME, l'uscita video viene impostata a 15 Khz (hardware permettendo) ?
- le patch di Ansa89 servono per "forzare" la distro-linux scelta ad uscire a 15 khz anche prima dell'avvio di GroovyMAME ?
Sentirai parlare in continuazione di modeline, una modeline non e' altro che una serie di parametri che descrivono il tipo di segnale video che la tua scheda deve emettere. La modline continene la risoluzione, la frequenza di refresh verticale e orizzontale e tutta una serie di parametri "tecnici". Ogni monitor risponde in maniera diversa e le modline vanno adattate al tuo monitor con l'aiuto anche dei potenziometri per cercare di trovare una quadra che ti mostri tutte le risoluzioni che ti servono nel modo piu' simile possibile fra loro e piu' vicine a quella del gioco che stai emulando. Ovviamente e' tutto un compromesso, quando cambi la PCB su un cabinato di norma devi riconfiguarare il monitor (ricentrare l'immagine ecc...) alcuni giochi saranno perfetti alti andranno riadattati ovviamente non sara possibile utilizzare un gioco per monitor verticale su un monitor orizzontale e pretendere la risoluzione originale!
Come esempio questa e' la modline che uso su xorg per un linux collegato alla mia TV pal di casa:
ModeLine "720x576" 32.7 720 744 816 912 576 577 580 597

Ti consiglio assolutamente la lettura di questo articolo http://kirurg.org/emame/timing/ aiuta moltissimo nel capire come interagiscono i vari parametri in modeline

- GroovyMAME non e' esattamente un fork ma una patch ai sorgenti ufficiali di mame che (su linux attraverso RandR http://en.wikipedia.org/wiki/RandR) crea al volo le modline con le risoluzioni piu' adatte ad ottenere una riproduzione pixel perfect e con la giusta frequenza di refresh di un gioco su un monitor Arcade mentre i mame "liscio" deve scegliere fra quelle confgirate in xorg.conf (sceglie con criterio quella piu' adatta ma non ne crea di nuove)

- Durante il boot su monitor a 15KHz hai 4 fasi problemi principali:

-- Il BIOS che di norma esce a 31Khz, per vederlo su un monitor Arcade devi usare una scheda video arcadeVGA che esce di default a 15Khz oppure passare il video attraverso una scheda JammaASD o J-Pac che "dimezzano" la frequenza con l'effetto collaterale di vedere lo schermo sdoppiato verticalmente. Non esiste una soluzione software per veder il bios a 15Khz.
-- I messaggi in console durante il boot del kernel, la patch postata da Ansa permette di settare il frame buffer della console a 15Khz con un parametro al boot del kernel (in grub) su alcune schede video, di norma il kernel limita il settaggio sotto i 31Khz per evitare di danneggiare i monitor PC.
-- X Window, una volta fattto il boot partira' l'ambiente grafico X che ti visualizzara' il front end, qui ti serve una modline di default in xorg.conf per usare X in qualche risoluzione compatibile con il monitor arcade
-- Mame, con groovymame pensera' lui a settare la risoluzione e le frequenze migliori (dopo che tu gli avrai configurato la tipologia del tuo monitor) se invece usi mame usera' la risoluzione di X o, se avrai aggiunto piu' di una modline a xorg.con scegliera' fra quelle la piu' vicina al gioco emulato.

Re: Guida a Linux nel Cab

Inviato: 02/05/2012, 16:02
da eldiau
Ho letto i tre articoli che hai linkato:

MAME cab su Debian (eng)
http://rogalian.blogspot.it/2008/07/per ... ation.html

Questo e' un po vecchiotto, usa SDLmame direttamente sul framebuffer della console, senza lanciare X, e' un metodo che probabilmente funziona ancora e il fatto che non lanci X lo rende molto leggero, ma su un computer decentemente moderno X offre una gestione della scheda grafica piu' avvanzata.

MAME cab su Ubuntu server (esp)
http://www.kubuntu-es.org/wiki/juegos/e ... r-wahcades

In questo articolo usano il mame standard e mettono una serie di modline in X, mame scegliera' la migliore per il determinato gioco solo fra quelle disponibili

MAME cab su Ubuntu 11.10 (eng)
http://gravitronic.blogspot.it/2011/11/ ... rcade.html

Questo e' simile al secondo ma usano una solo risoluzione per di piu' interlacciata! Sconsigliato, ci sara' sempre il tremolio dell'interlacciato e molti giochi non gireranno alla velocita' originale, considera' che molti giochi si sincronizzano con il refresh verticale, per cui un gioco fatto per un refresh da 60Hz andra' piu' lento su una risoluzione 54Hz se confgiurato con il syncrefresh e i suoni saranno piu' "cupi", oppure scattera' visibilmente nelle animazioni e sentirai dei "balbettamenti" nell'audio.

La differenza sostanziale sta' nel come si settano le risoluzioni per il monitor:
- Usi mame e setti molte modeline in X oltre a quella di default per il frontend, e lasci che mame scelga fra queste (metodo analogo all'usare i driver ATi di calamity su windows anzi si potrebbero tranquillamente copiare le modline di calamity)
- Usi grovymame, setti una sola risoluzione in X per il frontend e lasci che groovymame si crei la risoluzione piu' simile per il gioco lanciato al volo

Tutto dipende da quali e quanti giochi usi, se per esempio se usi solo i giochi dell'epoca d'oro, anni 80, ti consiglio di usare mame magari la versione .106 (che e' piu' veloce) su un PC anche molto vecchio, di mettere il monitor in verticale e settarti per bene quelle 5 o 6 modeline utili che sono ben centrate sul tuo monitor in xorg.conf, se pensi di sconfinare negli anni 90 allora metti il monitor in orizzontale e usa grovymame. Se pensi ti usare anche altri emulatori come daphne, snes o dolphin devi fare entrambe le cose, setti le risoluzioni per questi emulatori in xorg.con ma per il mame usi groovymame.

Re: Guida a Linux nel Cab

Inviato: 02/05/2012, 16:25
da eldiau
Dimenticavo, in tutta questa pappardella c'e' di mezzo anche la scheda grafica! Non tutte le schede grafiche digeriscono tutte le modeline, in generale le ATI sono piu' flessibili ma non tutte, una serie aveva il pixel clock limitato leggi qui: http://forum.arcadecontrols.com/index.p ... msg1212228 MAME NON usa la GPU quindi anche schede mooolto vecchie vanno piu' che bene, ma se intendi usare altri emulatori ti servira' una scheda piu' pompata...

Re: Guida a Linux nel Cab

Inviato: 03/05/2012, 22:26
da naoto
Scusate l'eccessiva "schematicità" con la quale espongo i problemi.

Ipotesi iniziale:
1-La scheda grafica non crea problemi con le modline.
2-si dispone di una distro linux fresca di installazione (prendiamo come riferimento lubuntu)

PROBLEMA:
Sono giusti i seguenti passaggi per arrivare ad ottenere l'output video a 15 kHz ?

EMULATORE
1-scarico il sorgente di GroovyMAME
2-compilo e installo GroovyMAME

SISTEMA
3-aggiorno "/etc/X11/xorg.conf" con le modeline opportune (tramite "switchres") per caricare l'ambiente grafico anche con output video a 15 khz
4-applico le patch di bitbytebit/Ansa89 per forzare l'uscita della scheda video a 15KHz durante il boot (è necessario ricompilare il kernel ?)
5-collego un monitor arcade o tv SCART-RGB (tramite jammaASD/J-pac o cavo scart-vga) e controllo il buon esito

grazie anticipatamente !

Re: Guida a Linux nel Cab

Inviato: 04/05/2012, 8:41
da Ansa89
naoto ha scritto:EMULATORE
1-scarico il sorgente di GroovyMAME
2-compilo e installo GroovyMAME
Detto così è un po' troppo generico: qui trovi le istruzioni esatte per compilare correttamente groovymame.
In pratica devi:
- scaricare i sorgenti di mame
- applicare i vari diff per arrivare alla versione corrente di mame (u7)
- applicare la patch di MKChamp per il supporto agli highscore (questo passo è obbligatorio)
- applicare la patch groovymame
- compilare


naoto ha scritto:SISTEMA
3-aggiorno "/etc/X11/xorg.conf" con le modeline opportune (tramite "switchres") per caricare l'ambiente grafico anche con output video a 15 khz
4-applico le patch di bitbytebit/Ansa89 per forzare l'uscita della scheda video a 15KHz durante il boot (è necessario ricompilare il kernel ?)
5-collego un monitor arcade o tv SCART-RGB (tramite jammaASD/J-pac o cavo scart-vga) e controllo il buon esito
3) Probabilmente il tool "switchres" lo dovrai compilare tu, perché non credo esista nei repo di lubuntu.
4) Dopo aver applicato la patch per i 15KHz ai sorgenti del kernel, dovrai ricompilare il kernel.
5) Sì.

Re: Guida a Linux nel Cab

Inviato: 04/05/2012, 10:15
da eldiau
Aggiungo solo che per compilare mame, e altra roba ti servono alcuni pacchetti aggiuntivi:
sudo apt-get install build-essential subversion libsdl1.2-dev libgtk2.0-dev libgconf2-dev libsdl-ttf2.0-dev unix2dos

Questi i passi che ho seguito io, la differenza con ansa e' che io uso solo le versioni "stabili":
scarico e scompatto i sorgenti (http://mamedev.org/downloader.php?file= ... e0145s.zip)

applico le patch (scaricate da http://mamestuff.lowtrucks.net/MKChamp/hi_145.txt, http://mame.groovy.org/WindowsATIDriver ... _013e.diff)
patch --binary -p0 -E < ~/Downloads/hi_145.txt
unix2dos ~/Downloads/0145_groovymame_013e.diff (questa converte il testo della patch in formato dos perche' i sorgenti di mame sono in formato dos! in alternativa converti tutti i sorgenti di mame in formato unix...)
patch --binary -p0 -E < ~/Downloads/0145_groovymame_013e.diff

in makefile cambio queste due righe:
CCOMFLAGS = -Wno-unused-but-set-variable
PREFIX = groovy

compilo grovymame:
make -j4

Re: Guida a Linux nel Cab

Inviato: 04/05/2012, 18:14
da naoto
ragazzi, siete ufficialmente diventati i miei nuovi idoli personali !!!

Mi metto all'opera così vi aggiorno sull'andamento delle operazioni.
Mi sembra di essere tornato indietro di 20 anni quando l'unico stimolo per imparare ad usare i PC MS-DOS compatibili era installare Monkey Island e Wing Commander !

grazie ancora.

Re: Guida a Linux nel Cab

Inviato: 04/05/2012, 18:17
da Ansa89
Tienici aggiornati e se hai altri dubbi o incontri dei problemi, chiedi pure :wink: .

Re: Guida a Linux nel Cab

Inviato: 06/05/2012, 13:33
da naoto
GroovyMAME è funzionante !

elenco i passaggi che ho seguito:

1) scaricare i seguenti pacchetti:

Codice: Seleziona tutto

sudo apt-get install build-essential subversion libsdl1.2-dev libgtk2.0-dev libgconf2-dev libsdl-ttf2.0-dev dos2unix
2) scaricare il sorgente del MAME
http://mamedev.org/downloader.php?file= ... e0145s.zip

3) scaricare patch "hi_145.txt"
http://mamestuff.lowtrucks.net/MKChamp/hi_145.txt

4) scaricre patch "0145_groovymame_013e.diff"
http://mame.groovy.org/WindowsATIDriver ... _013e.diff

NB:
ipotizziamo di aver scaricato i file del punti 2,3,4 sulla "Scrivania".
Continuiamo ad operare sempre sulla "Scrivania"

5) estrazione dell'archivio "mame0145s.zip".
Dall'archivio "mame0145s.zip" estraiamo il file "mame.zip" sulla "Scrivania"
Il passaggio può essere fatto anche con l'interfaccia grafica

6) estrazione del file "mame.zip" nell cartella "mame"

Codice: Seleziona tutto

mkdir mame
unzip mame.zip -d mame
7) preparazione delle patch
hi_145.txt ---> va bene cosi. E' posizionata sulla "Scrivania"
0145_groovymame_013e.diff ---> va convertita in formato DOS (come i sorgenti del MAME)

Codice: Seleziona tutto

unix2dos ~/Scrivania/0145_groovymame_013e.diff
La patch rimane sempre sulla "Scrivania", apparentemente è tale e quale a prima. In realtà solo adesso è applicabile !

8.) applicazione delle patch
Portiamoci nella cartella "mame" sulla "Scrivania"

Codice: Seleziona tutto

cd ~/Scrivania/mame
applichiamo la patch "hi_145.txt":

Codice: Seleziona tutto

patch --binary -p0 -E < ~/Scrivania/hi_145.txt
applichiamo la patch "f0145_groovymame_013e.diff":

Codice: Seleziona tutto

patch --binary -p0 -E < ~/Scrivania/0145_groovymame_013e.diff
9) modifiche al file "makefile"
Nell cartella "mame" è contenuto un file chiamato "makefile" che va aperto con un editor (Vi, Nano, etc da terminale o anche gedit da interfaccia grafica)

le seguenti due righe vanno modificate
CCOMFLAGS = -Wno-unused-but-set-variable
PREFIX = groovy

prima di PREFIX va tolto il simbolo "#"

il file va salvato senza cambiargli il nome

10) compilazione
Portiamoci nella cartella "mame" sulla "Scrivania"

Codice: Seleziona tutto

cd ~/Scrivania/mame
ora può cominciare la compilazione:

Codice: Seleziona tutto

make -jN
dove "N" è il numero dei core del processore che si sta usando

11) attendere la fine della compilazione

12) Alla fine nella cartella "mame" si troverà un file chiamato (nel mio caso) "groovymame"
Ora sono necessarie le rom per verificare il buon funzionamento dell'emulatore.
Basta creare nella cartella "mame" la cartella "roms" ed inserire i vari file .zip dei giochi

13) Per attivare il MAME è possibile cliccare 2 volte con il tasto sx del mouse sul file (privo di estensione) "groovymame"
Quando appare il frontend minimale del mame, basta scegliere il gioco

Adesso provo ad installare un front end più avanzato.
Per ora sto usando ancora un monitor LCD

------------------------------------------------------------------------------------------------
NOTE
-aggiunta correzione al punto 9 (grazie ad Ansa89)
-aggiunta integrazione al punto 10 (grazie ad Ansa89)

Re: Guida a Linux nel Cab

Inviato: 06/05/2012, 13:54
da Ansa89
Giusto due precisazioni:
1) invece di "make" puoi pensare di dare un "make -jN", dove N è il numero dei core del pc che stai usando per la compilazione.
2) strano che pur avendo modificato la voce "PREFIX" del "makefile", ti ritrovi comunque un eseguibile chiamato "mame64" <-scratch_one-s_head-> .

Re: Guida a Linux nel Cab

Inviato: 06/05/2012, 14:32
da naoto
Ho una domanda (spero che non sia troppo idiota)

Ipotesi:
la scheda grafica del mio pc permette l'uscita video a 15 kHz.
(Infatti quando uso il live cd GroovyARCADE Linux e come dispositivo di visualizzazione una TV-SCART-RGB non ho problemi)

Domanda:
Se faccio partire il mame compilato come da post precedente e DOPO il lancio di una rom uso come dispositivo di visualizzazione una TV-SCART-RGB, vedo qualcosa?

...abbiate pazienza, sono in fase di apprendimento !
(pero mi sto applicando ! <-gamer1->)

Re: Guida a Linux nel Cab

Inviato: 06/05/2012, 22:10
da Ansa89
Non mi è chiara la domanda: tu accendi il pc e usando lo schermo normale (31KHz) arrivi fino ad avviare mame, poi (dopo aver lanciato una rom) vuoi staccare il monitor normale e attaccare quello arcade (15KHz)?
Non credo sia possibile (forse con xrandr ri riesce a fare qualcosa, ma non ne sono sicuro).

Re: Guida a Linux nel Cab

Inviato: 09/05/2012, 8:45
da naoto
Ho notato queste differenze tra il mame e groovymame istallato da sorgente:

groovymame
cartelle/file:
- artwork
- docs
- hash
- hlsl
- obj
- src
- roms
- groovymame
- makefile
- whatsnew_0145.txt

note:
La cartella cfg è creata all'interno della home
L'emulatore si attiva cliccando sul file eseguibile "groovymame"


mame
cartelle/file:
- artwork
- cabinets
- cpanel
- flyers
- marquees
- roms
- samples
- snap
- catver.ini
- controls.ini
- history.dat

il percorso dell'eseguibile è:
/usr/games/mame

altro percorso con file mame è:
/etc/mame
che contiene "mame.ini"

note:
La cartella "cfg" viene creata all'interno di .mame
L'emulatore si attiva con il comando mame da terminale

Domande:
1-da cosa dipendono queste differenze?
2-che file possono essere eliminati una volta finita la compilazione di groovymame?

coem al solito, grazie anticipatamente.