Pubblicato un nuovo e interessantissimo aggiornamento per Ymir, l’emulatore work in progress del SEGA Saturn disponibile per PC Windows, macOS e Linux.

Tra le principali innovazioni introdotte in questa nuova versione troviamo il supporto per le periferiche Arcade Racer e Mission Stick, utilizzabili sia in modalità a tre che a sei assi, la possibilità di acquisire screenshot non elaborati e nuove opzioni video per ottimizzare il frame pacing in modalità finestra.
Introdotto anche un gestore globale di eccezioni per intercettare crash imprevisti dell’emulatore, mentre il debugger SH-2 è stato potenziato, diventando finalmente uno strumento davvero utile per individuare e risolvere problemi.
Le prestazioni complessive sono state migliorate grazie all’uso di funzionalità specifiche dei sistemi operativi per la sincronizzazione dei thread GUI, emulatore e renderer VDP, oltre ad una gestione ottimizzata dell’istruzione SLEEP dello SH-2.
L’incremento di performance varia a seconda dei giochi e dei sistemi, con alcuni titoli che guadagnano fino al 10% di velocità. Per gli utenti macOS, grazie al contributo di @Wunkolo, le build sono ora universali, compatibili sia con Apple Silicon che con sistemi Intel in un unico file binario.
Inoltre, @bsdcode ha aggiunto il supporto per FreeBSD, ora disponibile nella FreeBSD Ports Collection. Le build notturne sono disponibili per chi desidera testare le ultime novità, anche se meno stabili rispetto alle versioni ufficiali.
Da notare che i file di salvataggio creati con versioni stabili sono garantiti compatibili con tutte le versioni future di Ymir, mentre quelli generati dalle build notturne non hanno questa garanzia e non sono retrocompatibili.
Sul fronte della compatibilità, questa versione (0.1.7) ha risolto problemi significativi in diversi giochi.

Grazie ai report di numerosi tester, tra cui @thelastangryman1907 per titoli giapponesi meno noti e collaboratori storici come @Zet-sensei e @celeriyacon, la lista di compatibilità di Ymir ora copre oltre il 10% dei giochi totali, con un tasso di compatibilità vicino all’80%.
Tra i miglioramenti più rilevanti ci sono quelli al processore SH-2, con una gestione più accurata della cache che risolve problemi in giochi come Astal, Dark Savior e Soviet Strike, e correzioni agli interrupt DMAC e FRT che permettono a Daytona USA di funzionare stabilmente e a Shellshock di avviarsi correttamente.
La gestione dell’istruzione SLEEP e delle modalità di standby ha sbloccato Culdcept e migliorato le prestazioni di altri titoli. Anche il supporto ai CD è stato affinato, risolvendo problemi di caricamento in giochi come Last Bronx, che utilizza tracce dati in formati non standard, e NiGHTS into Dreams, dove è stato corretto un bug che impediva la visualizzazione dell’intro FMV.

Miglioramenti al caricamento di file BIN+CUE e CHD hanno risolto desincronizzazioni audio in Minnesota Fats – Pool Legend e permesso il corretto avvio di altri giochi come Ultraman Zukan, Sega Rally Championship Plus e WipEout 2097/XL.
L’unità SCU ha ricevuto aggiornamenti per migliorare la gestione dei trasferimenti DMA e dei timer, aumentando la stabilità in titoli come Fighting Vipers, Sonic Jam e Tennis Arena.
Sul fronte grafico, sono stati corretti numerosi errori di rendering, tra cui glitch nei sprite di Marvel Super Heroes e problemi di flickering in giochi come King of Fighters ’96/’97, Virtua Cop 2 e Soviet Strike.

Un miglioramento nella gestione del framebuffer VDP1 ha risolto crash e problemi grafici in diversi titoli, mentre un’accurata gestione dei cicli di accesso alla VRAM VDP2 ha corretto bug nei titoli come Doukyuusei – if e Capcom Generation.
Il sistema di input è stato potenziato con il supporto per le periferiche Arcade Racer e Mission Stick, con opzioni per regolare la sensibilità dello sterzo e passare tra modalità a tre o sei assi. Il sistema ora distingue tra assi monopolari e bipolari, assoluti e relativi, evitando configurazioni errate.

Inoltre, sono stati corretti problemi di risposta degli input in giochi come World Heroes Perfect e Touge King the Spirits. L’interfaccia utente ha visto l’aggiunta di opzioni per migliorare il frame pacing, ridurre la latenza video su monitor ad alta frequenza e gestire screenshot non elaborati tramite il tasto F12.
Un nuovo indicatore di velocità mostra separatamente la velocità effettiva e quella target dell’emulazione, mentre il debugger SH-2 ora supporta breakpoint e single-stepping, con una finestra dedicata per visualizzare i vettori di eccezione.

Infine è stato ntrodotto anche un visualizzatore per i filtri del CD Block, utile per risolvere problemi in giochi come Last Bronx e NiGHTS into Dreams.
Caratteristiche
- Caricamento dei giochi da file BIN+CUE, IMG+CCD, MDF+MDS o ISO.
- Rilevamento automatico della ROM IPL (BIOS).
- Cambio automatico della regione.
- Supporto fino a due giocatori con controller standard su entrambe le porte (altre opzioni in arrivo).
- Mappatura dei tasti completamente personalizzabile.
- Supporto per cartucce RAM di backup e DRAM (altre in arrivo).
- Gestore integrato della memoria di backup per importare ed esportare salvataggi e trasferirli tra RAM interna e cartuccia.
- Stati di salvataggio.
- Riavvolgimento (fino a un minuto a 60 fps), velocità turbo, avanzamento fotogramma per fotogramma (in avanti e indietro).
- Modalità a schermo intero con supporto VRR e bassa latenza di input.
- Debugger ricco di funzionalità in fase di sviluppo.
Guida all’utilizzo
Ymir non richiede installazione, è sufficiente scaricare il file eseguibile in una qualsiasi cartella ed eseguirlo. Su PC Windows, potrebbe essere necessario installare il pacchetto più recente di Microsoft Visual C++ Redistributable (versione x86_64).
Il programma accetta parametri da linea di comando. Per visualizzare le opzioni disponibili, digirare il comando ymir-sdl3 --help:
Ecco le opzioni principali:
Ymir - Sega Saturn emulator
Usage:
Ymir [OPTION...] positional parameters
-p, --profile arg Path to profile directory
-h, --help Display help text
-f, --fullscreen Start in fullscreen mode
Con l’opzione -p <percorso-profilo> è possibile specificare un set separato di file di configurazione e salvataggio, utile se si intende utilizzare profili utente diversi (da qui il nome “profile”).
Nota: La versione Win32 di Ymir non produce output nella console, ma rispetta comunque i parametri da riga di comando.
Requisiti BIOS
Per funzionare correttamente, Ymir richiede una ROM IPL (BIOS), le ROM devono essere posizionate nella cartella roms, che viene creata accanto all’eseguibile al primo avvio.
L’emulatore rileverà e selezionerà automaticamente la ROM IPL compatibile con il disco caricato. Se non viene caricato alcun disco, Ymir utilizzerà una ROM corrispondente alla prima regione preferita.
In assenza di corrispondenze, selezionerà qualsiasi ROM disponibile, è comunque possibile forzare la selezione manualmente in Settings > IPL.
Formati supportati
Ymir è in grado di caricare immagini disco di giochi nei formati BIN+CUE, IMG+CCD, MDF+MDS e ISO. Al momento non supporta i file CHD di MAME né il caricamento diretto di file .elf.
Changelog
Nuove funzionalità e miglioramenti
- App: Aggiunto un pulsante per copiare la stringa della versione dalla finestra “Informazioni”.
- App: Aggiunta scorciatoia da tastiera per catturare schermate (assegnata di default a F12) con possibilità di regolare la scala da 1x a 4x. (#350)
- App: Aggiunta opzione per caricare automaticamente, all’avvio, l’ultima immagine disco di gioco utilizzata.
- App: Centratura automatica della finestra “Informazioni” ogni volta che viene aperta.
- App: Rilevamento automatico del percorso del profilo e possibilità di utilizzare il percorso del profilo utente dalla directory home dell’utente del sistema operativo. (#411, #17; @bsdcode)
- App: Visualizzazione di una finestra di errore in caso di eccezioni non gestite.
- App: Mostra la velocità di emulazione reale nella barra del titolo e nell’OSD del frame rate.
- App: Mostra il frame rate reale del VDP1 separato dalle chiamate di disegno del VDP1.
- Build: Le build macOS sono ora universali — un unico binario supporta sia i Mac Intel che Apple Silicon. (#351; @Wunkolo)
- Build: Le build nightly ora sono disponibili qui.
- Core: Migliorate le prestazioni degli eventi di reset manuale utilizzando implementazioni specifiche per sistema operativo basate su cppcoro.
- Debugger: Aggiunta la visualizzazione dei filtri del CD Block.
- Debugger: Aggiunta gestione rudimentale dei breakpoint SH-2 e persistenza dello stato del debugger per singolo gioco. (#22)
- Debugger: Aggiunta la visualizzazione dell’elenco dei vettori di eccezione SH-2.
- Debugger: Consentita la sospensione delle CPU SH-2 in modalità debug. (#22)
- Debugger: Implementati i breakpoint SH-2. (#22)
- Debugger: Introdotto segnale di interruzione del debug attivabile praticamente da qualsiasi punto. (#21)
- GameDB: Forzata l’emulazione della cache SH-2 per Astal, Dark Savior e Soviet Strike.
- GameDB: Implementato un flag per forzare l’emulazione della cache SH-2 in giochi specifici.
- Input: Classificati i grilletti e le levette del gamepad come assi assoluti. Gli assi assoluti forniscono valori fissi in posizioni specifiche.
- Input: Classificati i grilletti del gamepad come assi monopolari (con valori compresi tra 0,0 e 1,0) e le levette del gamepad come assi bipolari (da -1,0 a +1,0).
- Input: Implementato il periferico Arcade Racer. (#29)
- Input: Implementato il periferico Mission Stick con modalità a tre e sei assi attivabili. (#30)
- Video: Aggiunte scorciatoie da tastiera per ruotare lo schermo in senso orario e antiorario. (#318)
- Video: Aggiunta opzione per ridurre la latenza di input regolando il frame rate dell’interfaccia grafica al multiplo più alto del frame rate target dell’emulatore che non superi il refresh rate del display.
- Video: Aggiunta opzione per ridurre la latenza video visualizzando il frame più recente anziché il più vecchio quando l’emulatore gira più velocemente del refresh rate del display.
- Video: Aggiunta opzione per sincronizzare i frame video in modalità finestra.
- Video: Evitato il salto di frame su monitor con basso refresh rate disattivando il VSync se il frame rate target supera il refresh rate del display.
- Video: Semplificato il controllo del frame rate in modalità a schermo intero.
Correzioni
- CD Block: Disconnetti gli ingressi del filtro per il target di errore, non il filtro stesso. Corregge la grafica rotta nella schermata del titolo di Ultraman Zukan. (#329)
- CD Block: Non disconnettere il dispositivo CD quando si imposta l’uscita di errore del filtro. Corregge la riproduzione in Digital Dance Mix Vol. 1 – Namie Amuro.
- CD Block: Corretto l’indicizzazione della directory per i comandi ReadDirectory e ChangeDirectory. Corregge l’avvio di Sega Rally Championship Plus (Giappone).
- CD Block: Corretto il trattamento del parametro di fine riproduzione “nessuna modifica”. Corregge il caricamento lento del primo livello in Astal.
- CD Block: Lettura corretta della tabella dei percorsi e dei record delle directory che attraversano il confine tra due settori CD. Corregge il ritorno al BIOS all’avvio di Mizuki Shigeru no Youkai Zukan Soushuuhen. (#391)
- CD Block: Lettura dei dati di subheader solo dalle tracce CD-ROM Mode 2 e correzione del loro indirizzamento. Corregge l’assenza dell’FMV introduttivo in NiGHTS into Dreams… (#46)
- CD Block: Avvio di nuove riproduzioni dal FAD iniziale quando in pausa. Corregge problemi di avvio in WipEout 2097 e XL. (#202)
- Media: Aggiunto supporto per le tracce CD-ROM Mode 2. Corregge il mancato avvio di Last Bronx. (#238)
- Media: Compensazione per il pregap INDEX 00 nelle tracce multi-indicizzate nei file CUE. Corregge linee vocali parzialmente saltate in Minnesota Fats – Pool Legend. (#363)
- Media: Corretto il trattamento del pregap nelle tracce dati nei dump singoli BIN+CUE. Corregge il mancato avvio di alcuni dump di Last Bronx.
- Media: Riallineamento dell’offset dei dati ai blocchi tra tracce nei CHD. Corregge il mancato avvio di alcuni dump CHD di Last Bronx.
- Save states: Aggiunto lo stato del file system del CD Block ai dati del salvataggio dello stato.
- Scheduler: Assicurato che gli eventi vengano eseguiti in ordine cronologico.
- SCU: Corretto il trattamento delle interruzioni esterne dell’A-Bus.
- SCU: Corretto l’aggiornamento dell’indirizzo sorgente DMA quando l’incremento dell’indirizzo sorgente è zero. Corregge un problema di priorità di sfondo in Street Fighter – Real Battle on Film. (#168)
- SCU: Corretto Timer 1 che non si attivava quando il contatore di ricarica era maggiore di 0x1AA o 0x1C6 a seconda della risoluzione orizzontale.
- SCU: Ignorare/saltare trasferimenti DMA illegali nelle liste di trasferimento indiretto. Corregge parzialmente sprite corrotti o mancanti in Fighting Vipers.
- SCU: Le interruzioni DMA illegali non devono avviare i trasferimenti DMA di fine disegno sprite VDP1.
- SCU: Notifica al bus dei trasferimenti DMA.
- SCU: Impedire l’avvio di trasferimenti DMA indiretti se la prima voce è illegale. Evita che Tennis Arena distrugga tutta la memoria.
- SCU: Usare l’incremento dell’indirizzo sorgente per i dati di trasferimento DMA indiretto.
- Settings: Disabilitare per impostazione predefinita “Includi il rendering VDP1 nel thread di rendering VDP2” e non abilitarlo nei preset.
- Settings: Mantenere il percorso personalizzato del profilo Screenshot. (#398)
- Settings: Ripristinare correttamente le associazioni dei controller per controller diversi dal Saturn Control Pad. (#397)
- SH2: Corretto il blocco della CPU nella gestione infinita delle interruzioni DMAC. Corregge il mancato avvio di Shellshock. (#344)
- SH2: Gestione della modalità sleep/standby e riattivazione con interruzioni. Corregge il blocco nell’FMV introduttivo di Culdcept e migliora le prestazioni complessive nei giochi che utilizzano l’istruzione SLEEP. (#346)
- SH2: Cancellare solo i bit azzerati dalla maschera di cancellazione in scrittura sui FRT FTCSR writes. Corregge blocchi casuali in Daytona USA. (#209) (grazie a @celeriyacon)
- SMPC: Corretti i report della modalità di controllo TH in modalità diretta SH-2. Corregge la risposta ai comandi in World Heroes Perfect, Touge King the Spirits, Chaos Control Remix e Father Christmas. (#297, #322, #348, #374)
- SMPC: Corretto il reporting TL in modalità diretta SH-2.
- VDP1: Disabilitato l’“antialiasing” per linee e polilinee.
- VDP1: Corretto problema di trasparenza causato da dati colore RGB 5:5:5 “illegali” (0x0001..0x7FFE). Corregge la trasparenza in Sonic X-treme.
- VDP1: Spostato leggermente più tardi lo scambio del framebuffer nella linea VBlank OUT. Corregge numerosi problemi:
- Grafica tremolante in DragonHeart – Fire & Steel, King of Fighters ’96 / ’97, Jantei Battle Cos-Player, PhantasM, Soviet Strike, Virtua Cop 2 e Yellow Brick Road (#272, #303, #334, #335, #336, #368)
- Sprite corrotti in Center Ring Boxing e Marvel Super Heroes (mossa Chaos Dimension di Shuma Gorath) (#72, #377)
- Sprite parzialmente mancanti in Fuusui Sensei – Feng-Shui Master (#405)
- Blocchi/crash in Mahou no Janshi – Poe Poe Poemy e Shockwave Assault (#378, #406)
- VDP1: Riordinati gli aggiornamenti LOPR, COPR, CEF e BEF. Corregge grafica mancante in Virtual On – Cyber Troopers e Sega Touring CARS. (#112, #246)
- VDP1: Utilizzato il segnale di notifica del bus DMA SCU per regolare la penalità di tempo di scrittura VRAM VDP1. Corregge l’FMV introduttivo bloccato in Sonic Jam senza rompere gli sprite di Mega Man X3. (#83)
- VDP2: Inizializzare e aggiornare sempre i contatori di sfondo anche per i livelli disabilitati. Corregge lo schermo a scorrimento in F-1 Challenge. (#300)
- VDP2: Bloccare le letture bitmap dalle banche VRAM senza accesso CP appropriato. Corregge grafica sporca nella schermata del titolo di NFL Quarterback Club 97. (#332)
- VDP2: Calcolare gli offset di accesso ai dati bitmap quando vengono letti più blocchi per un NBG. Corregge l’offset dello sfondo in Doukyuusei – if mantenendo la correzione del “slicing” per Capcom Generation – Dai-5-shuu Kakutouka-tachi. (#384)
- VDP2: Non applicare l’ombra dello sprite se la priorità dello sprite è inferiore a quella del livello superiore. Corregge le ombre disegnate sopra gli oggetti in Blue Seed – Kushinada Hirokuden. (#349)
- VDP2: Non fondere la schermata di linea con il layer 1 se i calcoli del colore della schermata di linea sono disabilitati. Corregge la nebbia negli sfondi di battaglia in Zanma Chou Ougi – Valhollian. (#352)
- VDP2: Non incrementare la coordinata di scorrimento verticale BG sulle linee di campo complementari durante il rendering di linee RBG deinterlacciate. Corregge FMV tremolanti/interlacciati in Grandia quando il deinterlacciamento è attivo.
- VDP2: Corretta la logica di calcolo delle flag di abilitazione dei livelli quando è abilitato solo RBG1. Corregge lo sfondo mancante nei menu di MechWarrior 2. (#413)
- VDP2: Corretto l’inserimento del colore di linea. Corregge il terreno erroneamente fuso in Athlete Kings. (#299)
- VDP2: Corrette le priorità per i BG bitmap. Corregge i personaggi che vengono disegnati dietro lo sfondo in Mr. Bones. (#247)
- VDP2: Corrette le condizioni di gara con il deinterlacciamento multithread che causavano artefatti su RBG in modalità interlacciata a densità singola.
- VDP2: Corretta l’indicizzazione delle finestre per RBG in modalità ad alta risoluzione. Corregge ombre allungate in Last Bronx. (#395)
- VDP2: Gestiti i pixel della finestra RBG in modalità ad alta risoluzione. Corregge colonna extra di disturbi in Athlete Kings. (#299)
- VDP2: Invertita la lettura di TVSTAT.ODD. Corregge grafica illeggibile nella metà superiore dello schermo in True Pinball. (#320)
- VDP2: RBG1 usa Rotation Parameter B, non A.
- VDP2: Reset dei contatori di scorrimento verticale di base NBG2/3 quando si scrive in SCYN2/3. Corregge grafica illeggibile in Marvel Super Heroes vs. Street Fighter durante la mossa Chaos Dimension di Shuma Gorath. (#72)
- VDP2: Rivisti i calcoli della tabella di rotazione. Corregge il terreno distorto nello schermo del giocatore 2 in modalità multiplayer di Sonic R. (#401)
- VDP2: Saltare il calcolo degli accessi VRAM PN/CP per gli NBG quando RBG1 è abilitato. Corregge la mancanza delle auto in Gale Racer. (#359)
- VDP2: Scambiare campo pari/dispari all’ingresso in VBlank.
Per i sistemi x86_64, la versione AVX2 offre prestazioni leggermente migliori, ma richiede un processore compatibile con tale set di istruzioni. In pratica, qualsiasi CPU Intel Core o AMD prodotta dal 2011 in poi (e i Pentium/Celeron dal 2020) dovrebbe supportarlo.
Se non si sa se il processore è compatibile o non si ha idea di cosa significhi, è generalmente sicuro scaricare la versione AVX2, a meno che non si stia utilizzando un PC molto vecchio o economico. Se si riscontrano crash casuali, provare la versione SSE2.
AArch64 è anche noto come ARM64. Ogni build per ARM include il supporto per le istruzioni NEON.
Per le versioni Windows, potreste dover installare l’ultima versione del pacchetto Microsoft Visual C++ Redistributable (è disponibile sia per x86_64 che per AArch64/ARM64). Ymir richiede Windows 10 o successivo.
Le versioni macOS sono disponibili sia per sistemi Apple Silicon (ARM – AArch64) sia per Intel (x86_64). Ymir richiede macOS 13 Ventura o successivo.
Linux
- ymir-linux-AArch64-NEON-v0.1.7.tar.xz – 3.26 MB
- ymir-linux-x86_64-AVX2-v0.1.7.tar.xz – 3.28 MB
- ymir-linux-x86_64-SSE2-v0.1.7.tar.xz – 3.26 MB
MacOS
- ymir-macos-universal-v0.1.7.zip – 7.46 MB
Windows
- ymir-windows-x86_64-AVX2-v0.1.7.zip – 4.07 MB
- ymir-windows-x86_64-SSE2-v0.1.7.zip – 4.04 MB
Codice sorgente
Fonte: github.com
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: PS5
Vedi altri prodotti PS5

![[Scena PS5] PS5 exFAT Image Builder si aggiorna alla versione 2.8.0: UI ShadowMount+ ridisegnata, live edit config, miglioramenti stabilità e workflow PS5 jailbroken](https://www.biteyourconsole.net/wp-content/uploads/exFATImage-1-238x178.webp)


![[Scena PS5] PS5 exFAT Image Builder si aggiorna alla versione 2.8.0: UI ShadowMount+ ridisegnata, live edit config, miglioramenti stabilità e workflow PS5 jailbroken](https://www.biteyourconsole.net/wp-content/uploads/exFATImage-1-100x75.webp)
