RetroASD = JammASD (versione usb) + Mini PC!

Tutto quello che c'e' da sapere su questa mitica interfaccia made in Italy
Avatar utente
picerno

Helper
God of Arcade
God of Arcade
Messaggi: 3599
Iscritto il: 20/11/2006, 21:31
Medaglie: 1
Località: Provincia di Potenza
Grazie Inviati: 1 volta
Grazie Ricevuti: 38 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da picerno »

zanac ha scritto: 30/10/2019, 9:32 Per un errore attualmente va solo il comando -d, che dovrebbe inizializzare la scheda.... ad esempio toglie lo shift dal button 1 e 2 (so già che qualcuno non è d'accordo, lol! ma pazientate e ogni cosa avrà il suo perchè)...
edit: https://github.com/zanac/RetroASD/relea ... 0.1-fix.7z qui ho messo il fix per usare la sintassi per cambiare la regola 8, sorry per il casino che sto combinando :D
confermo che lo script funziona anche in windows e riesco a cambiare le regole <-clap->
ho notato un paio di cose a volo. non riesco a settare la regola 100. l'opzione -d fa qualcosa ma non toglie lo button 1 e 2
JammASD SmartASD Developer
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 »

picerno ha scritto: 30/10/2019, 18:53
zanac ha scritto: 30/10/2019, 9:32 Per un errore attualmente va solo il comando -d, che dovrebbe inizializzare la scheda.... ad esempio toglie lo shift dal button 1 e 2 (so già che qualcuno non è d'accordo, lol! ma pazientate e ogni cosa avrà il suo perchè)...
edit: https://github.com/zanac/RetroASD/relea ... 0.1-fix.7z qui ho messo il fix per usare la sintassi per cambiare la regola 8, sorry per il casino che sto combinando :D
confermo che lo script funziona anche in windows e riesco a cambiare le regole <-clap->
ho notato un paio di cose a volo. non riesco a settare la regola 100. l'opzione -d fa qualcosa ma non toglie lo button 1 e 2
Si hai ragione, non tolgo lo shift dal button 1 e 2, per ora toglievo alcuni shift (tipo quelli della leva joystick a dx e sx)....
Hai ragoine la regola 100 c'è un errore, ho messo un range(1, 100) e invece va 101 come discutevamo in privato.... ops il python è un po' confusionario in queste cose devo darne atto! :)
Direi che l'obiettivo di testare la fattibilità di uno script per Windows è andato a buon fine, prossimi giorni "cristallizzo" una prima release usabile davvero.
Avatar utente
picerno

Helper
God of Arcade
God of Arcade
Messaggi: 3599
Iscritto il: 20/11/2006, 21:31
Medaglie: 1
Località: Provincia di Potenza
Grazie Inviati: 1 volta
Grazie Ricevuti: 38 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da picerno »

zanac ha scritto: 30/10/2019, 19:37 Direi che l'obiettivo di testare la fattibilità di uno script per Windows è andato a buon fine, prossimi giorni "cristallizzo" una prima release usabile davvero.
Esperimento pienamente riuscito <-thumbup->
JammASD SmartASD Developer
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 »

pubblicato: pyJammASD-build-win32-v_0.0.2-fix come release

changelog:
- rimossa opzione -d
- aggiunta opzione -c (--config) con la quale si può specificare un dizionario di regole, nel pacchetto è fornito il file default.ini
sintassi: pyJammASD -c default.ini
- aggiunta opzione --flag (facoltativa) per specificare un elenco di bit 0/1 dei flag nell'ordine flagEnable, flagShifted, flagInverse, flagToggle, flagRepeat, flagPulse
sintassi: pyJammASD -s -r 7 -p P1_BUTTON_1 -k L_CTRL -f 100010
con questo esempio facciamo un override della regola 7 abilitando il repeat del pulsante 1, utile per i giochi di astronavi... a fine partita va ripristinato il flag standard lanciando:
pyJammASD -s -r 7 -p P1_BUTTON_1 -k L_CTRL -f 100000
(o semplicemente pyJammASD -s -r 7 -p P1_BUTTON_1 -k L_CTRL dato che 100000 è il default)
- inserito il source di pyJammASD come file interpretato a runtime, utile per chi vuole fare divertirsi ad evolvere il progetto su Windows!


Nota: ad oggi funziona solo il set delle regole, la lettura non è ancora operativa a causa di un bug nella libreria usata, in verità la libreria era bacata anche lato set delle regole ho dato priorità nel debug ovviamente al setting...
Avatar utente
picerno

Helper
God of Arcade
God of Arcade
Messaggi: 3599
Iscritto il: 20/11/2006, 21:31
Medaglie: 1
Località: Provincia di Potenza
Grazie Inviati: 1 volta
Grazie Ricevuti: 38 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da picerno »

zanac ha scritto: 31/10/2019, 11:10 pubblicato: pyJammASD-build-win32-v_0.0.2-fix come release
<-thumbup-> <-clap->
zanac ha scritto: 31/10/2019, 11:10 pyJammASD -s -r 7 -p P1_BUTTON_1 -k L_CTRL -f 100000
(o semplicemente pyJammASD -s -r 7 -p P1_BUTTON_1 -k L_CTRL dato che 100000 è il default)
per settare tutte le regole superflue in modo che siano disabilitate devo quindi eseguire questo?
pyJammASD -s -r[1-100] -p TEST -k NONE -f 000000
zanac ha scritto: 31/10/2019, 11:10 Nota: ad oggi funziona solo il set delle regole, la lettura non è ancora operativa a causa di un bug nella libreria usata, in verità la libreria era bacata anche lato set delle regole ho dato priorità nel debug ovviamente al setting...
che bug? <-on_confused->
JammASD SmartASD Developer
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 »

Si ma le regole non inserite nel dizionario le inizializza da solo se non ho fatto cavolate.
Il bug è nella libreria python perché era nata per python 2, ho fatto già alcune patch per farla andare su python 3 nel giro del set, ma non ho terminato per leggere
Avatar utente
picerno

Helper
God of Arcade
God of Arcade
Messaggi: 3599
Iscritto il: 20/11/2006, 21:31
Medaglie: 1
Località: Provincia di Potenza
Grazie Inviati: 1 volta
Grazie Ricevuti: 38 volte

Re: RetroASD = JammASD + Mini PC!

Messaggio da picerno »

zanac ha scritto: 31/10/2019, 14:49 Si ma le regole non inserite nel dizionario le inizializza da solo se non ho fatto cavolate.
ah! ok
zanac ha scritto: 31/10/2019, 14:49 Il bug è nella libreria python perché era nata per python 2, ho fatto già alcune patch per farla andare su python 3 nel giro del set, ma non ho terminato per leggere
pensavo intendessi la libreria HID. a proposito, ma poi nel tuo sistema hai usato quella libreria basata su signal11/hidapi? dalla versione per windows sembrerebbe di si visto che c'è la dll che ho compilato io
JammASD SmartASD Developer
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 »

Si esatto è proprio quella libreria, solo che il wrapper python ha alcuni problemi con Python 3.7, niente che non si può risolvere con un po' di debugging cmq ;)
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 »

Nuovi problemi.... e nuove soluzioni.

L'utilizzo di xrandr "scaled" (--scale-from) ci permette di usare emulation station con una risoluzione superwide senza grossi problemi.
Lo scaling tuttavia genera un fastidioso effetto tearing all'interno dei giochi. La soluzione è chiaramente rimuover lo scaling prima del lancio di un gioco e riabilitarlo in uscita...

Dopo aver giocato un po' con xrandr ho finalmente troato la sintassi per togliere lo scaling:
xrandr --output $(xrandr | grep ' connected ' | sed "s/^\(.*\) connected.*/\1/") --mode "MODE_1920_240" --transform none

Si rende ora necessario lanciare questo comando prima del lancio di un gioco, qui ci viene in aiuto la guida di retropie:
https://github.com/RetroPie/RetroPie-Se ... Runcommand

La documentazione riporta delle info interessanti, è nativamente possibile integrarsi tramite due script:
runcommand-onstart e runcommand-onend

Prossimi step: creare una sorta di wrapper che, in questo momento, disabilita e riabilita lo scaler... a regime in base all'emulatore scelto e/o il gioco dopo aver disabilitato lo scaler dovrebbe cambiare modeline con quella più corretta. Il posto corretto per fare il tutto è sicuramente all'interno di questi script.
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 »

Aggiungo una riflessione: ovviamente questi script sono il posto corretto per cambiare anche i tasti usando lo script pyJammASD.py infatti runcommand-onstart riceve questi parametri:
$1 - the system (eg: atari2600, nes, snes, megadrive, fba, etc).
$2 - the emulator (eg: lr-stella, lr-fceumm, lr-picodrive, pifba, etc).
$3 - the full path to the rom file.
$4 - the full command line used to launch the emulator.

Questo significa che in base al parametro $1, $2 e $3 è possibile sia riprogrammare i tasti della JammASD che togliere lo scaler ed eventualmente cambiare modeline. Ho una mezza idea su come rendere il tutto più pulito ed elegante per eventuali configurazioni future... devo però lavorarci su. Stay Tuned!
Rispondi

Torna a “JammASD / SmartASD - Domande e Problemi”