Home Emulatori Pubblicata la versione 142 dell’emulatore ares

Pubblicata la versione 142 dell’emulatore ares

86
0

Pubblicato un nuovo aggiornamento per ares, l’emulatore multisistema discendente di higan e bsnes si concentra principalmente sull’accuratezza e la conservazione.

Dalla precedente versione 141, ben 18 contributori hanno creato ben 107 commit nel codice di base dell’emulatore ares. L’aggiornamento introduce numerosi miglioramenti ai core di emulazione e all’applicazione ares stessa.

La novità più rilevante della versione 142 riguarda l’aggiunta del supporto alla scheda arcade SETA Aleck64, che consente di eseguire tutti i titoli di questa piattaforma provenienti dal set di ROM MAME 0.273, ad eccezione di Magical Tetris Challenge, a causa dell’utilizzo di un chip video non documentato.

Oltre a questo, viene introdotto un nuovo sistema di compilazione basato su CMake, che migliora la compatibilità con gli strumenti di sviluppo moderni semplificando il processo di build per i nuovi sviluppatori.

A livello di emulazione, sono stati apportati numerosi miglioramenti all’ARM7TDMI, il processore del Game Boy Advance e coprocessore ST018 del Super Famicom, con ottimizzazioni nella gestione degli interrupt, correzioni nelle istruzioni SWP e BX e miglioramenti nelle istruzioni di moltiplicazione lunga.

Anche il processore Hitachi SH7604 del 32X ha ricevuto aggiornamenti, con una maggiore efficienza nella gestione dei timer e una correzione per il tracciamento delle istruzioni nel recompiler.

Il Motorola 68000, utilizzato su Mega Drive e Neo Geo, ha ricevuto correzioni nelle eccezioni di violazione dei privilegi, nei flag dell’istruzione CHK e nell’implementazione dell’harness di test delle istruzioni.

Per quanto riguarda l’audio, il chip Yamaha YM2612 del Mega Drive ha ricevuto aggiornamenti significativi che correggono problemi di feedback, aggiornamento delle buste, comportamento del LFO e calcoli di rate scaling, risolvendo tutti i problemi audio conosciuti nei giochi per la console.

L’aggiornamento ha portato miglioramenti anche all’emulazione di diverse piattaforme. Il PC Engine / TurboGrafx / SuperGrafx / CD ha ricevuto ottimizzazioni di performance senza impatti sulla compatibilità.

Per il NES / Famicom / Famicom Disk System, è stata implementata l’emulazione delle anomalie di rendering PPU causate dal comportamento dell’open bus e corretta la scrittura sui dischi FDS.

Sul Game Boy Advance, sono stati migliorati il prefetcher, l’emulazione dell’open bus e la gestione della memoria condivisa tra CPU e PPU.

L’emulazione del Nintendo 64 e 64DD ha ricevuto correzioni per la gestione degli interrupt del Video Interface (VI), miglioramenti nel debug tramite GDB, correzioni ai DMA e agli opcode SPECIAL della RSP, oltre a una migliore gestione della moltiplicazione e divisione di numeri interi con segno.

Sono stati risolti problemi nei giochi che utilizzano modalità di visualizzazione non standard, come Tarzan.

Sul fronte Sega, il Mega Drive / CD / 32X ha ricevuto correzioni per il PWM, con miglioramenti nell’accesso all’IO da parte della console madre e un filtro DC per ridurre i rumori indesiderati.

Sono stati risolti problemi di musica mancante in Brutal e di balbuzie audio in Night Trap, oltre a miglioramenti nell’emulazione FIFO e nella gestione della modalità H32, che corregge il flickering in giochi come International Superstar Soccer Deluxe e Sonic 2 VS Mode.

Inoltre è stata migliorata la gestione del DMA e aggiunto il supporto per la particolare mappatura ROM di QuackShot Starring Donald Duck (World) (Rev A).

Oltre alle migliorie emulative, la versione 142 introduce numerosi aggiornamenti al sistema di compilazione e all’interfaccia utente.

Il vecchio sistema Makefile sarà rimosso nella versione 143, quindi i distributori dovranno aggiornare i loro workflow a CMake.

Sono stati corretti problemi di scaling del framebuffer per Super Famicom e Mega Drive, migliorata la gestione dell’overscan e risolti problemi di stuttering con le impostazioni audio predefinite di SDL.

Su macOS, è stato aggiornato il requisito minimo di sistema alla versione 10.13, introdotto Metal come driver video predefinito e migliorata la gestione dei database e degli shader su Linux.

Infine, l’aggiornamento porta con sé aggiornamenti delle dipendenze, tra cui SDL 2.30.8, librashader 0.5.1, MoltenVK 1.2.11, paraLLEl-RDP revision 1cecd04 e slang-shaders revision 7e2975e.

Changelog

ARM7TDMI (CPU Game Boy Advance, coprocessore ST018 Super Famicom)

  • Miglioramenti della temporizzazione IRQ.
  • Blocco del bus durante l’istruzione SWP
  • Implementato un’encoding non documentato per le istruzioni BX.
  • Scrittura dei 32 bit superiori del prodotto dopo i 32 bit inferiori nelle istruzioni di moltiplicazione lunga.
  • Aggiunto un framework di test per le istruzioni.

Hitachi SH7604 (CPU 32X)

  • Migliorate le prestazioni riorganizzando le implementazioni del timer in modo che siano senza loop.
  • Corretto un problema per cui il tracciamento delle istruzioni non funzionava quando si utilizzava il ricompilatore.

Motorola 68000 (Processore Mega Drive, Neo Geo)

  • Aggiunto un framework di test per le istruzioni.
  • Corretto il contatore del programma nel frame dello stack delle eccezioni di violazione dei privilegi.
  • Corretti i tempi e i flag delle istruzioni CHK.

Yamaha YM2612 (Mega Drive FM Sintesi)

  • Migliorato l’ordine di aggiornamento del ciclo, risolvendo i problemi con il feedback.
  • Corretto un problema per cui l’aggiornamento della busta si verificava erroneamente due volte in alcune situazioni.
  • Comportamento LFO corretto per applicare l’attenuazione corretta quando disabilitato.
  • Maggiore accuratezza nei calcoli di ridimensionamento della velocità.

Questi aggiornamenti hanno risolto tutti i problemi audio attualmente noti nei giochi Mega Drive.

Arcade

  • Introdotto il supporto per la scheda arcade SETA Aleck64, che supporta tutti i titoli Aleck64 del set di rom mame0273, ad eccezione di Magical Tetris Challenge, poiché questo gioco utilizza un chip video aggiuntivo non documentato per il livello del campo di gioco.
  • Aggiornato il database rom per adattarlo a MAME 0.273 (ha un impatto anche su Neo Geo AES).

NEC – Motore PC / TurboGrafx / SuperGrafx / CD

  • Migliorate le prestazioni senza alcun impatto sulla precisione/compatibilità.

Nintendo – NES / Famicom / Sistema di dischi Famicom

  • Implementati glitch di rendering della PPU dovuti al comportamento open bus (glitch dello scroll della PPU).
  • Corretto un problema per cui le scritture sui dischi FDS non venivano sempre mantenute.

Nintendo – Game Boy Advance

  • Interrotto il prefetcher quando è pieno.
  • Migliorata l’emulazione dell’open bus.
  • Migliorati i timing per il blending dei pixel e il rendering dello sfondo.
  • Blocca la CPU quando si accede alle regioni di memoria a cui si accede contemporaneamente tramite PPU.

Nintendo – Nintendo 64 / 64DD

  • Corretto un errore di battitura nell’emulazione di debug di ISViewer che impediva il corretto funzionamento delle rom di dimensioni comprese tra 0x3f0’0000 e 0x3ff’0000.
  • Corretto un problema per cui il collegamento di GDB per il debug di una ROM Nintendo 64 poteva innescare un’eccezione CPU MIPS.
  • Migliorata la temporizzazione VI per gestire correttamente le modalità di visualizzazione non standard, tra cui PAL60.
  • Corrette le interruzioni VI in modalità interlacciata in modo che si verifichino esattamente sulla stessa linea di scansione dell’hardware reale, anche in caso di bug hardware noti.
  • Avanzamento di RSP DMA durante l’esecuzione di RSP, impedendo gare DMA in blocchi di codice di lunga durata (corregge Tarzan).
  • Implementato correttamente gli opcode SPECIAL non validi nell’RSP in modo che corrispondano al comportamento dell’hardware.
  • Corretta la moltiplicazione e la divisione di interi con segno quando gli operandi di input non sono valori a 32 bit con segno esteso.

Sega – Mega Drive / CD / 32X

  • 32X: Reso l’intervallo di interruzione del timer PWM di sola lettura dal lato MD.
  • 32X: Migliorato il supporto per PWM a frequenze di campionamento non standard.
  • 32X: Aggiunto un filtro DC a PW per ridurre clic/pop.
  • 32X: Migliorati gli accessi a 32X IO dal lato MD (corregge la musica mancante in Brutal + balbettii in Night Trap).
  • 32X: Forzata la regione PAL per le ROM con “(PAL)” o “(Europe)” nel nome (corregge giochi con header non validi).
  • 32X: Corretto un errore di battitura che impediva la riproduzione del canale audio PWM corretto.
  • Implementata la contesa del bus CRAM (punti CRAM).
  • Migliorata l’emulazione FIFO consentendo il passaggio della rom VDPFIFOTesting.
  • Corretti i problemi rimanenti (minori) durante l’esecuzione di entrambe le demo di Titan Overdrive.
  • Corretto un problema per cui un caso limite nel comportamento della finestra in modalità H32 veniva gestito in modo errato (corregge lo sfarfallio della linea in International Superstar Soccer Deluxe).
  • Corretto un problema che causava lo sfarfallio della linea nella modalità VS di Sonic 2.
  • Varie correzioni alla temporizzazione DMA, correzione dei casi di test nella rom dma_speed_test.
  • Aggiunto il supporto per l’insolita mappatura rom utilizzata da QuackShot Starring Donald Duck (World) (Rev A).

Altro

Sistema di costruzione

  • Aggiunto il supporto per la compilazione con CMake. Il sistema di compilazione legacy makefile verrà rimosso prima della versione 143. I distributori devono aggiornare il loro flusso di lavoro di conseguenza.

Interfaccia utente

  • Aggiunto il supporto per la ricerca nell’elenco dei giochi per i core Arcade.
  • Corretto un problema che causava un ridimensionamento improprio del framebuffer nel rendering per i core Super Famicom e Mega Drive.
  • Regolata l’opzione “overscan” per ritagliare esclusivamente l’area del “frame attivo” su cui il sistema emulato esegue il rendering del contenuto del gioco, anziché l’area che si potrebbe vedere utilizzando un tipico hardware contemporaneo (Famicom, Super Famicom, SG-1000, Master System, ColecoVision, My Vision, MSX).
  • Corretto un problema che poteva causare balbettii con le impostazioni audio SDL predefinite.
  • Migliorati i messaggi di errore durante il caricamento di giochi e sistemi.
  • Resa visibile per impostazione predefinita la colonna “Tipo” nella finestra del firmware.
  • Corretto un problema relativo all’immissione ripetuta di tasti nell’editor di memoria su Windows.
  • Aggiunta un’interfaccia per gli switch DIP per i core che li supportano.
  • (macOS) Aggiornati i requisiti minimi di sistema a 10.13.
  • (macOS) Impostato Metal come driver video predefinito
  • (macOS) Corretto un problema che impediva ad ares di ricordare l’impostazione “Force sRGB”.
  • (macOS) Aggiunto il supporto per l’editor di memoria.
  • Varie modifiche per individuare in modo più affidabile i file del database e gli shader su Linux.

Dipendenze

  • Aggiornato SDL alla versione 2.30.8.
  • Aggiornato librashader alla versione 0.5.1.
  • Aggiornato MoltenVK alla versione 1.2.11.
  • Aggiornato paraLLEl-RDP alla revisione 1cecd04
  • Aggiornato slang-shaders 7e2975e alla revisione 7e2975e

Download: Ares v142 [MacOS Universal dSYMs] [MacOS Universal]

Download: Ares v142 [Windows clang ARM64 PDBs] [Windows clang ARM64]

Download: Ares v142 [Windows clang x64 PDBs] [Windows clang x64]

Download: Ares v142 [Windows x64 PDBs] [Windows x64]

Download: Source code Ares v142

Fonte: ares-emulator.github.io

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.