RetroASD = JammASD (versione usb) + Mini PC!

Tutto quello che c'e' da sapere su questa mitica interfaccia made in Italy
Avatar utente
zanac
Cab-dipendente
Cab-dipendente
Messaggi: 538
Iscritto il: 10/09/2017, 16:13
Città: PD
Grazie Inviati: 16 volte
Grazie Ricevuti: 22 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da zanac »

JammASD+RetroPie... nome del progetto da ora in poi sarà RetroASD.

Oggi voglio concentrarmi sulla mappatura dei tasti.

JammASD emula una tastiera, il pdf di riferimento della mappatura risulta essere https://www.webasd.com/public/doc/ASD27 ... Pinout.pdf

Ovviamente dovremo mappare i giusti tasti sia sul frontend che su ogni emulatore. Iniziamo dal frontend.

Emulation Sattion salva i propri tasti nel seguente file:
/opt/retropie/configs/all/emulationstation/es_input.cfg

Lo standard scelto da emulation station è il valore decimale ritornato dalla libreria SDL 2.0, troviamo quindi i valori da inserire nel file: https://wiki.libsdl.org/SDLKeycodeLookup

Facciamo un esempio pratico...

Il tasto LEFT che viene mappato da JammASD con il cursore a sinistra, avrà codice SDL 1073741904, quindi nel file dovremo inserire:
<input name="left" type="key" id="1073741904" value="1"/>

Il tasto pagedown che invece per ora vorrei associare al tasto 6 del player 1 dobbiamo guardare il PDF di ASD che riporta come tasto X, quindi dovremo inserire 120:
<input name="pagedown" type="key" id="120" value="1"/>

Per praticità ora prima di compilare il file farò un piccolo Excel con tutte le decodifiche... appena pronto lo condivido!

Riflessione personale i tasti scelti da Picerno potrebbero necessitare di alcune personalizzazioni, sarebbe molto cool se al primo boot la scheda venisse riprogrammata in funzione delle necessità di RetroASD. Ovviamente questo per ora non è fattibile, ho chiesto a Picerno se è disponibile darmi le specifiche per riprogrammare i tasti della scheda, e appena avrà tempo dovrebbe fornirmi il tutto... poi da capire quando implementerò il tutto ma lo metto intanto nella lista della spesa.
Avatar utente
zanac
Cab-dipendente
Cab-dipendente
Messaggi: 538
Iscritto il: 10/09/2017, 16:13
Città: PD
Grazie Inviati: 16 volte
Grazie Ricevuti: 22 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da zanac »

Creato un piccolo repository, dentro troverete l'Excel che ho creato per creare velocemente configurazioni di Emulation Station per JammASD.

https://github.com/zanac/RetroASD/tree/master
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Donatore
Moderatore
Moderatore
Messaggi: 11793
Iscritto il: 14/01/2007, 23:35
Medaglie: 3
Grazie Inviati: 161 volte
Grazie Ricevuti: 276 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da Tox Nox Fox »

Posso chiederti come mai vorresti rimappare alcuni tasti ?
WP.ARCADEITALIA.NET
La Guida al MameCab
Avatar utente
zanac
Cab-dipendente
Cab-dipendente
Messaggi: 538
Iscritto il: 10/09/2017, 16:13
Città: PD
Grazie Inviati: 16 volte
Grazie Ricevuti: 22 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da zanac »

Tox Nox Fox ha scritto: 18/10/2019, 12:57 Posso chiederti come mai vorresti rimappare alcuni tasti ?
Non so, devo fare delle prove... non mi torna perfettamente di poter fare un bel lavoro ;)
Però appunto poter personalizzarli direttamente dalla mia immagine sarebbe il top, ad oggi tocca avere un windows, poterlo fare dal cab... è un sogno.
Avatar utente
zanac
Cab-dipendente
Cab-dipendente
Messaggi: 538
Iscritto il: 10/09/2017, 16:13
Città: PD
Grazie Inviati: 16 volte
Grazie Ricevuti: 22 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da zanac »

Tox Nox Fox ha scritto: 18/10/2019, 12:57 Posso chiederti come mai vorresti rimappare alcuni tasti ?
Guarda, te ne dico già una... se prendo la mappatura dei tasti così come è documentata: https://www.webasd.com/public/doc/ASD27 ... Pinout.pdf

Nella seconda pagina riporta che il tasto "Coin" spedisce il numero 5, ma il numero 5 è usato anche come tasto shiftato del Pulsante 1 del primo giocatore... la cosa non mi piace, così mi perdo una combinazione... Picerno, se sei in ascolto, come mai questa scelta? Forse per i cab che non ha gettoniera? Cmq come dicevo poco male... l'idea sarebbe di personalizzare la mappatura in funzione dei settaggi che predispongo, al primo avvio (e solo al primo avvio), spedisco una sequenza di programmazione e preparo la JammASD "come piace a RetroASD"... così sarebbe tutto trasparente ed immediato per l'utente finale!
Avatar utente
Tox Nox Fox

BanHammer Silver Medal Donatore
Moderatore
Moderatore
Messaggi: 11793
Iscritto il: 14/01/2007, 23:35
Medaglie: 3
Grazie Inviati: 161 volte
Grazie Ricevuti: 276 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da Tox Nox Fox »

La mappatura della JammASD seguendo standard del Mame
Il Coin del p1 è sempre il 5
Il Coin del p2 è sempre il 6
WP.ARCADEITALIA.NET
La Guida al MameCab
Avatar utente
zanac
Cab-dipendente
Cab-dipendente
Messaggi: 538
Iscritto il: 10/09/2017, 16:13
Città: PD
Grazie Inviati: 16 volte
Grazie Ricevuti: 22 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da zanac »

Tox Nox Fox ha scritto: 19/10/2019, 13:45 La mappatura della JammASD seguendo standard del Mame
Il Coin del p1 è sempre il 5
Il Coin del p2 è sempre il 6
Si, ma io parlavo delle combo "shifted" che è una caratteristica della JammASD davvero fica, che a mio parere però non è sfruttata al 100% per i tasti impostati... cmq se Picerno mi darà supporto ho in mente grandi cose anche su questo fronte.

Cmq oggi un passo indietro... e due avanti.

vanni@domon:~$ gcc -march=native -Q --help=target | grep march
-march= haswell
vanni@domon:~$ logout
Connection to 192.168.2.18 closed.
vanni@harlock:~$ gcc -march=native -Q --help=target | grep march
-march= sandybridge


ok, questo non è per tutti. Cosa significa? Che il PC che ho collegato al cab ha architettura haswell (è abbastanza recente)... dopo aver preparato tutti i core su quel sistema e ottimizzati per haswell, ho fatto il boot con la chiavetta sul PC di casa (un vecchiotto sandybridge) e... porcaccia, non funzionava! Il codice era ottimizzato per un'architettura errata e tutto andava in core dump!

Mi sono messo di sana pianta a ricompilare tutto per sandybridge, ora gli emulatori e il sistema gira perfettamente su tutti i PC prodotti da 7-8 anni a questa parte!!!

Le richieste hardware saranno quindi: un PC Sandybrige o superiore con bios UEFI (praticamente un PC appunto di massimo 7 anni fa). Detto questo anche gamecube rulla alla grande sulla "misera" Intel 630!
Avatar utente
alucard

Donatore
Affezionato
Affezionato
Messaggi: 277
Iscritto il: 02/12/2017, 16:19
Medaglie: 1
Città: Ceprano
Grazie Inviati: 5 volte
Grazie Ricevuti: 15 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da alucard »

zanac ha scritto:...anche gamecube rulla alla grande sulla "misera" Intel 630!
Si, va liscio anche su miniPC con Intel UHD Graphics 605
Avatar utente
zanac
Cab-dipendente
Cab-dipendente
Messaggi: 538
Iscritto il: 10/09/2017, 16:13
Città: PD
Grazie Inviati: 16 volte
Grazie Ricevuti: 22 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da zanac »

Oggi affronterò il tema dell'utilizzo dell'emulatore Supermodel (vedi https://www.supermodel3.com) su RetroASD.

Abbiamo sostanzialmente due problemi da affrontare... il primo è mappare l'emulatore con i tasti della JammASD, per fare questo ho iniziato a creare il file corretto sul git, lo trovate su https://github.com/zanac/RetroASD/tree/ ... supermodel

Il problema più spinoso riguarda l'utilizzo di una risoluzione superwide-15-khz (1920x240) per far girare un gioco che è nato per 496x384 (24 khz)... Potremmo scegliere di usare una "bella" interlacciata, ma personalmente sono dell'avviso di usare la superwide e accontentarsi di una risoluzione progressiva ma con qualche artefatto dovuto a filtri di interpolazione.

Stranamente supermodel non ne vuole sapere però di partire e si blocca quando viene lanciato in fullscreen sulla nostra superwide... dopo uno studio del codice sorgente ho scoperto che il bug non è di supermodel ma bensì della libreria grafica utilizzata: SDL. Supermodel fa infatti uso della vetusta SDL1.2, ormai superata da anni dalla 2.0... abbiamo nuovamente due soluzioni.

1. Creare una patch di SDL 1.2 che permetta di utilizzare il fullscreen di risoluzioni anomale (strada più difficile ma "pulita", ora non ho tempo quindi per ora la lasciamo nella todo list).
2. Patchare supermodel per avviarsi in finestra e fare una patch del codice perchè non visualizzi il titolo della finestra (questa è più facile).

La soluzione 2 è stata banale approntarla, basta nella chiamata a SDL_SetVideoMode aggiungere il flag SDL_NOFRAME (più una forzatura alla risoluzione di destinazione desiderata), lavorando poi sulla variabile SDL_VIDEO_CENTERED è possibile posizionare la finestra nell'angolo 0,0! Ok, ci siamo... gira, e pure bene! Prima di rilasciare la patch su git tenterò di perseguire la strada dalla patch di SDL nel tempo libero, nel caso non sia fattibile tenterò anche di contattare gli autori di supermodel per capire se sono interessati a includere questo hack in modo "più ufficiale". E' rimasto un piccolo glitch (ovvero il cursore del mouse visibile), ma è una baggianata risolverlo e lo farò una di queste sere.



edito ed aggiungo, forse forse c'è una terza soluzione, ho scoperto l'esistenza di un wrapper che mappa chiamate SDL 1.2 verso la nuova SDL 2.0: https://github.com/MrAlert/sdlcl, in coda a tutto farò un tentativo... una volta fatto tutte le prove vi aggiorno con l'opzione che reputerò la migliore.
Avatar utente
xbrunox
Affezionato
Affezionato
Messaggi: 285
Iscritto il: 06/07/2017, 15:36
Città: castellanza
Grazie Inviati: 35 volte
Grazie Ricevuti: 31 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da xbrunox »

Se ti torna utile io il supermodel a 15 kHz lo faccio girare a 640x240 che é sicuramente più normale della tua 1920x240 e poi per sistemare le cose con il rapporto 4:3 nell'ini del supermodel abilito il parametro stretch=1

Ma se nn ricordo male forse mi andava anche con la 2560x240
Rispondi

Torna a “JammASD / SmartASD - Domande e Problemi”