Pagina 4 di 19
Re: RetroASD = JammASD + Mini PC!
Inviato: 06/11/2019, 10:58
da antoniomauro
Fantastico!
Non voglio farti perdere tempo in post troppo tecnici ma trovo veramente brillante la soluzione delle risoluzioni "ultrawide" per riuscire ad ottenere risoluzioni e refresh rate (modeline) arbitrari anche con schede grafiche integrate.
Se ho ben capito hai surclassato i famosi CRT Emudrivers che soffrono invece di molte limitazioni relativamente all'hardware utilizzabile.
Con questi script (pre/post) poi si apre di fatto la possibilità di realizzare un sistema pixel-perfect per ogni piattaforma/gioco
Re: RetroASD = JammASD + Mini PC!
Inviato: 06/11/2019, 13:21
da Tox Nox Fox
la teoria sotto è la stessa dei crtemudriver, ma rielaborata sotto Linux e con qualche "colpo di genio" di zanac che li rendono utilizzabili un po' ovunque.
Come dicevo anche con zanac, al tempo del dos puro (anni fa

) usando Linux o Dos si usciva a 15khz su ogni scheda video in circolazione. In Dos, con ArcadeOs bastava una riga in un file di testo per uscire a 15khz.
Poi con Windows iniziarono i problemi per la forzatura.
Re: RetroASD = JammASD + Mini PC!
Inviato: 06/11/2019, 18:12
da picerno
Tox Nox Fox ha scritto: ↑06/11/2019, 13:21
, al tempo del dos puro (anni fa

) usando Linux o Dos si usciva a 15khz su ogni scheda video in circolazione. In Dos, con ArcadeOs bastava una riga in un file di testo per uscire a 15khz..
Io sono rimasto a quei tempi. Dos e advmame

Re: RetroASD = JammASD + Mini PC!
Inviato: 07/11/2019, 11:29
da zanac
picerno ha scritto: ↑06/11/2019, 18:12
Tox Nox Fox ha scritto: ↑06/11/2019, 13:21
, al tempo del dos puro (anni fa

) usando Linux o Dos si usciva a 15khz su ogni scheda video in circolazione. In Dos, con ArcadeOs bastava una riga in un file di testo per uscire a 15khz..
Io sono rimasto a quei tempi. Dos e advmame
Male male, ma a fine progetto conto di farti "evolvere"

Re: RetroASD = JammASD + Mini PC!
Inviato: 12/11/2019, 15:20
da zanac
Continua la sperimentazione.
Dopo un po' di giorni che giravo alla risoluzione descritta mi sono spinto a spingere, perdonate il gioco di parole, il mio buon vecchio Mivar alla massima risoluzione che supportava e sopportava.
Il Mivar reggeva tranquillamente una risoluzione di 300p a 15khz, tuttavia ho deciso di scendere a 274p per mantenere la compatibilità con magari altri monitor arcade meno di manica larga.
Con questa risoluzione i giochi che usano 224p (la maggior parte) possono essere visualizzati aggiungendo 25 pixel sopra e sotto lo schermo (25+225+25=274), la risoluzione orizzontale invece è ora ad una fiammante 2560 pixel, con questo compremesso possiamo ora far girare i Sega Model 3 (che ricordo essere 496x384) a 2480x274 con una perdita di qualità video di "appena" il 29% dei pixel contro il 35% di una risoluzione 15khz standard (non sto qui a riportarvi il dettaglio dei calcoli per non annoiare troppo).
Veniamo ora ad alcuni giochi con risoluzioni bastarde.
Mortal Kombat: 400x256... risoluzione orizzontale 80+400*5+80, risoluzione verticale 9+256+9! Ci siamo.
Popeye, interlacciata a 512x448. No, non ci siamo.
Per le interflacciate serve una super risoluzione che copra più casistiche... dopo diversi tentativi ho tirato fuori una 1024x600 interlacciata! Popeye quindi diventa 512*2,76+448+76
Tutto bene? Si, quasi. Come fare a gestire due modeline così esotiche con xrandr? Ecco il trucchetto....
/usr/bin/xrandr --newmode "MODE_2560x274p" 52.42 2560 2664 2912 3328 274 275 277 300 -hsync -vsync
/usr/bin/xrandr --newmode "MODE_1024x600i" 20.161 1024 1032 1127 1264 600 601 607 638 interlace -hsync -vsync
/usr/bin/xrandr --addmode $(/usr/bin/xrandr | grep ' connected ' | sed "s/^\(.*\) connected.*/\1/") "MODE_2560x274p"
/usr/bin/xrandr --addmode $(/usr/bin/xrandr | grep ' connected ' | sed "s/^\(.*\) connected.*/\1/") "MODE_1024x600i"
/usr/bin/xrandr --output $(/usr/bin/xrandr | grep ' connected ' | sed "s/^\(.*\) connected.*/\1/") --mode "MODE_2560x274p" --scale-from 384x274
Fatto questo possiamo cambiare da una risoluzione all'altra con questi tre comandi:
Super risoluzione progressiva:
/usr/bin/xrandr --output $(/usr/bin/xrandr | grep ' connected ' | sed "s/^\(.*\) connected.*/\1/") --mode "MODE_2560x274p" --transform none
Super risoluzione progressiva scalata (per emulation):
/usr/bin/xrandr --output $(/usr/bin/xrandr | grep ' connected ' | sed "s/^\(.*\) connected.*/\1/") --mode "MODE_2560x274p" --scale-from 384x274
Super risoluzione interlacciata:
/usr/bin/xrandr --output $(/usr/bin/xrandr | grep ' connected ' | sed "s/^\(.*\) connected.*/\1/") --mode "MODE_1024x600i"
Per finire ecco un altro tema che mi sta a cuore: l'uso di emulatori a schermo intero ma che in realtà faremo girare su una finestra grande quanto il desktop!
In questo caso tutto funziona bene tranne che il cursore del mouse va oscurato. Come fare?
Semplice, definiamo un file ad hoc cursor_hidden.xbm con all'interno queste righe:
cursor_hidden.xbm:
#define blnk_ptr_width 1
#define blnk_ptr_height 1
#define blnk_ptr_x_hot 0
#define blnk_ptr_y_hot 0
static unsigned char blnk_ptr_bits[] = { 0x00 };
Ora il comando:
/usr/bin/xsetroot -cursor /opt/retropie/retroasd/cursor_hidden.xbm /opt/retropie/retroasd/cursor_hidden.xbm
Ora ci siamo davvero!
E se il cursorse serve nuovamente?
Detto fatto:
xsetroot -cursor_name left_ptr
Re: RetroASD = JammASD + Mini PC!
Inviato: 13/11/2019, 11:23
da antoniomauro
Grande!
Come gestirà l'emulatore (mame ad esempio) la scelta della risoluzione adatta tra quelle installate?
Prevedi un'impostazione manuale degli "ini" oppure qualche altro meccanismo?
Immagino che conosci già perfettamente "groovymame" che dovrebbe supportare l'utilizzo e la selezione delle "super resolution" molto simili al metodo che stai implementando!
Re: RetroASD = JammASD + Mini PC!
Inviato: 13/11/2019, 14:01
da zanac
antoniomauro ha scritto: ↑13/11/2019, 11:23
Grande!
Come gestirà l'emulatore (mame ad esempio) la scelta della risoluzione adatta tra quelle installate?
Prevedi un'impostazione manuale degli "ini" oppure qualche altro meccanismo?
Immagino che conosci già perfettamente "groovymame" che dovrebbe supportare l'utilizzo e la selezione delle "super resolution" molto simili al metodo che stai implementando!
In realtà non ho mai usato groovymame, chi mi conosce sa che provengo da Pandora

Tieni conto che non sono un maniaco del pixel perfect, anzi... in verità mi piace quasi di più giocare con qualche filtro che faccia un upscaling della risoluzione del gioco
Tuttavia voglio tenermi aperto e permettere a chi invece piaccioni i pixel di avvicinarsi ad un'esperienza arcade originale... detto questo in prima fase appunto non ho intenzione di usare alcun stratagemma per cambiare la risoluzione, ma mi interessa capirne la fattibilità.
Come ho in mente di farlo? Facile, mame tramite la sua api a command line permette di estrarre le info di ogni gioco, nel tag <display> ci sono le info della risoluzione desiderata dal gioco, in base a quella non farò altro che settare al volo retroarch

Re: RetroASD = JammASD + Mini PC!
Inviato: 13/11/2019, 15:33
da antoniomauro
Capisco!
Re: RetroASD = JammASD + Mini PC!
Inviato: 14/11/2019, 9:39
da zanac
pyJammASD v 0.0.3
Versione Windows:
https://github.com/zanac/RetroASD/relea ... v_0.0.3.7z
su Git c'è il source per Linux.
Rimosso parametro -d e aggiunto -c
Ora tramite -c si può caricare un dizionario di regole...
Ho predisposto due dizionari di esempio: default.ini e libretro.ini
Il default.ini imposta le regole di base che RetroASD caricherà all'avvio... libretro.ini invece contiene una configurazione che ho pensato studiata per l'uso di retroarch.
In questa configurazione i tasti shiftati hanno il "repeat" settato, ovvero tenendo premuto il tasto start del player 1 i tasti avranno il repeat settato... questo è comodo per gli shot m up o tipo nei picchiaduro dove si deve premere velocemente un pulsante (tipo le 100 mani di Honda).
Re: RetroASD = JammASD + Mini PC!
Inviato: 22/11/2019, 18:04
da zanac
Finalmente è tempo di romset!
RetroASD inizia a funzionare... Ed è tempo di romset! Lato mame sono coperto, lato Naomi e atomiswave sto cercando rom+chd testati con core flycast. Se qualcuno ha voglia di darmi una mano fatemi pure un fischio su fb o via PM.
Attenzione, solo a chi ha rom testate con questo core! Astenersi perdi tempo e/o rom testate con altri emulatori!
..
Re: RetroASD = JammASD + Mini PC!
Inviato: 08/12/2019, 12:49
da zanac
Romset Naomi e Atomiswave preparato... mancano le anteprima dei video, forse ho trovato qualcuno che ha voglia di sbattersi e farne un po' @Devilxcv
Ora quindi passiamo ad un romset minimale per PS2 che includa giusto pochi giochi arcade selezionati... Direi Virtua Fighter 4, Tekken 5..... e forse un altro paio.
Re: RetroASD = JammASD + Mini PC!
Inviato: 08/01/2020, 10:05
da zanac
In questi giorni ho iniziato la sperimentazione di un titolo Windows fatto girare tramite Wine. L'obiettivo è caricare un paio di titoli prettamente Arcade di "nuova generazione" ma che risultano sensati su un vecchio e vetusto cab crt.
I due titoli che mi interessano sono essenzialmente "Ultra Street Fighter IV" e "Street Fighter X Tekken". Questi titoli sebbene recenti (l'ultimo aggiornamento è del 2014) permettono di renderizzare la grafica con un rapporto di 4:3, i titoli moderni infatti nascono ormai solo in 16:9.
Grazie all'utilizzo della super risoluzione la resa grafica è eccellente, vi pubblico un video qui sotto, purtroppo filmare un CRT è durissima quindi faccio volutamente alcune zoomate per mostrare il dettaglio dei singoli pixel.
Come vedete nel filmato il problema è chiaramente la mappatura dei tasti, ma qui ci viene in aiuto nuovamente il lavoro svolto i mesi scorsi: pyJammASD. Ho appena creato una mappatura per poter usare i tasti di default previsti dal gioco, ve la pubblico in anteprima qui:
L'unico tasto che va riconfigurato nel gioco è il P1_BUTTON_4 che di default il gioco prevede come una parentesi quadrata e che ho mappato invece con un "+", nella configurazione del gioco si dovrà quindi avere cura di cambiare il tasto da "[" a "+"...
Prossimo step: mappatura di Street Fighter X Tekken!
n.b. per effettuare una prova veloce ho messo il gioco nella collezione Dreamcast, mi interessava fare un test veloce

Re: RetroASD = JammASD + Mini PC!
Inviato: 08/01/2020, 11:02
da alucard
Scusa,
il dettaglio dell’HW che stai utilizzando lo hai già postato? Non lo trovo.
Re: RetroASD = JammASD + Mini PC!
Inviato: 08/01/2020, 11:38
da zanac
alucard ha scritto: ↑08/01/2020, 11:02
Scusa,
il dettaglio dell’HW che stai utilizzando lo hai già postato? Non lo trovo.
Sto lavorando in modo che il risultato sia indipendente dall'hardware, l'immagine funzionerà su qualsiasi CPU intel equipaggiata con una GPU integrata Intel o una Nvidia.
Nel mio caso ho a disposizione per i test un i5 e un i7 rispettivamente con gpu nvidia e gpu intel 620.
Chiaro che se devi far girare Street Fighter IV hai bisogno di una macchina con i requirement del gioco

Re: RetroASD = JammASD + Mini PC!
Inviato: 08/01/2020, 13:19
da Tox Nox Fox
Anche i giochi di locomalito ci starebbero bene
Re: RetroASD = JammASD + Mini PC!
Inviato: 08/01/2020, 14:15
da zanac
Tox Nox Fox ha scritto: ↑08/01/2020, 13:19
Anche i giochi di locomalito ci starebbero bene
Maldita Castilla lo aggiungo sicuramente, in generale cmq volevo mostrare come l'uso delle super resolution permettono una resa più che eccellente anche in titoli new-gen come Street Fighter IV e grazie alla riprogrammazione on-the-fly di jammasd ci si sbatte poco nel configurarli lavorando più che sul gioco sullo script di mappatura tasti

Re: RetroASD = JammASD + Mini PC!
Inviato: 09/01/2020, 10:41
da antoniomauro
zanac ha scritto: ↑08/01/2020, 10:05
In questi giorni ho iniziato la sperimentazione di un titolo Windows fatto girare tramite Wine. L'obiettivo è caricare un paio di titoli prettamente Arcade di "nuova generazione" ma che risultano sensati su un vecchio e vetusto cab crt.
I due titoli che mi interessano sono essenzialmente "Ultra Street Fighter IV" e "Street Fighter X Tekken". Questi titoli sebbene recenti (l'ultimo aggiornamento è del 2014) permettono di renderizzare la grafica con un rapporto di 4:3, i titoli moderni infatti nascono ormai solo in 16:9.
Grazie all'utilizzo della super risoluzione la resa grafica è eccellente, vi pubblico un video qui sotto, purtroppo filmare un CRT è durissima quindi faccio volutamente alcune zoomate per mostrare il dettaglio dei singoli pixel.
Che (super) risoluzione utilizzi per questi giochi?
Re: RetroASD = JammASD + Mini PC!
Inviato: 09/01/2020, 14:58
da zanac
Uso una 2560/274, non so se il video renda abbastanza, che te ne pare vedendo il risultato?
Re: RetroASD = JammASD + Mini PC!
Inviato: 09/01/2020, 15:37
da antoniomauro
Sembra molto "arcade"!
Quindi si riesce a giocare a questi titoli evitando risoluzioni interlacciate....Ottimo!
Sono abbastanza sconvolto dalla semplicità con cui arrivi a questi risultati.
Seguo spesso il forum di groovyarcade/groovymame dove sembrano avere molte più difficoltà di compatibilità verso gli hardware recenti...
Non vedo l'ora di poter provare qualcosa!
Re: RetroASD = JammASD + Mini PC!
Inviato: 09/01/2020, 16:19
da zanac
antoniomauro ha scritto: ↑09/01/2020, 15:37
Sembra molto "arcade"!
Quindi si riesce a giocare a questi titoli evitando risoluzioni interlacciate....Ottimo!
Sono abbastanza sconvolto dalla semplicità con cui arrivi a questi risultati.
Seguo spesso il forum di groovyarcade/groovymame dove sembrano avere molte più difficoltà di compatibilità verso gli hardware recenti...
Non vedo l'ora di poter provare qualcosa!
Ma sai, ormai si è creato un falso mito che serve una arcadevga o una radeon e tutti hanno smesso di tentare di capire come pilotare una scheda video qualsiasi a 15khz... inoltre si ostinano sotto linux usare wayland con gli hardware nuovi. In realtà appunto possiamo sfatare il mito sia di wayland che della necessità di una radeon.