Pubblicato un nuovo aggiornamento per NanoBoyAdvance, un pratico emulatore del Game Boy Advance che mira ad essere il più accurato possibile.
Le sue caratteristiche includono un’alta compatibilità e precisione, un mixer audio di alta qualità, opzioni di post-processing, supporto per il salvataggio dello stato, supporto per controller di gioco, caricamento di ROM da archivi e altro ancora.
Con questo aggiornamento, l’interfaccia grafica ha ricevuto un miglioramento grazie all’introduzione dello shader LCD1x, che contribuisce a riprodurre in modo più fedele l’aspetto visivo dello schermo originale.
Anche il core ARM è stato ampiamente rivisto implementando l’algoritmo per il riporto nella moltiplicazione, corrette inoltre alcune anomalie nella gestione della memoria in modalità utente e gli accessi fuori dai limiti durante il passaggio tra modalità CPU non valide.
Ottimizzate sia le letture dei registri generali che quelle di stato e migliorate le operazioni aritmetiche bitwise come shift logico e rotazioni.
Altri miglioramenti riguardano la gestione della DMA, che ora consente i cicli interni della CPU durante le transizioni con il canale di trasferimento diretto, e il motore grafico PPU, che ora corregge correttamente il contatore Y del mosaico degli sprite, migliorando la resa visiva durante l’animazione.
Caratteristiche
- Elevata compatibilità e precisione (vedere Precisione in basso).
- Mixer audio HQ (per giochi che utilizzano il motore audio MusicPlayer2000 di Nintendo).
- Opzioni di post-elaborazione (correzione del colore, upscaling xBRZ e simulazione di ghosting LCD).
- Supporto per il salvataggio dello stato (disponibili 10 slot di salvataggio).
- Supporto per controller di gioco (i pulsanti e gli assi possono essere rimappati).
- Caricamento di ROM da archivi (supporto per archivi Zip, 7z, Tar e limitato supporto per RAR1).
- Emulazione RTC.
- Emulazione del sensore solare (ad esempio: per Boktai – The Sun is in Your Hand).
- Strumenti di debug: visualizzatori di palette PPU, tile, sfondo e sprite.
Esecuzione
- Scaricare una versione recente in sviluppo o l’ultima versione stabile.
- All’avvio di una ROM per la prima volta verrà chiesto di assegnare il file BIOS del Game Boy Advance, è possibile estrarlo da una console reale (accurato) o utilizzare un BIOS non ufficiale (meno accurato).
Precisione
Sono stati dedicati molti sforzi di ricerca e attenzione ai dettagli nello sviluppo di questo core e nel renderlo accurato.
- Emulazione ciclo-accurata della maggior parte dei componenti, inclusi: CPU, DMA, timer, PPU e prefetch del Game Pak.
- Supera tutti i test di invecchiamento delle cartucce AGS (NBA è stato il primo emulatore pubblico a raggiungere questo obiettivo).
- Supera la maggior parte dei test nella suite di test di mGBA (vedere la comparazione della suite di test di mGBA per maggiori dettagli).
- Supera i test di ARMWrestler, gba-suite e FuzzARM CPU.
- Alta compatibilità, inclusi giochi che richiedono l’emulazione di particolari casi di bordo hardware (vedere Compatibilità dei giochi).
Changelog
- Interfaccia utente: Implementato lo shader LCD1x (grazie a @DestinyXZ9).
- ARM: Implementato l’algoritmo di riporto nella moltiplicazione (grazie a @zaydlang, @calc84maniac).
- ARM: Corretta la logica dei conflitti sul bus LDM^ che causava problemi in modalità utente.
- ARM: Corretti gli accessi fuori dai limiti durante il passaggio da e verso una modalità CPU non valida.
- ARM: Ottimizzate le letture dei registri generali (GPR) e del registro di stato salvato (SPSR).
- ARM: Ottimizzate le operazioni aritmetiche LSL, LSR, ASR e ROR.
- DMA: Consentiti i tick interni della CPU durante i cicli di transizione tra CPU e DMA.
- PPU: Corretto il reset del contatore Y del mosaico degli sprite (grazie a @j-mattsson).
Nota: Si prega di eseguire il backup dei file di salvataggio prima di aggiornare per sicurezza.
Download: NanoBoyAdvance v1.8.2 (Linux)
Download: NanoBoyAdvance v1.8.2 (MacOS ARM64) (MacOS Intel)
Download: NanoBoyAdvance v1.8.2 (Windows)
Download: Source code NanoBoyAdvance v1.8.2
Fonte: github.com