Pubblicato un nuovo aggiornamento per SameBoy, l’emulatore del Game Boy e Game Boy Color per PC Windows, macOS e iOS appare estremamente preciso includendo anche una vasta gamma di potenti funzionalità di debug.
Questa nuova versione introduce numerose migliorie sia in termini di prestazioni che di funzionalità, mantenendo la compatibilità con i salvataggi di stato creati da SameBoy 0.14.3 in poi e da qualunque emulatore conforme allo standard BESS.
Sono stati apportati miglioramenti all’interfaccia grafica, in particolare all’editor di palette nella versione Cocoa.
Migliorata inoltre la qualità audio nel core libretro dove ora l’emulazione audio viene eseguita da SameBoy a 2MHz, mentre il downsampling viene gestito direttamente dal frontend libretro.
Sulla versione Wii U, il downsampling continua invece a essere effettuato da SameBoy. Un’importante novità riguarda il debugger, dove il registro $FF75
, ora correttamente identificato come rPGB, è stato aggiornato.
Inoltre, il comando debugger per i watchpoint ora mostra il tipo di accesso monitorato (lettura, scrittura, o entrambi), rendendo più trasparente il comportamento predefinito.
Gli utenti Windows 11 ora possono disattivare opzionalmente gli angoli arrotondati delle finestre dalle opzioni grafiche. Le build ufficiali per Windows non richiedono più l’installazione dei runtime MSVC, grazie al collegamento diretto con la libreria mvscrt.dll
.
Anche l’ambiente SDL ha ricevuto importanti migliorie per il debugging: la finestra dell’emulatore non si blocca più quando il debugger è attivo, e la pressione dei tasti in pausa ora emette un segnale acustico.
Le versioni sameboy.exe
e sameboy_debugger.exe
sono state unite in un singolo eseguibile, permettendo l’interruzione del gioco tramite Ctrl+C e la ripresa semplicemente chiudendo la console di debug.
Inoltre, il debugging asincrono ora è compatibile con tutte le versioni principali di Windows, incluse 7, 8.x e le versioni iniziali di Windows 10.
Un’altra novità riguarda i controller esterni: I joystick ora possono essere utilizzati per simulare input analogici, alternando rapidamente gli stati dei pulsanti del D-pad.
La finestra dell’interfaccia SDL ora si adatta automaticamente quando si cambia modello emulato o modalità di bordo, purché non sia stata ridimensionata manualmente.
Rimossa inoltre una vecchia soluzione temporanea per un bug di RetroArch, portando a un volume audio più alto nella versione Wii U. Inoltre, in modalità Link Cable sulla build libretro, ora è possibile attivare l’audio su entrambe le console emulate.
Sul fronte dell’accuratezza, la randomizzazione dell’OAM è stata resa più fedele, e sono stati corretti problemi su piattaforme big endian che causavano grafica corrotta nei giochi Super Game Boy.
Miglioramenti anche nell’emulazione delle cartucce MBC7 e nella resa sonora, con un incremento del numero di fasi a banda limitata per ridurre le armoniche indesiderate nei suoni acuti.
Diversi bug sono stati risolti: Le nuove palette ora compaiono correttamente nell’interfaccia Cocoa anche in presenza di personalizzazioni precedenti, mentre il tema “Pink Pop” non si modifica più automaticamente all’apertura.
Sono stati corretti difetti nell’interfaccia iOS su alcuni iPad, errori nel ripristino dell’emulazione nella versione SDL, e problemi nel cambio di modello emulato.
I caratteri Unicode sono stati rimossi dalle impostazioni libretro per migliorare la compatibilità con i frontend. Anche diversi crash su iOS e watchOS sono stati eliminati.
Infine, l’integrazione con Homebrew Hub è stata rimossa nella versione iOS. A livello interno, il thumbnailer OpenDesktop ora viene rimosso automaticamente nelle build di rilascio.
Le release ufficiali di SameBoy ora vengono compilate con l’ultima versione di Clang, ottenendo un miglioramento delle prestazioni di circa l’8%. Inoltre, le routine di sintesi FM utilizzate per il jingle del SGB sono state ottimizzate per una maggiore velocità.
Caratteristiche
Caratteristiche comuni alle versioni Cocoa e SDL:
- Supporta l’emulazione Game Boy (DMG) e Game Boy Color (CGB).
- Consente di scegliere il modello che si intende emulare indipendentemente dalla ROM.
- Audio di alta qualità a 96 KHz.
- Supporto per il risparmio della batteria.
- Supporto per stati di salvataggio.
- Include ROM di avvio DMG e CGB open source:
- Supporto completo per (e documentazione di) tutte le palette specifiche del gioco nella ROM di avvio CGB, per un’emulazione accurata dei giochi Game Boy su un Game Boy Color.
- Supporta la selezione manuale della tavolozza con combinazioni di tasti, con 4 nuove tavolozze aggiuntive (direzione A + B +).
- Supporta la selezione della tavolozza in un gioco CGB, forzandone l’esecuzione in modalità DMG “tavolozzata”, se la ROM lo consente.
- Supporto per i giochi con un logo non Nintendo nell’intestazione.
- Nessuna lunga animazione nell’avvio DMG.
- Debugger avanzato basato su testo con un valutatore di espressioni, disassembler, punti di interruzione condizionali, punti di controllo condizionali, backtracing e altre funzionalità.
- Precisione estremamente elevata.
- Emula i registri PCM_12 e PCM_34.
- Emulazione accurata T-cycle degli effetti di temporizzazione LCD, supportando il trucco Demotronic, Prehistorik Man, GBVideoPlayer e altre demo tecnologiche.
- Emulazione dell’orologio in tempo reale.
- Supporto per display Retina/High DPI, che consente una gamma più ampia di fattori di scala senza artefatti.
- Fusione di fotogrammi opzionale (richiede OpenGL 3.2 o versione successiva).
- Diversi algoritmi di ridimensionamento (inclusi algoritmi esclusivi come OmniScale e Anti-aliased Scale2x; richiede OpenGL 3.2 o successivo o Metal).
Funzionalità attualmente supportate solo dalla versione Cocoa:
- Interfaccia nativa Cocoa, con supporto per tutte le funzionalità del sistema, come il trascinamento della selezione e le barre del titolo intelligenti.
- Supporto per Game Boy Camera.
Precisione
- Precisione estremamente elevata.
- Supera tutti i test di accettazione di mooneye-gb, inclusi i test di Wilbert Pol.
- Supera tutte le ROM di test di Blargg.
- Emula i registri PCM_12 e PCM_34.
- Emulazione accurata del T-cycle degli effetti di temporizzazione LCD, a supporto del trucco Demotronic, Prehistorik Man, GBVideoPlayer e altre demo tecnologiche.
- Testato regolarmente contro una suite di oltre 2900 giochi tramite test automatici, con un tasso di successo di oltre il 99% su entrambi i giochi DMG e CGB.
- Blending frame opzionale.
- Emulazione del suono sample-accurate, sottocampionata da 2MHz.
Interfaccia utente
- Supporto per display Retina e DPI alti, che consente una gamma più ampia di fattori di ridimensionamento senza artefatti.
- Diversi algoritmi di ridimensionamento (inclusi algoritmi esclusivi come OmniScale) e filtri.
- Gli algoritmi OmniScale ti consentono di giocare con risoluzioni 1080p, 4K e 5K!
- Controlli personalizzabili.
- Supporto per Joypad.
- Supporto a schermo intero, mantenendo opzionalmente le proporzioni.
Queste funzionalità sono attualmente esclusive della porta macOS Cocoa.
- Interfaccia nativa Cocoa, con supporto per tutte le funzionalità di tutto il sistema, come il drag-and-drop e le barre dei titoli intelligenti.
- Integrazione Quick Look; gli screenshot di gioco compaiono nelle icone del Finder delle ROM di Game Boy.
- Utilizzare il pulsante Zoom per ridimensionare al rapporto intero successivo.
Debug
- Debugger avanzato basato su testo (ulteriori informazioni).
- Controllo del flusso tradizionale step/next/continue/finish.
- Valutatore di espressioni con supporto di assegnazione, accesso al registro e alla memoria e supporto per simboli.
- Disassemblatore con supporto per simboli.
- Punti di interruzione multipli condizionali, compresi i punti di interruzione jump-to.
- Punti di controllo multipli condizionali
- Call stack tracing.
- Tick counting
- Informazioni su cartuccia e MBC.
- Informazioni precise su APU e PPU.
- Visualizzatore ed editor di memoria.
- Visualizzatore RAM video.
Changelog
Questa versione è retrocompatibile con i salvataggi di SameBoy versione 0.14.3 e successive, nonché con i salvataggi di qualsiasi emulatore conforme al BESS.
Nuove funzionalità/miglioramenti
- Miglioramenti all’interfaccia dell’editor di palette nella versione Cocoa.
- Migliorata la qualità audio nel core libretro: L’audio ora viene generato da SameBoy a 2MHz, mentre il downsampling è gestito direttamente dal frontend libretro.
- Nella versione per Wii U, il downsampling continua a essere effettuato da SameBoy.
- Scoperto il significato del registro $
FF75
, ora identificato come rPGB nel debugger. - L’output del comando
watchpoint
nel debugger ora mostra anche il tipo di watchpoint (sola lettura, sola scrittura o lettura/scrittura).- Questo cambiamento rende più chiaro che il tipo predefinito è “sola scrittura”.
- Gli utenti di Windows 11 possono ora disattivare opzionalmente gli angoli arrotondati nelle opzioni grafiche.
- Le build ufficiali per Windows non richiedono più l’installazione dei runtime MSVC, grazie al collegamento con
mvscrt.dll
. - Importanti miglioramenti al sistema di debug nel frontend SDL:
- La finestra principale dell’emulatore non risulta più bloccata quando il debugger è attivo.
- Premere tasti nella finestra dell’emulatore mentre il debugger è in pausa ora emette un segnale acustico.
- Su Windows, i file
sameboy.exe
esameboy_debugger.exe
sono stati unificati, è possibile premere Ctrl+C in qualsiasi momento per interrompere l’emulazione e aprire la console del debugger, che può essere chiusa in qualsiasi momento per riprendere il gioco normalmente. - Il debugging asincrono ora si rende compatibile con tutte le versioni principali di Windows, incluse 7, 8.x e le prime versioni di Windows 10.
- Quando si usa un controller esterno, i joystick ora possono simulare input analogici alternando rapidamente lo stato dei pulsanti direzionali.
- Questa funzione alterna rapidamente i pulsanti del D-pad tra stati premuti e rilasciati per simulare input analogici.
- Il frontend SDL ora ridimensiona automaticamente la finestra al cambio di modello o modalità bordo, a condizione che la finestra non sia stata ridimensionata manualmente.
- Rimossa una vecchia soluzione temporanea per un bug di RetroArch, rendendo l’audio della versione Wii U del core libretro più forte.
- In modalità Link Cable del core libretro ora è possibile abilitare l’audio su entrambi i Game Boy emulati.
Miglioramenti/correzioni della precisione
- La randomizzazione dell’OAM ora è più accurata.
- Corretto un bug che causava la copia errata di dati durante alcuni trasferimenti SGB su piattaforme big endian.
- Questo intervento risolve i problemi grafici riscontrati in molti giochi SGB su Wii U.
- Corretto un potenziale problema di accuratezza nell’emulazione delle cartucce MBC7.
- Aumentato il numero di fasi a banda limitata per ridurre le armoniche indesiderate nei suoni ad alta frequenza.
Correzioni
- Le nuove palette ora compaiono correttamente nell’interfaccia Cocoa, anche se l’utente ha precedentemente personalizzato le palette.
- Corretto un bug che faceva modificare automaticamente il tema Pink Pop una volta aperto nell’editor di palette, sia nella versione Cocoa che su iOS.
- Risolto un problema che rendeva inutilizzabile il layout verticale su alcuni modelli di iPad.
- Nella versione SDL, il ripristino dell’emulazione mentre l’emulatore è in pausa ora fa riprendere correttamente l’emulazione.
- Sistemato un bug che impediva la chiusura immediata del menu dopo il cambio di modello emulato nel frontend SDL.
- Rimossi i caratteri Unicode dalle impostazioni del core libretro, poiché molti frontend non riescono a visualizzarli correttamente.
- Risolto un bug che causava l’esecuzione delle ROM senza aprire una finestra nell’interfaccia Cocoa dopo aver cambiato la revisione emulata.
- Corretti diversi crash su dispositivi iOS e watchOS.
Funzionalità rimosse
- L’integrazione con l’Homebrew Hub è stata rimossa dall’interfaccia iOS.
Varie modifiche interne
- Il generatore di miniature OpenDesktop ora viene rimosso automaticamente durante la compilazione in modalità release, anziché solo al momento dell’installazione.
- Le versioni ufficiali di SameBoy ora vengono compilate con l’ultima versione di Clang, ottenendo un incremento delle prestazioni di circa l’8%.
- Le routine di sintesi FM utilizzate per la riproduzione del jingle del SGB sono state ottimizzate per una maggiore velocità.
Download: Sameboy v1.0.1 [cocoa]
Download: Sameboy v1.0.1 [iOS ipa] [iOS deb]
Download: Sameboy v1.0.1 [WinSDL]
Download: Source code Sameboy v1.0.1
Fonte: sameboy.github.io