MAME in framebuffer

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

MAME in framebuffer

Messaggio da joe »

Sistema con slackware 12.1 in cui ho ricompilato ill kernel e faccio partire il tutto con il driver radeonfb (scheda video Mobility Radeon 9700).
Vorrei provare l'emulatore di videogiochi arcade MAME in qualche sua variante, in modalità frame buffer (non ho ancora installato X).
Vi chiederei un consiglio riguardo la versione (il port ecc) più adatta a questo scopo. Infatti ho visto che ve ne sono diverse e ho pensato di chiedere qui prima di intestarmi ancora in ricerche online.

A dire il vero ho già installato il pacchetto xmame preso su questo sito, ma non ho ancora approfondito circa il suo funzionamento senza server grafico via framebuffer.

Poi mi servirebbe una "rom" per provare e pensavo di cercare da qualche parte "ghosts'n goblins" quel vecchio gioco da bar di ormai più di vent'anni fà...
Se già che ci siete avetste un link a portata di mano da dove scaricarlo, mi farebbe comodo (per onestà non ho ancora cercato in tal senso...).

Spero possiate darmi una spiegazioni circa le versioni di questo emulatore e quale usare per il framebuffer.
Grazie in anticipo. :-)

Avatar utente
guargua
Linux 0.x
Linux 0.x
Messaggi: 31
Iscritto il: mar 29 apr 2008, 18:41
Nome Cognome: Alessandro Guarguaglini
Slackware: 12
Kernel: 2.6.25.4
Desktop: kde
Località: Livorno
Contatta:

Re: MAME in framebuffer

Messaggio da guargua »

joe ha scritto:Sistema con slackware 12.1 in cui ho ricompilato ill kernel e faccio partire il tutto con il driver radeonfb (scheda video Mobility Radeon 9700).
Vorrei provare l'emulatore di videogiochi arcade MAME in qualche sua variante, in modalità frame buffer (non ho ancora installato X).
Penso che dovresti ricompilarti xmame, dovrebbe poter funzionare anche con il framebuffer.
Tieni conto che a differenza della maggior parte dei programmi in circolazione xmame non usa gli
'autotools' , quindi ninete configure e c. , devi editare manualmente il makefile per cambiare le opzioni.
Ti posto un estratto dell aparte interessante :

Codice: Seleziona tutto

###########################################################################
# Select your display method; choose only one.
###########################################################################

# Note: x11 is the only one supported on almost all platforms.  For BeOS,
# use SDL.

# X11 (including Glide & OpenGL if enabled below)
DISPLAY_METHOD = x11

# SDL library
# DISPLAY_METHOD = SDL

# SVGALib, only supported under Linux
# DISPLAY_METHOD = svgalib

# GGI, only tested under Linux
# DISPLAY_METHOD = ggi

# Glide in console mode
# DISPLAY_METHOD = svgafx

# OpenStep bitmaps
# DISPLAY_METHOD = openstep

# Photon 2.x (QNX6), currently buggy, but working...
# DISPLAY_METHOD = photon2

svgalib dovrebbe fare al caso tuo, comunque non l'ho provato personalmente :)

Ciao.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MAME in framebuffer

Messaggio da joe »

ciao e grazie per la risposta. Proverò senz'altro il tuo consiglio. penso che basti modificare il makefile e lo slackbuild qui di slacky per il resto potrei scaricarmi l'intera directory src di xmame presente nel repo di slacky così dovrebbe venirne fuori un pacchetto con alcuni eseguibili in più, in effetti l'eseguibile che ho ora (xmame) è la copia di xmame.x11 si vede dallo slackbuild. Non dovrebbe essere un problema aggiungere anche gli altri eseguibili.....a meno di effetti collaterali ulteriori speriamo di no.

Per il resto visto che sulla slackware 11 ho il server X ho deciso di fare una rapida prova lì installando xmame anche là. Sto aspettando la fine del download (per me 16 MB non sono pochi....).

Già che ci siamo ti chiederei se hai dimestichezza, una conferma circa l'utilizzo di una rom. Ho cercato e trovato un file gngt.zip che dovrebbe essere una rom per mame, del famoso giochetto arcade che dicevo nel precedente post...
come faccio a farlo partire? mi servirebbe una conferma.
Leggendo il man ho provato così:

xmame gngt.zip

è giusto in linea di massima o la rom va estratta prima in qualche modo?
Ad ogni modo la prova è andata storta per via del display (ora sappiamo che quell'eseguibile di xmame funziona solo sotto X, mentre la mia prova l'ho fatta per forza di cose da framebuffer...è chiaro che non avrebbe potuto funzionare in ogni caso...).
Pertanto, ecco, chiedevo una conferma sul comando da lanciare per far partire quella rom e le eventuali operazioni preliminari. Ora comunque appena installo qui sulla 11.0 xmame dovrei essere in grado di verificare autonomamente, ma comunque una conferma su unargomento in cui sono zero non può farmi che comodo. ;-)

enzo.bak
Linux 1.x
Linux 1.x
Messaggi: 144
Iscritto il: lun 28 apr 2008, 17:58
Località: Reggio Calabria

Re: MAME in framebuffer

Messaggio da enzo.bak »

Non c'è bisogno di scompattare lo zip della rom (di cui possiedi il gioco originale, giusto?).
L'importante è che la stessa sia contenuta nella apposita sottodirectory (rom o roms non ricordo).
Se per qualche motivo la stessa risiede altrove (cdrom ad esempio) bisogna specificarlo nel file di configurazione.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2924
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: MAME in framebuffer

Messaggio da 414N »

Devi piazzare le rom zippate sotto la directory rom o sotto la directory indicata nel file di configurazione nella quale il programma cercherà le rom. Per lanciare una rom basta digitare

Codice: Seleziona tutto

xmame nomerom
senza estensione .zip o altro.
Potresti però usare sdlmame, dato che xmame non viene più aggiornato. Lo trovi qui, mentre qui trovi una guida per usarlo con il framebuffer.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MAME in framebuffer

Messaggio da joe »

enzo.bak ha scritto:L'importante è che la stessa sia contenuta nella apposita sottodirectory (rom o roms non ricordo).
Se per qualche motivo la stessa risiede altrove (cdrom ad esempio) bisogna specificarlo nel file di configurazione.
A dire il vero, ho fatto un prova veloce...la rom si trova in una dir a caso (per esempio /home/miouser/downloads).

Codice: Seleziona tutto

cd ~/downloads
xmame nome_rom.zip
Questa rapida prova ha funzionato su slackware-11 da server grafico...

Appena riesco, ricompilo xmame per usarlo in framebuffer e provo sulla 12.1. Vi farò sapere, se nel frattempo aveste ulteriori considerazioni, consigli, esperienze o quant'altro dite pure.

[EDIT]
grazie anche ate 414N, anche per i links

Il fatto è che sdlmame non è pacchettizzato, quindi mi servirà più tempo per crearmi il tgz autonomamente (sempre che ci riesca). Comunque grazie in ogni caso

Avatar utente
guargua
Linux 0.x
Linux 0.x
Messaggi: 31
Iscritto il: mar 29 apr 2008, 18:41
Nome Cognome: Alessandro Guarguaglini
Slackware: 12
Kernel: 2.6.25.4
Desktop: kde
Località: Livorno
Contatta:

Re: MAME in framebuffer

Messaggio da guargua »

joe ha scritto: Il fatto è che sdlmame non è pacchettizzato, quindi mi servirà più tempo per crearmi il tgz autonomamente (sempre che ci riesca). Comunque grazie in ogni caso
Non so se sdlmame funzioni senza X, da una prova veloce che ho appena fatto sembrerebbe
di no...
Anch'io sono comunque passato a sdlmame, perchè xmame non viene più aggiornato, ma lo
uso sotto X. Compilarlo non è difficile, basta editare ( o al limite controllare) il solito makefile,
che però ha meno opzioni rispetto a quello di xmame.
Per quanto riguarda lanciare il lanciare i giochi ti hanno già detto come fare, tieni conto però
che per certe rom devi avere anche le relative roms dell'hardware (i bios).

Ciao.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2924
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: MAME in framebuffer

Messaggio da 414N »

guargua ha scritto: Per quanto riguarda lanciare il lanciare i giochi ti hanno già detto come fare, tieni conto però
che per certe rom devi avere anche le relative roms dell'hardware (i bios).
e pure le CHD...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MAME in framebuffer

Messaggio da joe »

Un saluto a tutti.
Ho modificato il makefile e provato la compilazione senza installazione (non sapevo il nome dell'eseguibile...che a quanto pare è xmame.SDL).
L'ho lanciato da framebuffer con una rom di prova. Sembra funzionare come sotto X. In fase di compilazione ci sono alcuni warnings spero non gravi allego comunque il file su cui ho rediretto lo std error della compilazione (make -f makefile.unix).

C'è un problema non trascurabile però; l'avevo già riscontrato provando un videogame chiamato ltris (disponibile qui su slacky) sempre da framebuffer.
In pratica lo schermo del mio portatile non riesce a restituire un'immagine "chiara"...è come se la luminosità dell'lcd fosse messa al minimo. Questo l'ho notato sia con ltris che con xmame.SDL.

Proverò a cercare in rete, nel frattempo lascio qui questo post sperando che magari qualcuno incappato nello stesso problema abbia trovato la soluzione.

Aggiungo che seguirò prossimamente il consiglio di compilare sdlmame...magari prima vedo se riesco a risolvere questo inghippo.
In ogni caso grazie a chiunque possa prestare la propria esperienza.
Allegati
log.error.TXT
warnings in fase di compilazione
(3.15 KiB) Scaricato 87 volte

Avatar utente
guargua
Linux 0.x
Linux 0.x
Messaggi: 31
Iscritto il: mar 29 apr 2008, 18:41
Nome Cognome: Alessandro Guarguaglini
Slackware: 12
Kernel: 2.6.25.4
Desktop: kde
Località: Livorno
Contatta:

Re: MAME in framebuffer

Messaggio da guargua »

joe ha scritto: C'è un problema non trascurabile però; l'avevo già riscontrato provando un videogame chiamato ltris (disponibile qui su slacky) sempre da framebuffer.
In pratica lo schermo del mio portatile non riesce a restituire un'immagine "chiara"...è come se la luminosità dell'lcd fosse messa al minimo. Questo l'ho notato sia con ltris che con xmame.SDL.
Prova ad abbassare la profondità di colore del framebuffer, mi pare di aver letto proprio qui su slacky
che qualcuno ha risolto così.
Per quanto riguarda il log, mi sembrano tutti warning ininfluenti.

Ciao.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MAME in framebuffer

Messaggio da joe »

Dunque, ho risolto col man di xmame, col parametro "brt" impostato a 2.0, è la correzione di luminosità. Invece per ltris non so come fare, ho anche qualche problema col modulo svgalib_helper che volevo provare (xmame.svga ricompilando con le giuste opzioni nel makefile).
Va bè... vi farò sapere conulteriori dettagli. In ogni caso grazie mille.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MAME in framebuffer

Messaggio da joe »

Allora:

xmame.SDL risulta sempre troppo scuro. E il workaround della -brt 2.0 è solo una pezza che rende visibile decentemente lo schermo nel senso che "ci si vede" ma disotrce i colori rovinando la resa.
Con un framebuffer a 16 bit invece che 32 (ho usato fbset e verificato navigando con links grafico...le immagini sono bruttine quindi sono a 16 bit, direi che non ci sono dubbi) la situazione scura non cambia.

xmame.svgalib l'ho ottenuto compilando nuovamente xmame con l'opzione svgalib ecc ecc.
Le svgalib come avevo anticipato hanno un comportamento curioso sul mio portatile e forse è il caso di dare qualche info in più in merito al mio hardware: lo schermo è un lcd da 15.4" la scheda video mobility radeon 9700 da 64 MB. Se servissero altri dati fatemi sapere.
Cosa succede:
dunque, tutto dipende dalla risoluzione del framebuffer ho provato diverse roms e dipende anche da queste ultime.
Posso dire che ad alte risoluzioni del framebuffer tipo 1280x800 o 1024x768 al lancio di xmame.svga non ottengo alcuna immagine video (mi capitava anche con mplayer) diventa tutto nero finchè non premo ESC alla cieca per uscire da xmame. usando fbset e scendendo di risoluzione mano mano, ottengo qualcosa a vido ma in alcuni casi il "riquadro di xmame" (del gioco per intenderci) risulta troppo piccolo rispetto allo schermo e soprattutto appaiono anche due parti sempre del riquadro tagliate magari a destra e in basso, mentre quello completo appare nel monitor in alto a sinistra (non so se mi sono spiegato bene). In altri casi sempre scendendo con la risoluzione di fbset noto che il riquadro di xmame non sta nel monitor e così alcune parti non si vedono...
Penso che il problema stia nella configurazione delle svgalib o giù di lì ma non ho idea di dove documentarmi in merito con il semplice obiettivo di vedere il riquadro di xmame coincidere con la risoluzione del framebuffer.
Se qualcosa non vi fosse chiaro circa quello che ho riscontrato non esitate.

Aggiungo che non mi intendo nè di sdl nè di svga. Per cui se ci fossero delle particolari configurazioni da eseguire vi sareigrato se poteste farmelo sapere eventualmente con qualche link a documentazione specifica (meglio ovviamente in italiano).

Spero possiate aiutarmi ancora, un saluto e un grazie in ogni caso.

Avatar utente
guargua
Linux 0.x
Linux 0.x
Messaggi: 31
Iscritto il: mar 29 apr 2008, 18:41
Nome Cognome: Alessandro Guarguaglini
Slackware: 12
Kernel: 2.6.25.4
Desktop: kde
Località: Livorno
Contatta:

Re: MAME in framebuffer

Messaggio da guargua »

joe ha scritto:Allora:

xmame.SDL risulta sempre troppo scuro. E il workaround della -brt 2.0 è solo una pezza che rende visibile decentemente lo schermo nel senso che "ci si vede" ma disotrce i colori rovinando la resa.
Con un framebuffer a 16 bit invece che 32 (ho usato fbset e verificato navigando con links grafico...le immagini sono bruttine quindi sono a 16 bit, direi che non ci sono dubbi) la situazione scura non cambia.
Sicuro di non essere sceso troppo? A 16 bit le immagini non dovrebbero perdere più di tanto, ma vado
a memoria...
joe ha scritto: xmame.svgalib l'ho ottenuto compilando nuovamente xmame con l'opzione svgalib ecc ecc.
Le svgalib come avevo anticipato hanno un comportamento curioso sul mio portatile e forse è il caso di dare qualche info in più in merito al mio hardware: lo schermo è un lcd da 15.4" la scheda video mobility radeon 9700 da 64 MB. Se servissero altri dati fatemi sapere.
Cosa succede:
<cut>
Guarda, se sei in vena di prove, dai una chance anche ad advancemame :

http://advancemame.sourceforge.net/readme.html

Premetto che l'ho usato solo pochissimo e un pò di tempo fa (e comunque sempre sotto X), ma la sua
caratteristica portante è proprio la giusta impostazione dei parametri della scheda in relazione alla rom :
The main difference compared with the official emulators is that the Advance versions are able to program directly the video board to always get a video mode with the correct size and frequency.

Generally the Advance emulators are able to use a video mode which doesn't require any stretching or other unneeded effects to match the original arcade display.

The direct video board programming is fully supported in Linux and DOS. It's partially supported in Windows. It isn't supported in Mac OS X and other platforms
Riguardo alla mancata visualizzazione di certe risoluzioni viene però specificato anche questo :
Please note that some laptop video cards work only when connected to an external monitor, and not with the LCD screen.
Ciao.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3986
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: MAME in framebuffer

Messaggio da joe »

L'ho installato al volo senza troppi pensamenti e lanciatolo mi restituisce però un errore:

Codice: Seleziona tutto

no monitor clocks specification 'device_video_p/h/vclock'.
video_init failed
Bo sarà che senza X ha dei problemi (magari a causa di parametri di compilazione non coerenti col framebuffer? Oppure qualcos'altro deve essere configurato meglio di come è ora?

Rispondi