Pagina 1 di 13

Emulazione su Raspberry: lo stai facendo nel modo giusto - discussioni

Inviato: 05/12/2016, 14:24
da Yami
È da un bel po' che avevo intenzione di scrivere questo post (dal titolo un po' ironico) per condividere con il forum alcune recenti "evoluzioni" in ambito emulazione (arcade e non solo) sul piccolo Raspberry Pi.
Per saltare subito al punto: l'emulazione "seria" su Raspberry Pi (dove per "seria" intendo con modi video nativi dei sistemi emulati, anche a 15Khz) è ormai possibile. Un esempio?

[bbvideo=640,360]https://www.youtube.com/watch?v=gjUBQKyeWlQ[/bbvideo]

Prima consentitemi una brevissima introduzione.
Fino a qualche tempo fa (con il primo modello) l'emulazione su Raspberry Pi era a mio giudizio trascurabile a causa di due barriere allora insormontabili: la scarsa potenza di calcolo e l'assenza di un'uscita video analogica di qualità (a meno di utilizzare adattatori ed astrusi passaggi che, alla fin fine, andavano a vanificare un po' tutti gli sforzi fatti e il budget prefissato). Ricordo ancora che uno degli articoli che mi convinse a mettere da parte l'emulazione su Raspberry fu proprio questo in cui tutti gli sforzi di conversione del segnale video andavano di fatto ad annullare la comoda miniaturizzazione del RPi, ad accrescere il budget e ad introdurre lag in gioco.

Oggi tuttavia la situazione sembra radicalmente cambiata: per quanto riguarda la prima barriera (la mera potenza di calcolo) con RPi3 sembra finalmente possibile emulare bene gran parte del panorama videoludico classico fino alla prima metà degli anni '90, a volte anche ricorrendo a shader e "optional" vari.

Per quanto riguarda la seconda barriera, quella dell'uscita analogica, ci sono state di recente alcune "tappe" che definirei fondamentali:

- il rilascio della scheda Gert's VGA 666: collegandosi alla porta GPIO del Raspberry è in grado di generare direttamente (quindi senza ricorrere a convertitori) un segnale VGA. E VGA su Raspberry significa (finalmente) analogico di qualità! 8)

- un binomio "esplosivo": la possibilità non solo di creare dei modi video non standard su HDMI/GPIO (e quindi VGA!) ma addirittura di attivare questi modi video al volo.

Il risultato? Quello che avete visto nel video in apertura, ovvero emulazione con risoluzione nativa su Raspberry Pi (fino ad ora un obiettivo raggiungibile solo con alcuni PC dotati di schede a 15Khz) con le giuste configurazioni al boot.
Ma non fermiamoci qui.

Sui vari forum (Recalbox su tutti) si stavano già preparando lunghe liste di modi video da far caricare lato front-end.
Poiché in ambito PC c'è già AdvanceMAME in grado di generare automaticamente i modi video esatti per ciascuna rom arcade, mi sono detto: dato che AdvanceMAME gira già piuttosto bene anche su Raspberry, perché non provare a contattare Andrea Mazzoleni (sviluppatore del progetto Advance) per informarlo di questi recenti sviluppi? L'ho fatto. :-D
Il buon Andrea non solo non mi ha (ancora) denunciato per stalking, ma dopo una piacevole corrispondenza che ha portato all'acquisto, da parte sua, di un Raspberry... beh, il resto lo potete leggere direttamente sulla homepage di AdvanceMAME oggi:

http://www.advancemame.it/

Se qualcuno è interessato, potrei scrivere qui un tutorial su come scaricare, compilare e configurare AdvanceMAME per emulare i sistemi arcade con la generazione dei modi video nativi / ottimali direttamente da Raspberry Pi.

In ogni caso spero sia stata una piacevole lettura, essendo argomenti "pertinenti" con il forum ci tenevo a riportarli qui ma ho dovuto mordermi la lingua fino al rilascio ufficiale di AdvanceMAME 3.0 (ho avuto modo di fare qualche test in anteprima con la prima beta).

Prossimo step: testare non appena sarà possibile questi gioiellini.

RGB-PI di AtG
Immagine

RPI2JAMMA di AJE_FR
Immagine

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 05/12/2016, 16:51
da Tox Nox Fox
molto interessante

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 05/12/2016, 17:14
da antoniomauro
fantastico!
è da tanto che aspettavo questa notizia!!!
Attendo con ansia le procedure per testare il tutto!

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 05/12/2016, 17:18
da Andrea74
ciao
attendo la tua guida!!!

una domanda: (nella foto dove vedo la gpio connessa con la scart) come mai ci sono così tanti cavi per la parte video?
grazie
ciao

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 23/12/2016, 19:05
da Yami
Un piccolo aggiornamento: ho appena finito di testare la RC della prossima release di AdvanceMAME (3.1) e lasciatemi dire che Andrea ha fatto un lavoro eccezionale.

Veder girare i migliori capolavori arcade degli anni '80 e '90 con le modalità video originarie direttamente dal piccolo Raspberry (quindi senza un PC con ArcadeVGA ecc. ecc.) è qualcosa di magico.
Credo sia il momento giusto di buttare giù questa guida.

A breve (spero) con la prima bozza.

P.S. Andrea74 le due foto che ho pubblicato non sono miei progetti ma degli autori che ho indicato: il primo è un prototipo spagnolo di un cavo GPIO - SCART, so che l'autore sta già lavorando a qualcosa di più evoluto con controlli DB15 ecc.
Il secondo, ad opera di un francese, è un adattatore GPIO > JAMMA... immagina quello che può fare su un cabinato con AdvanceMAME e la generazione dei modi video nativi.

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 25/12/2016, 22:21
da dR.pRoDiGy
Nuoooooo.. Lo voglio!!
Si trova l'hw? Dove? Come?

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 25/12/2016, 22:52
da dR.pRoDiGy
Scusa ho letto ora della scheda gert ..
Bello il kit, gran progetto, ma non so se avrò tempo di montarmela io la scheda..
Certo che quella rpi2jamma della foto invece..

Ps: complimentoni a te per l'idea, e ca va sans dire, al grandissimo A. M... Massima stima
Posta la guida quando puoi, a me interessa sicuro!

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 25/12/2016, 23:46
da Andrea74
Ok ricevuto grazie della risposta

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 26/12/2016, 0:32
da boogs
Non ho capito che hardware stai testando.


Inviato dal mio iPhone utilizzando Tapatalk

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 1:15
da peppe_h
Potresti spiegare in breve cosa sono i video nativi?e quale differenza c'è con la riproduzione su hdmi??

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 6:48
da Yami
Ciao Peppe,
immagino che avrai sentito parlare e visto da qualche parte le immagini del quadro della Gioconda di Leonardo Da Vinci.
Ma che dimensioni ha nella realtà? E su che materiale è stata dipinta e qual è la vera "resa" dei colori?
Immagina ora di avere in casa una cornice "speciale" che, a seconda del quadro che scegli di riprodurre, acquisisce automaticamente le dimensioni reali del quadro e una resa il più possibile fedele a quella originale.

Ecco, se mi passi il paragone, i modi video nativi sono proprio così: risoluzione, refresh, clock ecc. originari dei vari titoli Arcade, che di fatto rendono le rom visivamente indistinguibili dagli originali, se riprodotti su monitor Arcade (scanlines reali, con proporzioni corrette ecc.).

Fino ad ora per ottenere questi risultati era necessario un PC con scheda video opportunamente modificata (ArcadeVGA) per i 15Khz, driver speciali, metodi di forzatura video e così via (c'è un'intera sezione sull'argomento proprio su Arcade Italia).
Adesso è invece possibile ottenere lo stesso risultato con un semplice Raspberry Pi 3 + AdvanceMAME + un cavo VGA-SCART.

Naturalmente è una pratica che riguarda solo i monitor a tubo catodico (come quelli usati in sala giochi, oppure le semplici TV di una volta).

Spero che ora sia tutto un po' più comprensibile, per la guida sto aspettando il rilascio ufficiale di AdvanceMAME 3.1. ;)

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 9:15
da boogs
boogs ha scritto:Non ho capito che hardware stai testando.


Inviato dal mio iPhone utilizzando Tapatalk
Mi auto quoto perché non mi sembra chiarissimo quale hardware si usa...

Hai scritto di una cavo vga-to-scart, ma dove lo collegheresti?


Inviato dal mio iPhone utilizzando Tapatalk

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 9:23
da Yami
boogs ha scritto: Mi auto quoto perché non mi sembra chiarissimo quale hardware si usa...
Ciao boogs,
l'hardware che sto utilizzando è il seguente:

Raspberry Pi 3 > adattatore HDMI-VGA > cavo VGA-SCART > TV

...ma si tratta di una soluzione temporanea perché sono in attesa di ricevere una GPIO-VGA per evitare il lag dovuto all'adattatore.

Il setup definitivo sarebbe poi quindi quello del video che ho postato all'inizio, ovvero:

Raspberry Pi 3 > scheda GPIO-VGA > cavo VGA-SCART > TV

Cercherò di descrivere tutto attentamente nella guida.

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 9:31
da boogs
Grazie per la risposta!
Prima cosa è capire come è stato misurato il lag introdotto dal convertitore.
Seconda cosa sarebbe interessante conoscere le porte non utilizzate dalla gpio.
Sarebbe un peccato spaccarsi per una perfetta emulazione video, per poi utilizzare una scheda joystick per collegare la plancia. In futuro forse converrebbe far coesistere queste sue cose, pensando ad integrare nella gpio to vga anche la capacità di collegare una plancia per due giocatori


Inviato dal mio iPhone utilizzando Tapatalk

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 9:43
da Yami
boogs ha scritto:Grazie per la risposta!
Prima cosa è capire come è stato misurato il lag introdotto dal convertitore.
Seconda cosa sarebbe interessante conoscere le porte non utilizzate dalla gpio.
Sarebbe un peccato spaccarsi per una perfetta emulazione video, per poi utilizzare una scheda joystick per collegare la plancia. In futuro forse converrebbe far coesistere queste sue cose, pensando ad integrare nella gpio to vga anche la capacità di collegare una plancia per due giocatori

Inviato dal mio iPhone utilizzando Tapatalk
Ci sono già dei prototipi GPIO > SCART + DB15 (Neogeo) per video e controlli, in ogni caso esistono già delle schede USB zero delay (utilizzate ad esempio per assemblare joystick professionali) compatibili anche con il Raspberry. ;)

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 10:03
da antoniomauro
Attendendo la guida, puoi postare qualche link di riferimento per cominciare a fare qualche esperimento?
Il primo passo è far girare advancemame 3.0 (immagino su retropie) e dalle foto sembra anche che si possa realizzare un GPIO->scart (RGB-PI di AtG)
Corretto?

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 10:06
da boogs
Si ovviamente esiste già quasi tutto... credo però che non abbia molto senso acquistare un raspberry e poi utilizzarlo con schede che costano tre volte tanto!


Inviato dal mio iPhone utilizzando Tapatalk

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 11:40
da Yami
boogs ha scritto:Si ovviamente esiste già quasi tutto... credo però che non abbia molto senso acquistare un raspberry e poi utilizzarlo con schede che costano tre volte tanto!
Sono d'accordissimo con te, ma considera che ti ho linkato un "brand" costoso (destinato all'e-sport); esistono infatti alternative molto più economiche. ;)
Inoltre le spese per il cavo VGA-SCART e per una scheda di collegamento dei controlli sono necessarie anche su PC, mentre il boot in pochi secondi, le dimensioni ridotte, i consumi ridotti, la silenziosità e la "pulizia" della soluzione con Raspberry sono impagabili... 8)

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 11:52
da boogs
Assolutamente. Il mio era un discorso riferito più al DIY.
Fare un cavo gpio to scart dovrebbe essere una cosa fattibile; da questo la mia idea di aggiungere anche i controlli!

Ho sempre adorato il raspberry pur con tutte le sue limitazioni.
Credo che in genere si sia portati ad acquistare molti optional, facendo levitare il prezzo. Tra sd, alimentatori certificati, e periferiche varie si arriva a costi confrontabili di alcune soluzioni pc (sicuramente più performanti).

Aspetto la release ufficiale sperando che tutti gli schemi delle parti hardware da utilizzare saranno disponibili.


Inviato dal mio iPhone utilizzando Tapatalk

Re: Emulazione su Raspberry: lo stai facendo nel modo giusto

Inviato: 29/12/2016, 13:34
da Yami
boogs ha scritto: Fare un cavo gpio to scart dovrebbe essere una cosa fattibile; da questo la mia idea di aggiungere anche i controlli!
Ho sempre adorato il raspberry pur con tutte le sue limitazioni.
Credo che in genere si sia portati ad acquistare molti optional, facendo levitare il prezzo. Tra sd, alimentatori certificati, e periferiche varie si arriva a costi confrontabili di alcune soluzioni pc (sicuramente più performanti).

Aspetto la release ufficiale sperando che tutti gli schemi delle parti hardware da utilizzare saranno disponibili.
Il cavo GPIO-SCART è già stato realizzato: il tizio che li vende si chiama aTg e lo trovi sul forum di Recalbox, spesso condivide anche le schematiche dei suoi progetti. Sempre lui sta lavorando ad una nuova versione GPIO-SCART con i controlli, il problema principale però è il numero limitato di PIN che il GPIO mette a disposizione.

Foto

Personalmente preferisco proseguire i test con la soluzione GPIO-VGA e VGA-SCART che, oltre ad essere disponibile fin da ora, mi lascia più libertà per eventuali collegamenti futuri a dispositivi diversi dal TV CRT.

Per quanto riguarda i costi del Raspberry con gli optional, quello che scrivi è vero ma dipende anche da dove ci si rifornisce e cosa si acquista...
Un kit completo e "superlusso" con RPi 3, alimentatore, case, scheda SD, dissipatori ecc. si trova su Amazon a 69 euro spedizione inclusa.
Su Aliexpress una GPIO-VGA si trova a 6 euro spedizione inclusa... praticamente con 75 euro circa (spedizione inclusa) hai l'equivalente di un PC + ArcadeVGA nel palmo di una mano! :-D :wink: