Open Source Scan Converter (OSSC)
di: Ivan CaregnatoPartiamo subito da un punto: per me retrogaming implica necessariamente CRT. Implica dover alzare 50Kg per muovere una TV e pulirci sotto la polvere. Non ho mai concepito una sessione di retrogaming senza la presenza di un Trinitron, un PVM o BVM.
Recentemente però ho avuto un guasto al mio BVM-2010P, per cui ho voluto approfittarne per uscire un po’ dalla mia zona confort e testare l’accoppiata Retrogaming/LCD con due soluzioni digitali: OSSC e MISTer FPGA.
Il secondo avrà un articolo a parte che andrò a pubblicare più avanti, mentre il primo è l’oggetto di questo che sto scrivendo: si tratta fondamentalmente di un prodotto, dotato di tre ingressi differenti, tutti analogici, in grado di trasformare il segnale in digitale, uscendo via HDMI. Scopriamolo insieme.
Se, come me, difronte ad una retroconsole collegata direttamente al vostro schermo/monitor LCD avete sempre fatto una faccia schifata c’è un motivo: quello che vedevate non era quello che i programmatori avevano intenzione di mostrarvi sullo schermo. La spiegazione è piuttosto semplice: nei CRT ogni immagine veniva generata da delle singole linee proiettate da sinistra destra sullo schermo ad una risoluzione nativa molto più bassa rispetto a quelle usate oggi. Questo fa sì che quando provate a collegare (sempre che la TV o schermo supporti la cosa con un ingresso dedicato) una retroconsole a questi schermi dotati di risoluzioni fino agli 8K, il software interno del televisore prenda queste immagini e le ingrandisca, generando rumore. Anche la stessa immagine, inizialmente pensata e quindi creata con in testa quel metodo di proiezione sullo schermo, non è in ogni caso quella “originale”, dato che ora abbiamo di pixel messi vicini senza soluzione di continuità.
OSSC, acronimo che sta per Oper Source Scan Converter è un progetto che ha qualche anno sulle spalle (è nato nel 2015) e possiamo dire abbia ormai raggiunto ormai una propria maturità a livello operativo. Sostanzialmente, come dice il nome, è un progetto completamente Open Source (e pure DIY, quindi in grado di essere costruito senza l’ausilio di strumenti sofisticati: si acquista un kit, condensatori e SMD…un po’ di stagno e avrete il vostro OSSC) che tramite una piattaforma FPGA prende ogni singolo frame che gli arriva, lo analizza e poi moltiplica ogni riga che lo compone fino a 5 volte al fine di adattarlo alle risoluzioni dei monitor e TV LCD presenti in commercio, senza generare lag e soprattutto rumore durante il processo.
OSSC ha subito diverse implementazioni in questi 5 anni di vita, arrivando alla revisione 1.6 che è la stessa che ho potuto provare per circa un mese e mezzo.
Questa revisione ha 3 ingressi video analogici (con le seguenti modalità):
- SCART RGB (RGBS, RGsB e YPbPr)
- COMPONENT (RGsB e YPbPr)
- VGA (RGBHV, RGBS, RGsB e YPbP)
In ogni caso tutto viene processato all’interno dello spazio RGB e non viene fatta alcuna conversione a YCbCr, quindi l’uscita verso HDMI avviene tramite RGB a 24bit.
Per l’ingresso SCART l’audio può essere estrapolato e inviato ad un sistema audio tramite jack da 3.5mm, altrimenti questo ed un altro input audio possono essere usati per veicolare due sorgenti audio alle entrate VGA e COMPONENT (questa solo con la revisione 1.6), data la loro natura sono puramente video.
Sono presenti due pulsanti, uno per passare ciclicamente ai vari ingressi (e all’interno dello stesso ingresso scorrere tra le modalità sopra elencate) e uno per abilitare (modalità automatica o manuale) e disabilitare le scanline. Scanline, per chi non lo sapesse, sono delle righe principalmente orizzontali atte a restituire graficamente l’esperienza che si aveva con i CRT, dove queste erano presenti perché caratteristica insita nella tecnologia CRT. Su queste ci sono pareri: chi le ama e chi le odia, preferendo la pulizia grafica. Personalmente sono convinto che chi sviluppava software all’epoca creava un gioco tenendo conto di questa caratteristica, quindi potrebbe avere un senso mantenerla. In ogni caso è possibile disabilitarle, come detto, oppure personalizzarle tramite vari parametri.
A completare il corredo hardware troviamo un led di stato (diventa rosso se non riesce a sincronizzare l’immagine), un interruttore per spegnere e accendere il dispositivo, un ingresso per microSD (solo per aggiornare il firmware e caricare profili, non serve sia presente per far funzionare l’OSSC) ed un sensore IR per il supporto al telecomando.
Il telecomando è un accessorio FONDAMENTALE nell’uso dell’OSSC, anche se non obbligatorio.
C’è da dire che il prodotto funziona benissimo come plug&play: attaccate la vostra console preferita, accendete OSSC, impostate un X2/X4 o un X5 se il vostro schermo lo supporta, abilitate o disabilitate le scanline ed il gioco è fatto. Il risultato è già molto buono senza praticamente toccare nulla…ve lo posso assicurare.
Una migliore pulizia grafica, rapporti di dimensione schermo o aggiustamento di fase si ottengono però andando ad impostare le decine di parametri che si possono trovare all’interno dei menù di cui è composto e, per questi, è necessaria la presenza del telecomando. Esiste un telecomando ufficiale, derivato da un modello economico già in commercio al quale viene applicato un adesivo che funge da legenda per i vari tasti, oppure esiste il supporto ai vari Harmony, FLIRC e altri telecomandi universali.
In questi giorni ho scorso un sacco di video, tutorial e documentazione varia e devo dire che le differenze a livello visivo tra una schermata senza modifiche di sorta ed una profilata sono veramente minime; certo, i contorni sono più definiti ed in generale c’è una pulizia grafica migliore, ma il tutto deve essere visto da un occhio esperto. Tutto questo per dirvi di non farvi spaventare dalla natura complicata dell’oggetto, in quanto le impostazioni generiche sono ottime.
Poi se avete tempo e voglia potete raggiungere risultati ancora migliori attraverso tutti i parametri sui quali potete intervenire.
Un consiglio è poi quello di non basarsi più di tanto sui vari settings che si trovano su internet (posso pensare a quelli più famosi di FirebrandX. Il motivo è piuttosto semplice: ogni monitor/schermo fa purtroppo storia a sé. Ci sono ad esempio schermi che supportano moltiplicatori alti (4x o 5x) su console un po’ ostiche per OSSC come SNES, mentre con altri tali modalità non vengono neppure prese in considerazione.
Non è tutto: alcuni settaggi potrebbero anche non far visualizzare alcuna schermata sul vostro monitor, regalandovi una bella schermata nera. Andate quindi cauti con l’uso di questi settaggi, così come vi invito a farvi un bel giro nel forum ufficiale del prodotto in cerca di informazioni sulla compatibilità dei monitor verso la o le console che vi interessano.
Io ho optato per un modello di ViewSonic, VX3276-MHD, che per quanto mi riguarda offre una compatibilità molto buona con quasi tutte le console in mio possesso. È il modello 1080p, non il 2K o 4K. Lo stesso identico discorso lo si può estendere anche a tutti quelli che vorranno trasmettere le loro retrosessioni di gioco usando un dispositivo di acquisizione video: anche in questo caso occhio alla compatibilità sfogliando le pagine del forum ufficiale. Controllate sempre che non siano inoltre presenti aggiornamenti firmware per il vostro dispositivo, magari pensati proprio per migliorare la compatibilità con OSSC.
Mentre le generazioni anni 70/80/mid90 offrivano sostanzialmente risoluzioni abbastanza definite (256 o 320 in orizzontale nella maggior parte dei giochi SNES e MD, sempre con 224 in verticale, con aspect ratio quindi differente), con Saturn e PSX si è iniziato ad offrire risoluzioni differenti in base al contesto all’interno del gioco. Saturn ad esempio aveva 3 risoluzioni usate di frequente (320x224p, 356x224p, 704x448i), mentre la prima Playstation addirittura 4 (320×240, 384×240, 256×240 e 512×240) Succede così che ad esempio alcuni filmati vengano proiettati ad una risoluzione più bassa rispetto alle schermate di gioco che poi possono avere delle metriche ancora diverse rispetto ai menù. Questo comporta una serie di problemi che portano poi OSSC a doversi riadattare e lo fa mettendoci qualche frazione di secondo: risultato è una schermata nera che dura appunto il tempo necessario per restituire di nuovo l’immagine elaborata correttamente, al quale però si aggiunge il tempo che impiega il vostro monitor per tornare a gestirle.
Curva di apprendimento abbastanza ostica, compatibilità con monitor/schermi e gestione di risoluzioni differenti all’interno dei giochi sono gli unici 3 “difetti” che ho trovato durante il mio utilizzo di OSSC.
Ci sono però in commercio soluzioni meno complicate nel caso vogliate anche collegare console che escono con S-Video o composito, non supportate da OSSC. Mi riferisco ad esempio a:
- RetroTINK Pro – che permette di collegare console che escono con component, composito e S-Video a tutti gli schermi moderni. Non aggiunge lag, deinterlacciamento o artefatti alle immagini. Come qualità è paragonabile ad un 2x (da cui deriva il nome) di OSSC senza alcuna ottimizzazione, in ogni caso un risultato sicuramente migliore del collegamento diretto alla TV, demandando a lei l’upscaling dell’immagine. Questo prodotto aggiunge poi la possibilità di elaborare l’immagine con alcuni filtri, assieme alle scanline.
- RetroTINK Scart – è praticamente paragonabile al fratello maggiore come qualità complessiva, con la differenza che l’unico input è rappresentato dall’ingresso SCART.
- Koryuu – è un transcoder da collegare all’AV2 di OSSC che accetta segnali composito e S-Video. Consigliato per C64 ed in generale i vecchi retro computer.
Le prime due soluzioni, create da Mike Chi, sono pensate per essere completamente plug&play: collegate la console, collegate il video e siete a posto. Al massimo, come descritto, ci sono filtri o scanline attivabili a piacere. Massima resa, minimo sforzo.
Tornando a OSSC: in quanto prodotto completamente opensource, questo viene prodotto e venduto da diversi marchi, ciascuno dei quali ha dei pro e contro in termine di qualità di componentistica usata, materiali etc. L’unica cosa che vi consiglio, se avete a cuore il progetto, è quello di acquistarlo da VideoGamePerfection.com per due ragioni: è un sito affidabile ed è coinvolto direttamente nel progetto. Ogni vendita infatti genera una percentuale che viene girata al padre di OSSC, al secolo il finlandese Markus Hiienkari (Marqs), contribuendone quindi al suo sviluppo. Il negozio ospita inoltre la community ufficiale di OSSC. Già annunciata ad inizio anno una evoluzione chiamata OSSC Pro, la cui data di uscita non è stata ancora resa nota ma su cui c’è molta curiosità. Sogno mio e di molti è vedere un prodotto che si auto adatta al segnale video che gli viene fornito, adattandolo nel migliore dei modi all’output scelto. Vi terremo informati!
Link utili: