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 »

Devo dire che dagli esperimenti fatti un mini pc da 200 euro (si non sono poco ovviamente) con un i5 e una scheda video Intel integrata con una risoluzione superwide dai primi test regge in modo perfetto dreamcast, naomi, atomiswave... ma anche core avanzati come mame2015/mame2016.

Il risultato a video è strepitoso, la risoluzione di 1920x240 in progressivo usando un filtro bilinear sui giochi a 31khz non sfigura di fronte ai monitor Naomi... (si ok, non è allo stesso livello ma ci avviciniamo molto).

Sul boot con lo splash concordo con picerno e sono in disaccordo con Alex ;)

Un progetto fatto bene prevede che non si debba neanche vedere il boot... dovrebbe essere come una radio sveglia "on e off" del cabinato! Che ci sia un PC al posto della pandora poco importa!
Impossibile? Invece si può. Una volta fatto funzionare tutto basterebbe "cristalizzare" il tutto mediante squashfs e il file system sarebbe in readonly, quindi si potrebbe spegnere brutalmente il cab! Non lo ho mai fatto ma lo ho visto fare su dei "pc embedded".... e si, chiaro, ci sarebbe una piccola partizione non in readonly dove vengono salvate le impostazioni (tipo hiscore dei giochi), ma al massimo se si rovinasse quella partizione non dovrebbe venir compromesso il sistema.
antoniomauro

Donatore
Cab-maniaco
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!

Messaggio da antoniomauro »

Ma prevedi l'utilizzo di una sola modeline?
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 sapere come mai 1920x240 in progressivo ?

Per lo splashscreen dicevo che, nel caso, dev'esserci la possibilità di toglierlo per vedere cosa succede nelle fasi di boot.
Non dico che si deve usare 😃
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 »

Si, almeno in questa fase, prevedo un'unica modeline.

Perchè proprio 1920x240?

Semplice, le nuove GPU funzionano in 15khz solo se il dot-clock è superiore a 32! Questa modeline riesce ad avere dot-clock di 37... per ottenere un dot-clock alto serve una risoluzione orizzontale alta, ma perchè proprio 1920?

Perchè 1920 è un buon multiplo! Infatti 384x5 = 1920. Quindi i giochi che hanno risoluzione orizzontale di 384 riescono ad essere pixel perfect!
Riguardo la risoluzione verticale... i giochi a 224 sono "coperti", infatti per ottenere il tanto agognato pixel perfect basta aggiungere due piccole bande nere sopra e sotto di 8 pixel (8+224+8=240 pixel).

Tutto bene? No, non tutto, molti giochi ovviamente avranno degli artefatti, Mortal Kombat è un caso eclatante (era un 400x254! [*])... ma... c'è un ma.
Lo scopo di questo lavoro non è creare un sistema per i maniaci della perfezione (almeno non è lo scopo di questa prima fase), ma creare un sistema facile e usabile da tutti per poter giocare velocemente su un cabinato "pronto scheda". Il mio sogno è permettere a tutti di prendersi una Pandora e giocare con gli arcade sino a fine anni 90.... se invece non basta e desiderano giocare con Tekken 5 piuttosto che Virtua Fighter 4, con un bel mini pc+jammasd avranno a disposizione una cosa analoga (a tutt'altro prezzo ovviamente)!

I maniaci della perfezione sono tenuti a non lamentarsi di questa scelta, se vogliono qualcosa di più non devono chiedermi "ma potresti fare questo o quello", faccio questo perchè mi va di fare così e non ho tempo infinito... lo faccio per divertimento e senza ritorni, quindi se qualcuno ha tempo di fare di meglio ben venga! (scusate il tono, ma lo dico a scanso di equivoci! ;)

Siete ancora interessati al tutto? Bene, allora contattate picerno, comprate una bella jammasd [**] e... stay tuned!

[*] cmq qui lo dico e qui lo nego... la soluzione l'ho già in mente, dato che mk mi piaceva... in futuro farò uno switch per questo gioco con questa modeline:
Modeline "2560x256_58 15.7KHz 60.0Hz" 53.330 2560 2792 3048 3392 256 257 260 262 -hsync -vsync
con questa aggiugendo 1 pixel nero sopra e sotto, e 80 pixel a destra e sinistra avremmo risolto! Infatti 80+400*6+80=2560 e 1+254+1=256
[**] la qualità di questa scheda è davvero incredibile!
antoniomauro

Donatore
Cab-maniaco
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!

Messaggio da antoniomauro »

Concordo con la filosofia del progetto e sono contento di vedere che sei "aperto" ad eventuali modelines multiple!

ps. Le nuove GPU riescono a scendere sotto i 60hz? Mortal kombat girerebbe a 54 Hz circa per evitare troppi "scatti"
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 »

antoniomauro ha scritto: 16/10/2019, 15:17 Concordo con la filosofia del progetto e sono contento di vedere che sei "aperto" ad eventuali modelines multiple!

ps. Le nuove GPU riescono a scendere sotto i 60hz? Mortal kombat girerebbe a 54 Hz circa per evitare troppi "scatti"
dot-clock: è la frequenza (o velocità se vogliamo), espressa in Mhz, necessaria per ridisegnare l'intera superfice di un monitor.
Più alta è la risoluzione, più alto è il dot-clock, perchè serve essere "più veloci" a ridisegnare l'intera superfice.

Nei monitor CRT questa era in pratica il tempo necessario perchè il cannone (chiamato anche "pennello di scansione") posto nel collo del tubo scorra l'intera superficie.

Possiamo quindi pensare il dot-clock anche come ad una sorta di tempo necessario per scandire l'intero quadro, un dot-clock di (per esempio) 53,33Mhz significa che ogni secondo verranno ridisegnati 53330000 punti sullo schermo. Nell'esempio che avevo riportato della modeline:
Modeline "2560x256_58 15.7KHz 60.0Hz" 53.330 2560 2792 3048 3392 256 257 260 262 -hsync -vsync

Se noterete noi vogliamo costruire una risoluzione di 2560x256, ma in realtà il quadro "fisico" è di 3392x262, quindi ne consegue che la frequenza verticale è di 53330000/(3392x262) ovvero quei 60Hz che vedi citati!

Ora il limite delle GPU moderne a quanto ho inteso non è nella frequenza verticale (che come abbiamo visto è un dato "ricavato"), ma nel dot-clock, per qualche ragione a me oscura si rifiutano di funzionare a dot-clock sotto i 30/32Mhz circa, insomma... vogliono monitor grandi!!! Vogliono disegnare tanta roba!!! ;)
Ma se quindi abbassassimo il dotclock da 53,33 a 48... 48000000/(3392x262) = 54.

Ecco, questa è teoria, non lo ho provato sia chiaro! Funziona? Non lo so, ma mi viene da pensare che... potrebbe funzionare (se fossi uno scenziato pazzo avrei detto: si può fare)!

p.s. se volete spaventarvi leggete questo paragrafo, l'autore non è un tizio qualunque.... parliamo di Eric Raymond (il testo originale era in inglese, è una traduzione), è stato scritto 19 anni fa quando esistevano solo i CRT!!!
http://archive.download.redhat.com/pub/ ... html#overd
Raymond sostiene che è "abbastanza innocuo" giocare con dot-clock elevati, in effetti non c'è motivo che mi porti di pensare il contrario! Un conto per il cannone catodico è tentare di alzare il numero di linee, il numero di pixel orizzontali poco importa al contrario!
Che poi la nota che dice "non superare il doppio della banda" lo ha messo il traduttore italiano, nel testo originale di Raymond dice che il dot-clock non crea danni, quindi state pure sereni... vedete il testo originale insomma: http://en.tldp.org/HOWTO/XFree86-Video- ... overd.html
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: 15/10/2019, 9:43
zanac ha scritto: 14/10/2019, 15:39 p.s. complimenti a picerno per la scheda! Davvero fenomenale.
grazie mille :wink:
Doc, tu che sei l'autore di questo splendido gioiello... mi confermi che la tua jammasd protegge i monitor da segnali che potrebbero danneggiarli? In teoria ho sempre saputo che lavorare su dot-clock elevati non danneggia il monitor (in fondo il cannone catodico comunque deve scansionare tutta la linea, che "virtualmente" sia composta da più pixel non fa differenza sulla velocità con cui il cannone deve lavorare...
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 »

Fondamentalmente hai spiegato brevemente e in modo chiaro ed esaustivo come funzionano le SuperResolution dei CrtEmuDriver di Calamity su windows.

Sono senza parole.
Fantastico.
WP.ARCADEITALIA.NET
La Guida al MameCab
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 »

Forse però nel kit, il termine mini-pc fa pensare ad altro
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 »

Dopo alcuni giorni di sperimentazione sono venuto al punto cruciale: radere al suolo l'installazione fatta per ripartire da zero! Il motivo è che vorrei ora creare un setup pulito per farne poi un dump da condividere in internet quando usabile da tutti.
Veniamo alle scoperte fatte, le scrivo per documentare meglio alcune scelte!

La nostra fidata jammasd non converte il segnale video, il PC deve uscire nativamente a 15Khz... e questo è un bene! Abbiamo quindi bisogno di forzare l'ambiente grafico con una modeline custom, questo perchè i monitor arcade (o le TV per chi usa una vecchia CRT come il sottoscritto) non supportano il protocollo EDID tramite la scart!
Per forzare le modeline il metodo più pratico è quello di usare xargs. E qui ho avuto il primo problema, all'inizio dando i comandi per cambiare le modeline xargs pareva non digerirli: se infatti vanno bene il monitor PC che useremo per il setup dovrebbe spegnersi e andare fuori frequenza...

Il motivo è che ormai tutte le distribuzioni Linux da qualche anno a questa parte usano Wayland come ambiente grafico! Su wayland xargs non supporta i cambi di risoluzione tramite modeline custom! La soluzione è usare xorg... quasi tutte le distribuzioni permettono di fare lo switch velocemente da wayland a xorg, tuttavia per praticità e stabilità ho fatto la scelta di partire ora con un setup basato su Ubuntu 18.04 LTS che adotta già xorg di default! Questo ci permette di avere una distribuzione pulita sin dal primo setup già configurata in modo da poter usare una modeline custom.

Vogliamo poi installare Ubuntu non su hard disk ma su una USB bootable, per fare questo ho dovuto fare un'altra scelta... il target è un mini PC moderno, e ormai tutti sono di default con bios UEFI! Ricordo che il target scelto è un nuovo utente a cui dobbiamo dare la possibilità di comprare la JammASD, un pc nuovo... infilare la chiavetta, accendere il tutto e giocare! Meno smanettamenti gli faremo fare più sarà felice (oltre che il sottoscritto che avrà meno domande in futuro).

Procediamo quindi con preparare due chiavette, una con l'immagine di Ubuntu (chiavetta input), e un'altra "vergine" (chiavetta output) con preparata la tabella delle partizioni in standard GPT/UEFI.

Avviando il PC con la chiavetta di Ubuntu procediamo all'installazione sulla chiavetta GPT, come fosse un normale hard disk.. il boot loader grub andrà sulla partizione UEFI! Ho appena finito questa fase e fatto un piccolo test su di un paio di PC: funziona, la chiavetta fa il boot... e non da problemi su due hardware completamente diversi con due schede grafiche completamente diverse (una è una nvidia e l'altra è una Intel 620 integrata). Per scelta ho creato un utente con nome pi e password pi, così manteniamo compatibilità con le guide fatte per Rasbperry e generiamo meno confusione agli utenti futuri.

Per ora siamo ancora lontani all'impianto sul cab... ma tranquilli ci arriveremo nei prossimi giorni! Per sicurezza ho fatto un dump della chiavetta su di un altro disco, anche se non è l'immagine master "non si sa mai" e teniamo questo primo rilascio...

Next step: installiamo RetroPie!
A questo punto facciamo il boot sulla chiavetta e seguendo questa guida arriveremo al setup funzionante... https://www.retropie.it/guide/retropie-su-pc/

Per oggi mi fermo qui, abbiamo una bella retropie portable su disco usb con xorg, quindi pronta per essere usata a 15khz sulla Jammasd... uno dei prossimi giorni continueremo con il setup, prossima parte è infatti configurare l'uscita a 15khz e i tasti mappando quelli del pdf di documentazione di jammasd che troviamo su https://www.webasd.com/public/doc/ASD27 ... Pinout.pdf


p.s. a fine progetto mi aspetto di produrre un'immagine da 128gbyte pronta all'uso, ma se qualche smanettone vuole cimentarsi con le info di cui sopra e nei prossimi messaggi può già partire e crearsi una proprio custom-image!
Rispondi

Torna a “JammASD / SmartASD - Domande e Problemi”