Questo progetto mi piace sempre di più
Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
RetroASD = JammASD (versione usb) + Mini PC!
-
Tox Nox Fox
- Moderatore
- Messaggi: 12458
- Iscritto il: 14/01/2007, 23:35
- Medaglie: 4
- Grazie Inviati: 205 volte
- Grazie Ricevuti: 324 volte
Re: RetroASD = JammASD + Mini PC!
La cosa che mi piace è che posso usare una JammASD con retroASD senza perdere la configurazione della JammASD per altri progetti e che così chiunque usi questo sistema avrà la stessa configurazione.
Questo progetto mi piace sempre di più
Questo progetto mi piace sempre di più
- zanac
- 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!
Si, su questo dobbiamo dare merito a Picerno, credevo che servisse salvare le configurazioni dei tasti sulla JammASD, invece ora che mi ha spiegato come funziona si sono aperti scenari che prima non pensavo...Tox Nox Fox ha scritto: ↑23/10/2019, 9:53 La cosa che mi piace è che posso usare una JammASD con retroASD senza perdere la configurazione della JammASD per altri progetti e che così chiunque usi questo sistema avrà la stessa configurazione.
Questo progetto mi piace sempre di più![]()

Questa scheda mi piace sempre di più! Se solo avesse la possibilità, tramite jumper, di cambiare il pulsante 6 da morsetto a "pinout pandora" sarebbe la scheda perfetta per chi usava RetroPAN e potrebbero fare lo switch in futuro a RetroASD senza mettere le mani al cablaggio...


-
0zzy
- Affezionato
- Messaggi: 146
- Iscritto il: 16/01/2015, 14:40
- Medaglie: 1
- Città: VE
- Grazie Inviati: 5 volte
- Grazie Ricevuti: 1 volta
Re: RetroASD = JammASD + Mini PC!
Sarebbe fico pure l'aggiunta di una scart e l'immancabile LM1881 per il quale ho avuto la certificazione di miglior acquirente da parte di TexasInstruments..zanac ha scritto: ↑23/10/2019, 10:07Si, su questo dobbiamo dare merito a Picerno, credevo che servisse salvare le configurazioni dei tasti sulla JammASD, invece ora che mi ha spiegato come funziona si sono aperti scenari che prima non pensavo...Tox Nox Fox ha scritto: ↑23/10/2019, 9:53 La cosa che mi piace è che posso usare una JammASD con retroASD senza perdere la configurazione della JammASD per altri progetti e che così chiunque usi questo sistema avrà la stessa configurazione.
Questo progetto mi piace sempre di più![]()
Questa scheda mi piace sempre di più! Se solo avesse la possibilità, tramite jumper, di cambiare il pulsante 6 da morsetto a "pinout pandora" sarebbe la scheda perfetta per chi usava RetroPAN e potrebbero fare lo switch in futuro a RetroASD senza mettere le mani al cablaggio...Picerno, se mai farai una release del PCB valuta questa possibilità, credimi ci sono un sacco di utenti Pandora che usavano il lavoro di myzar e del sottoscritto (RetroPAN) che se avessero questa possibilità comprebbero la scheda
![]()

-
Tox Nox Fox
- Moderatore
- Messaggi: 12458
- Iscritto il: 14/01/2007, 23:35
- Medaglie: 4
- Grazie Inviati: 205 volte
- Grazie Ricevuti: 324 volte
Re: RetroASD = JammASD + Mini PC!
Beh passi per la JammASD e conviene prendere un adattatore Jamma scart in commercio per pochi euro a quel punto, ma siamo OT sul progetto.
- zanac
- 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!
Vi aggiorno su quanto è attualmente in go: grazie al supporto di Picerno ho scritto un po' di codice finalizzato ad interfacciarmi verso la JammASD per programmare i tasti come fa comodo a RetroASD... il codice è un proof-of-concept ancora da testare e debuggare, conto di renderlo operativo nel weekend.
script: https://github.com/zanac/RetroASD/tree/master/pyJammASD
script: https://github.com/zanac/RetroASD/tree/master/pyJammASD
- zanac
- 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!
Dopo una sessione di debug lo script per cambiare i tasti di Jammasd ha finalmente preso vita, prossimi giorni pubblico su git la versione funzionante.
RetroASD piano piano inizia prendere forma...
RetroASD piano piano inizia prendere forma...
- zanac
- 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!
Grazie alla collaborazione di Picerno che ho scassato abbondantemente per messaggi privati, ho creato un primo portable per Windows di pyJammASD.
Su git trovate sia il sorgente ma per praticità vi posto il binario compilato: https://github.com/zanac/RetroASD/relea ... v_0.0.1.7z
Lanciando pyJammASD con il parametro -d (--default) la scheda verrà "inizializzata" con un default "come piace a me"...
Per cambiare una singola regola si può usare questa sintassi (esempio concreto):
pyJammASD.exe -s -r 8 -p P1_BUTTON_1 -k O
qui faccio ad esempio una sovrascrittura della regola 8 cambiando il tasto 1 del player 1 con la lettera "O" al posto del default (LEFT CONTROL).
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
Questa release non implementa la lettura delle regole (o meglio, la implementa ma non la ho debuggata), ne esponeda riga di comando la possibilità di usare le funzionalità avanzate (shift, toggle, repeat)... anche se anche queste sono implementate (e adirittura testate), ma appunto semplicemente non esposte.
Il senso di questa release è solo aprire una beta per verificare la compatibilità di quanto sviluppato anche per Windows, ricordo infatti che RetroASD sarà una distribuzione Linux, ma lo script pyJammASD potrebbe risultare utile anche ad utenti Windows!
Ultima nota: il comando non è persistente, agisce sulla configurazione in memoria della scheda, in questo modo quando verrà spenta tornerà come prima!
Su git trovate sia il sorgente ma per praticità vi posto il binario compilato: https://github.com/zanac/RetroASD/relea ... v_0.0.1.7z
Lanciando pyJammASD con il parametro -d (--default) la scheda verrà "inizializzata" con un default "come piace a me"...
Per cambiare una singola regola si può usare questa sintassi (esempio concreto):
pyJammASD.exe -s -r 8 -p P1_BUTTON_1 -k O
qui faccio ad esempio una sovrascrittura della regola 8 cambiando il tasto 1 del player 1 con la lettera "O" al posto del default (LEFT CONTROL).
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

Questa release non implementa la lettura delle regole (o meglio, la implementa ma non la ho debuggata), ne esponeda riga di comando la possibilità di usare le funzionalità avanzate (shift, toggle, repeat)... anche se anche queste sono implementate (e adirittura testate), ma appunto semplicemente non esposte.
Il senso di questa release è solo aprire una beta per verificare la compatibilità di quanto sviluppato anche per Windows, ricordo infatti che RetroASD sarà una distribuzione Linux, ma lo script pyJammASD potrebbe risultare utile anche ad utenti Windows!
Ultima nota: il comando non è persistente, agisce sulla configurazione in memoria della scheda, in questo modo quando verrà spenta tornerà come prima!
-
- Cab-maniaco
- Messaggi: 1646
- Iscritto il: 02/08/2005, 8:40
- Medaglie: 1
- Città: Latina
- Grazie Inviati: 6 volte
- Grazie Ricevuti: 3 volte
Re: RetroASD = JammASD + Mini PC!
Condivido la scelta di non flashare la rom della scheda e di lavorare in maniera "volatile"
- zanac
- 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!
In verità non ho nemmeno l'intenzione di implementare il flash delle regole, direi che se lavoro bene diventa quasi superfluo... dato che basterà mettere uno script all'avvio del sistema per programmare al volo la schedaantoniomauro ha scritto: ↑30/10/2019, 11:03 Condivido la scelta di non flashare la rom della scheda e di lavorare in maniera "volatile"

-
picerno
- God of Arcade
- Messaggi: 3686
- Iscritto il: 20/11/2006, 21:31
- Medaglie: 1
- Località: Provincia di Potenza
- Grazie Inviati: 1 volta
- Grazie Ricevuti: 44 volte
Re: RetroASD = JammASD + Mini PC!
confermo che lo script funziona anche in windows e riesco a cambiare le regolezanac 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![]()

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
- zanac
- 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!
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)....picerno ha scritto: ↑30/10/2019, 18:53confermo che lo script funziona anche in windows e riesco a cambiare le regolezanac 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![]()
![]()
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
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.
-
picerno
- God of Arcade
- Messaggi: 3686
- Iscritto il: 20/11/2006, 21:31
- Medaglie: 1
- Località: Provincia di Potenza
- Grazie Inviati: 1 volta
- Grazie Ricevuti: 44 volte
- zanac
- 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!
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...
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...
-
picerno
- God of Arcade
- Messaggi: 3686
- Iscritto il: 20/11/2006, 21:31
- Medaglie: 1
- Località: Provincia di Potenza
- Grazie Inviati: 1 volta
- Grazie Ricevuti: 44 volte
Re: RetroASD = JammASD + Mini PC!


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
che bug?

- zanac
- 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!
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
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
-
picerno
- God of Arcade
- Messaggi: 3686
- Iscritto il: 20/11/2006, 21:31
- Medaglie: 1
- Località: Provincia di Potenza
- Grazie Inviati: 1 volta
- Grazie Ricevuti: 44 volte
Re: RetroASD = JammASD + Mini PC!
ah! ok
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
- zanac
- 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!
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 

- zanac
- 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!
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.
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.
- zanac
- 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!
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!
$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!