Pubblicata la prima versione stabile di 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.
Una delle novità principali vede l’arrivo di SameBoy per watchOS, che permette di trasferire ROM e salvataggi tra dispositivi iOS. Include anche due schemi di controllo personalizzabili, oltre al supporto per il Fast Forward e il Rewind.
L’interfaccia Cocoa è stata firmata digitalmente e ora supporta la sincronizzazione dei salvataggi su iCloud, ma solo nella versione disponibile sull’App Store.
Inoltre, è stato aggiunto il supporto per il Game Boy Printer nell’interfaccia iOS e un editor di palette, che consente di importare, esportare e creare nuove palette. Sono state introdotte anche nuove palette su tutte le piattaforme, migliorando l’esperienza visiva.
In termini di qualità audio, l’emulatore ha sostituito il precedente filtro audio a campionamento con una sintesi limitata in banda, che migliora notevolmente la qualità del suono su tutte le versioni.
Migliorato anche il supporto per la personalizzazione delle icone delle ROM nell’interfaccia SDL per Windows. Inoltre, l’emulazione ha ricevuto numerosi miglioramenti, come una maggiore precisione nei tempi OAM e nelle tempistiche del PPU per le revisioni CGB da 0 a C.
Sono stati corretti i conflitti di scrittura SCX e migliorato il supporto per alcuni giochi.
Per quanto riguarda i bug fix, sono stati risolti problemi relativi all’audio troppo basso nell’interfaccia iOS e un crash che si verificava quando le ROM venivano modificate nell’app Files mentre l’interfaccia iOS era aperta.
Altri miglioramenti includono il supporto per l’audio a 2 MHz senza downsampling e la transizione a librerie dinamiche, che ora sono supportate anche su Windows.
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
- SameBoy per watchOS ora è disponibile:
- Trasferisci ROM e salvataggi da e verso l’interfaccia iOS (solo App Store).
- Due schemi di controllo personalizzabili ottimizzati per uno schermo piccolo.
- Supporto per avanzamento rapido e riavvolgimento.
- Impostazioni e sincronizzazione dall’iPhone associato.
- Disponibile per i sostenitori attivi o tramite pagamento una tantum.
- Il frontend Cocoa ora è firmato digitalmente e autenticato.
- SameBoy sulla piattaforma Open Desktop ora può generare miniature nei browser di file tramite l’API XDG Thumbnails.
- Migliorato il supporto per AirPlay Mirroring nell’interfaccia iOS.
- La modalità a schermo intero ora è supportata nell’interfaccia iOS se viene utilizzato un controller.
- I frontend Cocoa e SDL ora supportano la selezione automatica del modello.
- La ricerca dei trucchi ora è disponibile dal menu Trucchi nell’interfaccia di Cocoa.
- L’interfaccia utente per la finestra Cheats è stata migliorata nel frontend Cocoa.
- I frontend Cocoa e SDL ora possono associare i pulsanti della tastiera o del joypad con Rapid A o Rapid B.
- La stampante Game Boy ora può essere emulata nell’interfaccia iOS.
- I trucchi ora possono essere utilizzati nell’interfaccia utente di iOS.
- Il supporto iCloud è stato aggiunto al frontend iOS (solo versione App Store).
- L’editor di palette è stato aggiunto al frontend iOS; ora può importare, esportare e creare le proprie palette.
- Sono state aggiunte 7 nuove palette a tutti i frontend.
- Migliorato il layout orizzontale sugli iPhone dotati di notch.
- Sono stati aggiunti 3 nuovi temi di interfaccia al frontend iOS (solo versione App Store).
- Migliorata la compatibilità dei file ISX.
- Il frontend Cocoa ora seleziona un font monospace da utilizzare nel debugger e in altre finestre di sviluppo.
- Le icone delle cartucce sono state ritoccate e migliorate visivamente.
- L’interfaccia SDL su Windows ora può associarsi ai file ROM supportati e fornire loro icone.
- Il filtro box utilizzato per il downsampling audio è stato sostituito con una sintesi a banda limitata, migliorando notevolmente la qualità audio in tutti i frontend.
- Ora viene visualizzato un avviso quando si carica una ROM con una dimensione RAM inferiore a una singola banca.
- Gli iPhone dotati di fotocamere x4 e x5 ora possono scegliere un fattore di zoom virtuale x2 quando emulano una fotocamera Game Boy.
- Migliorato il visualizzatore OAM nel frontend Cocoa in modo che mostri correttamente gli oggetti anche quando la tavolozza degli oggetti è impostata su un singolo colore.
- Quick Look è stato aggiornato per supportare le API di anteprima e creazione di miniature più recenti, richieste da macOS Sequoia.
Miglioramenti/correzioni della precisione
- Miglioramenti alle tempistiche di accessibilità OAM.
- Miglioramenti alle temporizzazioni delle PPU nelle revisioni CGB da 0 a C.
- Queste revisioni non sono più contrassegnate come “sperimentali”.
- Emulazione più accurata dei conflitti di scrittura SCX su tutti i modelli.
- Tempi di recupero PPU più accurati, correzioni di problemi visivi in ”Mr. Chin’s Gourmet Paradise” e “Turrican”.
- Migliorata la precisione dei casi in cui WX è 166 sui modelli pre-CGB.
- Maggiore accuratezza dei casi di bordo finestra, inclusa l’emulazione di un glitch della finestra CGB appena scoperto, e maggiore accuratezza nella modalità a doppia velocità.
- Migliorata la precisione dei casi limite LYC durante l’emulazione delle revisioni CGB da 0 a C in modalità doppia velocità.
- Emulazione migliorata dei conflitti di scrittura LCDC OBJ_EN.
Correzioni
- Corretto un bug che causava la visualizzazione errata della voce di menu Disattiva audio quando una ROM era in pausa nell’interfaccia Cocoa.
- Corretto un bug che faceva sì che le scorciatoie da tastiera influenzassero la ROM sbagliata in alcuni casi in cui erano aperte più ROM e finestre di debug nell’interfaccia di Cocoa.
- Corretto un bug che impediva a macOS 10.13 e versioni precedenti di utilizzare l’emulazione Link Cable nel frontend Cocoa.
- Corretto un bug che rendeva problematico l’importazione delle palette nel frontend di Cocoa.
- Corretto un bug che a volte faceva sì che l’emulazione della Game Boy Camera nell’interfaccia Cocoa allungasse in modo errato l’input della telecamera a proporzioni errate.
- Corretto un bug che rendeva l’uscita audio troppo bassa nell’interfaccia iOS in determinate condizioni.
- Corretto un bug che causava l’arresto anomalo della Libreria nell’interfaccia iOS se le ROM venivano modificate nell’app File mentre era aperta.
Varie modifiche interne
- Il core ora supporta l’uscita audio a 2 MHz (senza downsampling).
- Il plugin Quick Look e l’applicazione principale ora condividono lo stesso codice su disco, rendendo il frontend Cocoa leggermente più piccolo.
- Corretto un bug che causava la restituzione di valori di successo da parte di alcune API nonostante il fallimento.
- Miglioramento delle asserzioni di sicurezza del thread e del contesto nel core.
make lib
ora crea SameBoy come una libreria dinamica, oltre alla libreria statica precedentemente disponibile.- Ciò include il supporto di Windows, che rimane non supportato per le librerie statiche.
- Miglioramenti alle API principali. L’API ora è stabile e documentata.
Download: Sameboy v1.0 [cocoa]
Download: Sameboy v1.0 [iOS ipa] [iOS deb]
Download: Sameboy v1.0 [WinSDL]
Download: Source code Sameboy v1.0
Fonte: sameboy.github.io