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

Questa nuova versione introduce un pannello “Tweaks” all’interno delle impostazioni, dove è possibile modificare in maniera dettagliata i parametri legati a precisione, compatibilità, qualità e prestazioni. Sono inclusi anche preset rapidi per ottenere il massimo della compatibilità o delle prestazioni.
In caso di malfunzionamenti nei giochi, si consiglia di provare con questi nuovi preset o condividere le impostazioni generate automaticamente in formato testuale su GitHub.
Per gli sviluppatori homebrew è stata introdotta una funzione che permette di regolare con maggiore precisione la granularità dell’emulazione dell’SCSP, il processore audio del Saturn, offrendo una sincronizzazione più stretta con il sistema a discapito delle prestazioni. Questa opzione è consigliata solo per test specifici e non per l’uso generale.
L’aggiornamento porta notevoli miglioramenti nella fedeltà audio grazie ai test ROM sviluppati da @celeriyacon. Ora numerosi giochi presentano livelli audio corretti, effetti sonori ripristinati e una compatibilità maggiore.
Ymir risulta anche il primo emulatore software del Saturn a gestire correttamente l’interleaving tra le istruzioni DSP e l’elaborazione degli slot audio, garantendo una precisione sonora finora raggiunta solo dal core MiSTer.
Sul fronte grafico, è stata implementata la deinterlacciatura video, molto richiesta dagli utenti, per una resa visiva superiore nei giochi ad alta risoluzione interlacciati.
Inoltre, è disponibile una nuova opzione per sostituire i poligoni a griglia con versioni semi-trasparenti, migliorando ulteriormente l’aspetto estetico in titoli come Panzer Dragoon Saga o Fighters Megamix.
Anche l’interfaccia utente ha ricevuto numerosi miglioramenti: la posizione errata del video su macOS è stata corretta, è stato aggiunto il supporto ai monitor con DPI differenti, ed ora è possibile regolare manualmente la scala dell’interfaccia.
Il menu File presenta un elenco dei giochi recenti, e l’intero menu può essere navigato anche tramite controller. Migliorata infine anche la gestione della memoria di backup e l’autocentering delle finestre.
L’aggiornamento introduce decine di correzioni minori e ottimizzazioni che riguardano quasi ogni componente del sistema emulato: audio, video, processori, memoria, interrupt e gestione dei comandi.
Queste correzioni risolvono problemi noti in titoli come Rayman, WipEout, Dragon Ball Z – Shinbutouden, Panzer Dragoon Saga, Golden Axe, Assault Suit Leynos 2 e molti altri, migliorando in modo tangibile la stabilità e l’accuratezza dell’emulazione.
Ymir richiede almeno Windows 10 per i sistemi Microsoft e macOS 13 (Ventura) per quelli Apple. Sono disponibili versioni specifiche per CPU Intel, AMD e ARM, e chi usa Windows potrebbe dover installare il pacchetto Microsoft Visual C++ Redistributable.
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.
Ymir v0.1.5
Questo aggiornamento si concentra sul miglioramento della compatibilità, introduce una serie di migliorie per la qualità dell’esperienza utente e presenta i primi potenziamenti grafici: la deinterlacciatura e i poligoni a griglia trasparenti.
Caratteristiche e miglioramenti
- Percorsi relativi nel file di configurazione: A partire da questa versione, il file
Ymir.tomlutilizza percorsi relativi anziché assoluti, semplificando il trasferimento dei dati dell’emulatore tra diverse versioni o in caso di spostamento della cartella su un’altra posizione del sistema. Aggiornando Ymir direttamente nella cartella esistente, i percorsi si adatteranno automaticamente. - Supporto per backup RAM da altri emulatori: Il gestore della memoria di backup ora può importare file
.BUPstandard, compatibili con tool di conversione dei salvataggi del Saturn. Inoltre, Ymir è in grado di riconoscere automaticamente formati provenienti da emulatori come Yaba Sanshiro, Mednafen e il core MiSTer del Saturn. - Backup RAM interna per gioco: È stata aggiunta un’opzione nelle impostazioni (sezione System) per generare automaticamente un file di Backup RAM interno dedicato per ogni gioco. I file vengono salvati nella directory
<profile-path>/backup/games. - Supporto MIDI In/Out: Grazie a @GlaireDaggers, è stato introdotto il supporto alla gestione del MIDI in ingresso e in uscita. Questa funzione è utile soprattutto per software homebrew e applicazioni musicali come Saturn Music School.
- Nuova scheda “Tweaks” nelle impostazioni: Una nuova sezione raccoglie tutte le opzioni relative a precisione, compatibilità, qualità e performance. Sono disponibili preset rapidi per configurare i parametri con l’obiettivo di ottenere la massima compatibilità o le migliori prestazioni. In caso di problemi con un gioco, è possibile copiare la configurazione in un formato adatto alla segnalazione su GitHub.
- Granularità SCSP personalizzabile: Gli sviluppatori homebrew possono ora regolare la granularità dell’emulazione SCSP (il processore audio del Saturn), suddividendo il processo di emulazione audio da 32 slot in gruppi più piccoli (16, 8, 4, 2 o 1). Questo migliora la sincronizzazione con il resto del sistema ma influisce notevolmente sulle prestazioni. L’opzione è pensata per superare test di timing avanzati.
- Correzioni di precisione audio SCSP: Grazie alle ROM di test di @celeriyacon, sono stati apportati miglioramenti notevoli:
- Volumi audio ora uniformi tra i vari giochi.
- Alcuni giochi ora si avviano correttamente grazie alla corretta emulazione dei registri SCSP.
- Effetti sonori mancanti o errati ora vengono riprodotti correttamente.
- Emulazione DSP interlacciata: Ymir è il primo emulatore software del Saturn a emulare correttamente l’interleaving tra l’elaborazione DSP e gli slot audio, raggiungendo un livello di fedeltà sonora mai visto prima nei software. Questo ha un impatto minimo sui giochi commerciali ma è fondamentale per i progetti homebrew e le demo tecniche.
- Utilizzo dei test ROM: Le ROM di test SCSP, SCU e SH-2 aiutano a identificare differenze rispetto all’hardware originale, fornendo indicazioni essenziali agli sviluppatori per migliorare la precisione dell’emulazione. I risultati ottenuti da Ymir con i preset “Best quality/accuracy” dimostrano notevoli progressi in tutti i principali componenti del Saturn.
Miglioramenti grafici
- Deinterlacciamento video: Introdotta una funzione molto richiesta per il deinterlacciamento grafico, che migliora in modo significativo la qualità visiva dei giochi ad alta risoluzione che utilizzano video interlacciato. Questa opzione consente una resa più fluida e leggibile delle immagini su schermi moderni, eliminando le fastidiose linee e lo sfarfallio tipici di questa tecnica video.
- Trasparenza sui poligoni a reticolo (mesh): Ora è disponibile una nuova opzione che sostituisce i poligoni disegnati con reticoli a scacchiera (mesh) con poligoni semi-trasparenti al 50%. Questo intervento rende l’aspetto visivo di molti elementi grafici molto più moderno e gradevole alla vista.
- Applicazione visiva dei miglioramenti: Alcuni esempi dei benefici ottenuti con queste nuove impostazioni:
- In Panzer Dragoon Saga, si nota maggiore chiarezza nelle ali del drago e nella rappresentazione del tornado.
- In Fighters Megamix, il fumo attorno al piede di Jacky e gli effetti d’impatto risultano più definiti e naturali.
- In Daytona USA CCE, i muri e le ombre delle auto appaiono molto più realistici e meno artefatti.
- Accesso alle nuove opzioni: Tutti questi miglioramenti grafici possono essere attivati direttamente dalla schermata delle impostazioni, alla voce Settings > Video > Enhancements, permettendo all’utente di personalizzare al meglio l’esperienza visiva.
Miglioramenti dell’interfaccia utente
- Corretto un bug grafico su macOS: Alcuni utenti Mac segnalavano che l’immagine veniva visualizzata solo nel quadrante in alto a sinistra della finestra. Grazie all’intervento di @Wunkolo, il problema è stato risolto, compresa la sovrapposizione della barra del menu che oscurava una porzione della parte superiore dello schermo.
- Supporto per configurazioni multi-DPI: L’applicazione ora gestisce correttamente ambienti con più schermi aventi diverse densità di pixel (DPI). Trascinando la finestra tra due monitor con risoluzioni differenti, l’interfaccia si adatta dinamicamente per mantenere leggibilità e proporzioni corrette.
- Scala dell’interfaccia personalizzabile: Aggiunta una nuova opzione per modificare manualmente la scala della GUI, indipendentemente dalle impostazioni del sistema operativo. Questa funzione è accessibile da Settings > Video e consente agli utenti di adattare l’interfaccia secondo le proprie preferenze visive.
- Lista dei giochi recenti: Nel menu File ora è presente una lista dei dischi di gioco aperti di recente. Passando il cursore su un elemento troncato, viene mostrato il percorso completo del file, utile per una rapida identificazione.
- Navigazione dell’interfaccia con gamepad: Ora è possibile navigare tra gli elementi dell’interfaccia utilizzando un controller. Premendo il tasto
(o
su controller PlayStation) quando nessun elemento è selezionato, si chiude la finestra attiva. Altri controlli sono compatibili con lo schema di input del progetto ImGui.
Changelog
Nuove funzionalità e miglioramenti
- App: Aggiunta l’opzione da riga di comando
-Pper avviare l’emulatore in pausa. - App: Aggiunta una nuova scheda “Tweaks” nella finestra delle Impostazioni che raccoglie tutte le opzioni di accuratezza, compatibilità e miglioramento.
- App: Aggiunta l’opzione per creare file di RAM di backup interna per ogni gioco. (#99)
- App: Aggiunta l’opzione per ignorare la scala dell’interfaccia utente e impostarla manualmente. (#251)
- App: Aggiunta l’opzione per attivare/disattivare la modalità schermo intero facendo doppio clic sullo schermo. (#197)
- App: Aggiunto l’elenco dei giochi recenti nel menu File. (#196)
- App: Ora la finestra delle Impostazioni viene centrata automaticamente all’apertura. (#251)
- App: Le finestre si chiudono premendo
o
sul gamepad quando nessun elemento è selezionato. (#251) - App: Abilitata la navigazione con gamepad tra gli elementi dell’interfaccia grafica. (#251)
- App: I percorsi nel file
Ymir.tomlora vengono salvati in formato relativo. (#207) - App: Utilizza il DPI basato sulla finestra per regolare la scala dell’interfaccia, permettendo di adattarsi automaticamente a display con DPI differenti. (#221; @Wunkolo)
- Backup RAM: Supporto per i formati di immagine interlacciata come quelli prodotti da Yaba Sanshiro o dal core MiSTer. (#87)
- Backup RAM: Supporto per i file di backup standard con estensione
.BUP. (#87) - SCSP: Aggiunta l’opzione per aumentare la granularità dell’emulazione per migliorare la precisione del timing (grazie a @celeriyacon).
- SCSP: Implementato il doppio buffering per la memoria DSP MIXS (grazie a @celeriyacon).
- SCSP: Implementato il supporto per ingresso e uscita MIDI. (#258; @GlaireDaggers)
- SCSP: Interpolazione dell’esecuzione DSP con l’elaborazione degli slot (grazie a @celeriyacon).
- VDP1: Aggiunta l’opzione per sostituire i poligoni a reticolo con poligoni trasparenti al 50%.
- VDP1: Taglio degli sprite all’area visibile per velocizzare il rendering, specialmente nel caso di sprite molto grandi.
- VDP: Aggiunta l’opzione per deinterlacciare il video. (#66)
- VDP: Aggiunta l’opzione per spostare il rendering VDP1 sul thread dell’emulatore, migliorando la compatibilità con alcuni giochi (ad esempio Grandia). (#233)
Correzioni
- App: Risolto un raro crash durante il caricamento di un’immagine di memoria di backup nel Backup Memory Manager.
- App: Corretto il ridimensionamento della finestra sui display Retina di macOS quando si utilizza la modalità HiDPI. (#221, #266; @Wunkolo)
- App: Impedito il caricamento dell’immagine di backup della memoria interna come se fosse una cartuccia di RAM di backup.
- CD Block: Le nuove riproduzioni ora partono dal FAD iniziale quando la riproduzione precedente è terminata. Risolto il blocco di WipEout dopo il logo SEGA.
- Media: Corretto il trattamento del pregap nei file immagine BIN singoli.
- SCSP: Applicato il DAC18B all’uscita audio (grazie a @celeriyacon). FRisolto l’audio basso in molti giochi. (#237)
- SCSP: Corretto un problema di perdita di precisione nel calcolo del livello di invio MIXS (grazie a @celeriyacon).
- SCSP: Corretti i calcoli del livello di invio, del bilanciamento stereo e del volume master.
- SCSP: Corretto l’ordine di elaborazione dell’uscita degli slot (grazie a @celeriyacon).
- SCSP: Corretto lo scambio tra i bit DAC18B e MEM4MB (grazie a @celeriyacon).
- SCSP: Aggiunto un passo DSP extra per correggere i problemi FRC (grazie a @celeriyacon).
- SCU, SH-2, SMPC, SCSP, VDP: Numerose correzioni nella gestione degli interrupt (grazie a @celeriyacon). Risolti input intermittenti in Rayman e alcune anomalie audio.
- SCU: Varie correzioni per migliorare la precisione del DSP (grazie a @celeriyacon).
- SH2: Altre correzioni per FRT, WDT e DIVU (grazie a @celeriyacon).
- SMPC: Annullato l’evento di elaborazione dei comandi pianificati durante il reset dello SMPC. Risolto un lungo blocco dopo il reset hardware in alcuni casi.
- SMPC: Modificati i bit fissi da 111 a 100 nelle risposte della modalità di controllo TH/TR per il primo byte dati dei controller standard e 3D. Risolto il ritorno al BIOS in Golden Axe. (#231)
- SMPC: Eliminati gli interrupt INTBACK spurii.
- SMPC: Bloccata la scrittura su COMREG quando è in corso un comando. Risolti problemi di avvio che portavano al messaggio “Disco non compatibile con questo sistema”. (#219)
- SMPC: L’interrupt INTBACK ottimizzato non viene più attivato a meno che non sia stata inviata una richiesta di continuazione. Risolti problemi di input nei giochi homebrew basati su Yaul.
- SMPC: Prioritizzate le richieste di continuazione INTBACK rispetto a quelle di interruzione.
- System: Rafforzata la sincronizzazione tra le due CPU SH-2 e rimosso il limite artificiale di time slice. Migliorate le prestazioni e risolti problemi di avvio intermittente in Fighters Megamix e Sonic Jam. (#236, #242)
- VDP1: Ridotto il limite dei comandi per aggirare i problemi di giochi che non impostano un terminatore nella tabella comandi. (#213, #216)
- VDP1: Rallentata significativamente l’esecuzione dei comandi quando il renderer VDP1 è eseguito nel thread dell’emulatore. Risolto il blocco di Dragon Ball Z – Shinbutouden dopo il logo SEGA. (#233)
- VDP2: Applicato l’effetto mosaico orizzontale al layer di sfondo rotante. Risolto l’effetto mancante nel logo Time Warner di Race Drivin’. (#267)
- VDP2: Applicato l’effetto finestra al layer sprite. Risolte le grafiche che uscivano dai bordi in molti giochi. (#173)
- VDP2: Verificati pattern di accesso non validi per determinare se i caratteri NBG debbano essere ritardati. Risolti gli offset errati degli sfondi in molti giochi. (#169, #190, #226)
- VDP2: Disabilitazione dei layer NBG1-3 solo se RBG0 e RBG1 sono entrambi attivi simultaneamente.
- VDP2: Rispettati i cicli di accesso e l’allocazione dei banchi VRAM per limitare l’accesso a nomi di pattern e pattern di caratteri. Risolte grafiche corrotte in Panzer Dragoon Saga, Sonic 3D Blast e Street Fighter Alpha/Zero 2. (#203, #213)
- VDP2: Invertito il calcolo del rapporto del colore dello sfondo. Risolto lo sfondo nero nei filmati di Sakura Taisen. (#241)
- VDP2: Spostato il VCounter esistente nel registro VCNT di VDP2. Risolto il blocco in-game di Assault Suit Leynos 2 e il mancato avvio di King of Fighters ’95. (#75)
- VDP2: Sincronizzati gli eventi di abilitazione degli sfondi con il thread del renderer. Risolti problemi di taglio nei filmati su macchine lente in Sakura Taisen.
- ymdasm: Corretta la disassemblazione dell’istruzione JMP incondizionata del DSP dello SCU.
Quale versione scaricare
Scaricare il file corrispondente al proprio sistema operativo e all’architettura del processore:
- windows, linux e macos indicano il sistema operativo supportato.
- x86_64 è pensato per CPU Intel o AMD, mentre AArch64 è per CPU ARM (come Apple Silicon).
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.5.tar.xz – 2.76 MB
- ymir-linux-x86_64-AVX2-v0.1.5.tar.xz – 2.78 MB
- ymir-linux-x86_64-SSE2-v0.1.5.tar.xz – 2.77 MB
MacOS
- ymir-macos-AArch64-v0.1.5.zip – 2.9 MB
- ymir-macos-x86_64-v0.1.5.zip – 3.32 MB
Windows
- ymir-windows-x86_64-AVX2-v0.1.5.zip – 3.46 MB
- ymir-windows-x86_64-SSE2-v0.1.5.zip – 3.42 MB
Codice sorgente
Fonte: github.com
![[Scena Switch] Rilasciato NX Locale Switcher v1.1.4](https://www.biteyourconsole.net/wp-content/uploads/NXLocaleSwitcher1.jpg)
![[Scena Switch] Rilasciato ldn_mitm v1.23.0 con supporto per il nuovo firmware 21.X.X](https://www.biteyourconsole.net/wp-content/uploads/SwitchLan1.jpg)
![[Scena NDS/2DS/3DS] Rilasciato nds-bootstrap v2.11.0](https://www.biteyourconsole.net/wp-content/uploads/NDSBOOTSTRAP.jpg)
![[Scena PSP] FrogGBA si aggiorna alla versione 0.2.2: prestazioni, audio e grafica ottimizzati per Game Boy Advance su PSP](https://www.biteyourconsole.net/wp-content/uploads/FrogGBA1-100x75.webp)

