Home Emulatori Rilasciato emulatore SameBoy v1.0.2: Miglioramenti audio, nuove funzioni di debug e ottimizzazioni...

Rilasciato emulatore SameBoy v1.0.2: Miglioramenti audio, nuove funzioni di debug e ottimizzazioni su tutte le piattaforme

135
0

Pubblicato un importante aggiornamento per SameBoy, uno degli emulatori più accurati del Game Boy e Game Boy Color, disponibile per PC Windows, macOS e iOS.

Apprezzato non solo per la sua fedeltà nell’emulazione, ma anche per le avanzate funzionalità di debug, SameBoy continua a evolversi mantenendo compatibilità con gli stati di salvataggio creati a partire dalla versione 0.14.3 e con quelli conformi allo standard BESS.

Questa versione introduce un nuovo comando nel debugger per visualizzare il tempo di utilizzo della CPU al di fuori delle modalità halt/stop, oltre a un grafico di utilizzo della CPU nella finestra di debug del frontend Cocoa.

Migliorata inoltre la modalità turbo, che ora offre una gestione più fluida dello skipping dei frame e una limitazione configurabile della velocità su tutti i front-end, sostituendo le precedenti opzioni di overclock su iOS. Anche il supporto audio è stato notevolmente perfezionato, eliminando le distorsioni nelle alte frequenze.

Sono stati introdotti miglioramenti grafici e funzionali per i front-end Cocoa e iOS, con aggiornamenti specifici per macOS e iOS 26, incluse nuove icone e compatibilità con la barra dei menu di iPadOS 26.

Il front-end iOS ora permette di configurare i pulsanti e rapidi sui controller, avvisa l’utente in caso di problemi con il salvataggio automatico e chiede conferma prima di resettare una ROM.

Numerosi bug sono stati risolti: tra questi, problemi legati ai codici GameShark, alla ricerca dei cheat, al Game Boy Printer, alla gestione delle immagini e dei salvataggi, alla compatibilità con i file GBS e al comportamento dell’interfaccia grafica su vari sistemi.

Mgliorata anche la stabilità su iOS, correggendo casi in cui l’emulazione si fermava o si resettava spontaneamente.

A livello tecnico, è stato introdotto il supporto alla compilazione ANSI C/C++, migliorata la compatibilità con OpenBSD e modificato il processo di build per Windows, che ora richiede Git Bash e Make anziché il pacchetto GNUWin.

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

  • Nuovo comando usage del debugger per visualizzare il tempo di attività della CPU del Game Boy al di fuori delle modalità di arresto o sospensione.
  • La finestra del debugger nel frontend Cocoa ora include un grafico sull’utilizzo della CPU.
  • Il comando print/eval del debugger non aggiunge più zeri iniziali per impostazione predefinita.
  • Il frontend Cocoa include ora un’opzione per forzare un fattore di scala intero con bordi neri, simile al frontend SDL.
  • Il frontend iOS ora consente di configurare i pulsanti rapidi e su un controller.
  • Il frontend SDL supporta ora due modalità opzionali di sincronizzazione verticale (V-sync).
  • I frontend Cocoa e iOS sono stati aggiornati con miglioramenti dell’interfaccia grafica e dell’esperienza utente per macOS e iOS 26.
    • Sono state aggiunte nuove icone per questi sistemi operativi, incluso watchOS 26.
  • Sono stati apportati piccoli miglioramenti grafici anche per le versioni precedenti di macOS e iOS.
  • SameBoy ora supporta la nuova barra dei menu introdotta in iPadOS 26
  • Migliorato lo skipping dei frame durante la modalità turbo.
  • La modalità turbo ora può avere un limite di velocità configurabile su tutti i frontend.
    • Nel frontend iOS, questa nuova impostazione sostituisce le precedenti opzioni basate su overclock al 200% e 400%.
  • Notevoli miglioramenti alla qualità audio, con l’eliminazione dell’aliasing nella riproduzione di toni ad alta frequenza.
  • Il frontend iOS ora avviserà l’utente se non è possibile creare salvataggi automatici (ad esempio per mancanza di spazio).
  • Il frontend iOS chiederà ora una conferma prima di resettare una ROM.

Miglioramenti/correzioni della precisione

  • Corretto un errore di accuratezza in cui il bias del canale veniva applicato a un canale scollegato durante il missaggio audio nell’emulazione del Game Boy Advance.

Correzioni

  • Corretto un bug che causava l’importazione errata di alcuni codici GameShark.
  • Premere il pulsante Zoom con il tasto alt/option premuto ridimensiona ora la finestra al prossimo fattore intero anche sulle versioni più recenti di macOS.
  • La vista laterale del debugger nella versione Cocoa non scorre più automaticamente in fondo con output lunghi.
  • Corretto un bug che causava il crash della ricerca trucchi quando utilizzata su una ROM priva di RAM cartuccia.
  • Risolto un problema che impediva alla Game Boy Printer di salvare le immagini stampate nella libreria foto di iOS.
  • Corretto un bug che faceva visualizzare alcuni indirizzi in modo errato nel visualizzatore di memoria del frontend Cocoa.
  • Risolto un bug che faceva suonare il jingle della boot ROM al caricamento di file GBS invece di avviare il primo brano.
  • Corretto un bug che faceva rimanere aperta la finestra di ricerca trucchi anche dopo la chiusura della ROM.
  • Risolto un problema su iOS per cui le ROM importate venivano copiate anziché spostate, e viceversa.
  • Corretto un bug che impediva al visualizzatore VRAM di Cocoa di mostrare lo scrolling su alcune versioni di macOS.
  • Risolto un problema per cui l’emulazione non riprendeva automaticamente dopo aver raggiunto la fine del buffer di riavvolgimento su iOS.
  • Corretto un bug che impediva l’auto-aggiornamento del frontend Cocoa se non veniva spostato nella cartella Applicazioni.
  • Il frontend iOS ora gestisce correttamente i casi in cui l’utente tenta di aprire una ROM da una cartella interna di iOS o di SameBoy.
  • Mitigato un raro bug che poteva causare il reset spontaneo della ROM su iOS in seguito a determinate azioni.
  • Corretto un bug nell’API GB_save_state che restituiva successo anche in caso di errore.
  • Risolto un bug che impediva alle versioni binarie del frontend Cocoa di utilizzare la fotocamera del Mac durante l’emulazione della Game Boy Camera.
  • Corretto un problema per cui l’interfaccia ruotava durante l’uso di giochi con controlli basati sul movimento su alcuni dispositivi iOS.

Varie modifiche interne

  • Corretto il processo di compilazione su OpenBSD.
  • Gli header di SameBoy sono ora compatibili con le modalità di compilazione ANSI C e C++.
  • I flag DISABLE_* possono ora essere utilizzati durante la compilazione di sottoinsiemi del target lib, così come del nuovo target headers.
  • Il processo di compilazione per Windows è stato modificato e ora richiede Git Bash e Make invece del pacchetto GNUWin.

Download: Sameboy v1.0.2 [cocoa]

Download: Sameboy v1.0.2 [iOS ipa] [iOS deb]

Download: Sameboy v1.0.2 [WinSDL] [.js]

Download: Source code Sameboy v1.0.2

Fonte: sameboy.github.io