Disponibile un nuovo aggiornamento per Bsnes-mt, versione modificata dell’emulatore Bsnes volta a migliorare ulteriormente l’emulazione della console di gioco SNES (Super Nintendo) a 16 bit.
L’emulatore ha guadagnato le traduzioni in più lingue disponibili come semplici file di testo, incorpora anche tasti di scelta rapida, supporto PAR 8:7 e una prima traduzione parziale in italiano.
Miglioramenti rispetto a bsnes
- Perfetto ridimensionamento del rapporto intero per pixel sia in verticale che in orizzontale.
- Proporzioni corrette in 4:3 anziché 64:49 con correzione abilitata, nelle modalità “Center” e “Scale”.
- Salvataggio di schermate nel formato PNG compresso anziché BMP non compresso.
- I driver non vengono ripristinati dopo gli arresti anomali, viene fornita un’opzione della riga di comando per il ripristino esplicito.
- Impostazioni predefinite migliorate: VSync, modalità esclusiva a schermo intero, sfocatura disabilitata.
- Usabilità migliorata, correzioni di bug e quant’altro.
Ridimensionamento pixel-perfect integer-ratio su entrambi gli assi
La nuova modalità “Pixel-Perfect” (presente in “Settings” → “Output” → “Pixel-Perfect”) esegue il ridimensionamento del rapporto intero sia in verticale che in orizzontale, anche con le proporzioni abilitate.
Grazie a questa nuova modalità, tutti i pixel presenteranno esattamente le stesse dimensioni, e senza il fastidioso scintillio dei pixel. La modalità “Pixel-Perfect” è abilitata in bsnes-mt per impostazione predefinita.
Con la correzione aspect-ratio abilitata, le proporzioni effettive potrebbero essere diverse da 4:3. Le proporzioni più precise e il massimo utilizzo dello spazio sullo schermo possono essere raggiunti da un monitor con risoluzione QHD (2560×1440) e 4K (3840×2160).
Sui monitor con risoluzione QHD e 4K, viene utilizzato il 93% dell’altezza dello schermo. Le proporzioni su di un monitor QHD sono perfette e l’errore di proporzioni su di un monitor 4K èsi aggira intorno al 5%, quasi impercettibile.
I meno adatti per il ridimensionamento intero dei giochi SNES sono i display Full HD (1920×1080), questo perché viene utilizzato solo l’83% dell’altezza dello schermo e l’errore delle proporzioni è superiore al 7% che è visivamente evidente.
La versione originale dell’emulatore bsnes in “Center” con la correzione aspect-ratio abilitata, utilizza il ridimensionamento integer-ratio verticale, ma il rapporto di ridimensionamento orizzontale è tipicamente frazionario nel tentativo di ottenere un rapporto d’aspetto preciso.
Ma a rapporti di ridimensionamento frazionario, l’algoritmo di ridimensionamento “Neighbour Neighbor” utilizzato quando la sfocatura è disabilitata determina che i pixel sulla stessa linea hanno larghezze diverse che si traducono nell’effetto noto come pixel shimmering (effetto ripple o jitter), quando oggetti in-game si muovono in senso orizzontale.
Proporzioni corrette nelle modalità “Center” e “Scale”
- Proporzioni corrette di 4:3 con la correzione aspect-ratio abilitata (“Settings” → “Output” → “Aspect-Ratio Correction”) nelle modalità “Center” e “Scale”. Bsnes originale utilizza le proporzioni errate di 64:49 (8:7 al quadrato), perché calcola la larghezza dell’immagine moltiplicando la larghezza originale per le proporzioni originali di 8:7 (256:224), che si traduce in un formato di circa 1.3 anziché 1.333.
- Un algoritmo più preciso di correzione delle proporzioni nelle modalità “Center” e “Scale”, che utilizza l’arrotondamento della larghezza dell’immagine ridimensionata. La versione originale dell’emulatore bsnes calcola una larghezza corretta prima di calcolare la dimensione in scala e non arrotonda il valore risultante, ma scarta la parte frazionaria, risultando in un errore maggiore rispetto all’arrotondamento e cresce proporzionalmente con il rapporto di ridimensionamento.
Schermate: PNG, creazione automatica delle cartelle, denominazione basata sulla data
- Le schermate vengono salvate nel formato PNG con compressione senza perdita. Grazie a questo, gli screenshot presentano una dimensione maggiore rispetto al formato BMP non compresso utilizzato nella versione originale di bsnes. Gli screenshot nella risoluzione 256×224 tipica per SNES, nel formato BMP ha dimensioni fisse di 168 KB. Le dimensioni degli screenshot nel formato PNG dipendono dalla complessità dell’immagine specifica, la differenza di dimensioni rispetto a BMP può raggiungere decine o centinaia di volte. Ad esempio, uno screenshot PNG dello schermo con il logo del gioco “The Legend of Zelda” pesa 10 KB – 17 volte in meno rispetto allo stesso screenshot nel formato BMP.
- La cartella degli screenshot specificata nelle impostazioni dell’emulatore (“Settings” → “Paths” → “Screenshots”) viene creata automaticamente se non esiste. La versione originale dell’emulatore bsnes in tal caso non salva uno screenshot. La creazione automatica di cartelle è utile, ad esempio, se la cartella si trova su di un’unità virtuale della RAM che con il suo contenuto viene cancellato ad ogni riavvio del computer. La maggior parte degli screenshot sono soggetti all’eliminazione, quindi ha senso archiviarli temporaneamente su di un’unità RAM.
- Le schermate vengono salvate in una sottocartella che ha un nome uguale a quello della ROM del gioco. La versione originale dell’emulatore bsnes include il nome della ROM nel nome del file di ogni schermata.
- Un approccio universale viene utilizzato per la denominazione degli screenshot, senza limitazioni per quanto riguarda il loro numero massimo. I file vengono denominati in base alla data e all’ora di acquisizione dello screenshot. Se il file esiste, viene aggiunto un numero di tre cifre di millisecondi alla fine del nome del nuovo file. Se esiste anche tale file, verrà aggiunto un indice numerico, a partire da 2 con incremento illimitato. Ad esempio, se il nome del file predefinito sarebbe
2020-04-15 10-15-42.png
, quindi se tale file esiste, il nuovo nome file sarà2020-04-15 10-15-42-123.png
. Se esiste anche tale file, il nome del file sarà2020-04-15 10-15-42-123-2.png
. Bsnes originale nomina uno screenshot con un indice di 3 cifre limitato all’intervallo 1–1000 e una volta raggiunto il limite superiore di quell’intervallo, un file con lo stesso nome000.bmp
viene sovrascritto per sempre, sostituendo ogni volta lo screenshot precedente.
I driver non vengono ripristinati dopo gli arresti anomali
- I backend (driver) ora non vengono ripristinati dopo un arresto anomalo, gli arresti anomali non vengono rilevati e il file delle impostazioni non viene sovrascritto due volte in più ad ogni avvio dell’emulatore allo scopo di monitorare gli arresti anomali. Un problema con un driver precedentemente selezionato non è l’unica possibile causa di un arresto, pertanto il ripristino del driver dopo ogni arresto è ridondante e inutilizzabile.
- Aggiunta l’opzione da riga di comando
--resetdrivers
per il ripristino esplicito dei driver quando necessario. Quando si avvia l’app con questa opzione, i driver vengono ripristinati e la finestra delle impostazioni viene aperta immediatamente.
Elenco di giochi recenti e stati di salvataggio
- Il numero massimo di elementi nell’elenco delle partite recenti (“System” → “Load Recent Game”) e degli stati di salvataggio (“Tools” → “Save State” / “Load State”) viene aumentato da 9 a 25.
- Migliorato l’elenco dei giochi recenti (“System” → “Load Recent Game”):
- Gli slot vuoti ora non vengono visualizzati;
- L’elemento per cancellare l’elenco e il separatore prima che vengano visualizzati solo se ci sono giochi recenti nell’elenco;
- Se non ci sono giochi recenti, viene visualizzato solo un elemento, che dice: “(No recent games)”.
Impostazioni predefinite
Impostazioni predefinite modificate:
- Per disabilitare l’effetto blur (“Settings” → “Shader” → “None” invece di “Blur”), inappropriata in combinazione con il ridimensionamento pixel-perfect;
- Abilitazione della sincronizzazione verticale (VSync) (“Settings” → “Driver” → “Video” → “Synchronize”) che serve a prevenire lo strappo dello schermo;
- Abilitata la modalità esclusiva a schermo intero (“Impostazioni” → “Driver” → “Video” → “Exclusive mode”) diminuendo il ritardo di input;
- Abilitato l’utilizzo delle finestre di dialogo dei file nativi di Windows (“Settings” → “Emulator” → “Options” → “Use native file dialogs”) anziché le implementazioni personalizzate integrate nell’app. Le implementazioni personalizzate funzionano molto più lentamente e inoltre non supportano la navigazione in avanti/indietro con ulteriori pulsanti laterali del mouse.
Varie
- all’inglese predefinito e al giapponese parziale, l’interfaccia utente viene tradotta quasi completamente in russo. Per impostazione predefinita, la lingua viene scelta automaticamente in base alla lingua del sistema operativo, è possibile forzare una lingua specifica tramite l’opzione della riga di comando
--locale
. Sono riconosciuti tre codici di lingua:ru
(Russian),jp
(Giapponese),en
(Inglese). Per esempio,--locale=en
enables abilita la lingua inglese anche quando si esegue su Windows la lingua russa. - Le voci per l’apertura/chiusura dei giochi e la chiusura dell’applicazione vengono spostate dal menu “System” al nuovo menu “File”.
- Aggiunta una soluzione alternativa per un bug in bsnes che rendeva invisibile la finestra dell’app se lo zoom a livello di sistema operativo era stato modificato e non era stato riavviato prima di avviare l’app.
- Le dimensioni della finestra ora non vengono ripristinate quando si seleziona (deseleziona) le caselle di controllo “Aspect-Ratio Correction”, “Show Overscan Area”, “Show Status Bar” nel menu “Settings”. Il ripristino delle dimensioni della finestra quando si eseguono queste azioni non ha senso.
- Aggiunta la voce “Open Settings Folder” nel menu “Settings”, che apre la cartella che contiene il file delle impostazioni dell’app che può essere archiviato in una delle tre posizioni, due delle quali sono difficili da trovare manualmente. Ciò consente di creare facilmente un backup del file delle impostazioni o di eliminarlo, se necessario (ad esempio quando si verifica un’anomalia nel funzionamento dell’app).
- La voce “Aspect Correction” nel menu “Settings” → “Output” viene rinominata in “Aspect-Ratio Correction” (dopo “-Ratio” viene aggiunto “Aspect”). “Aspect Ratio” e “Aspect” non sono sinonimi.
- Lo sfondo del logo SameBoy nella finestra “About SameBoy” è stato reso trasparente; il file del logo è ora 4 volte più piccolo.
- Rimosso lo spazio non necessario prima dei puntini di sospensione nelle voci di menu.
- Alcune stringhe lunghe nei messaggi popup sono divise in due righe per impedirne il ritaglio durante la visualizzazione.
- Alcuni codici specifici del compilatore vengono sostituiti con codici standard portatili:
- Nel metodo
Emulator::Audio::process()
(il filebsnes/emulator/audio/audio.cpp
); - Nella funzione
nall::chrono::nanosecond()
(il filenall/chrono.hpp
); - Il type
ssize_t
è stato sostituito daintmax_t
.
- Nel metodo
- Le impostazioni di bsnes-mt vengono memorizzate nel proprio file indipendentemente dalla normale versione di bsnes.
Changelog v1.3.1
- Correzione: Bsnes-mt non funzionava su alcuni sistemi a causa di un flag di compilazione ereditato dalla versione originale dell’emulatore bsnes. (Grazie
Philip P.
per il feedback e i test). - Disabilitata per impostazione predefinita la modalità esclusiva a schermo intero poiché VSync non funziona in modalità esclusiva.
Changelog v1.3
- La traduzione ora può essere eseguita modificando dei semplici file di testo esterni. Contribuire è sempre più facile.
- Aggiunta una prima traduzione parziale by theheroGAC.
- Supporto pixel-aspect ratio (PAR) 8:7 opzionali invece di proporzioni immagine a 4:3.
- Integrati altri tasti di scelta rapida:
F9
ePrintScreen
per acquisire uno screenshot;F11
per attivare/disattivare la modalità a schermo intero;Escape
per uscire dalla modalità a schermo intero o pseudo-schermo intero;Ctrl+W
eCtrl+F4
per chiudere il gioco;F5
per ripristinare la console virtuale;Pause/Break
per sospendere l’emulazione.
- Aggiunta una sezione nelle impostazioni, per la gestione dei tasti di scelta rapida.
- Aggiunta conferma prima di cancellare l’elenco dei giochi recenti.
- Le informazioni di ridimensionamento ora vengono visualizzate solo quando vengono modificate, per evitare di influire sulle prestazioni.
- Aggiunto il titolo della sezione delle impostazioni nella barra del titolo della finestra delle impostazioni.
- Corretto: L’impostazione di overscan veniva ignorata nella modalità “Center” con la correzione AR abilitata.
Download: Bsnes-mt v1.3.1
Download: Source code bsnes-mt v1.3.1
Fonte: tanalin.com