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

La novità più rilevante introdotta in questa nuova versione riguarda l’introduzione opzionale della Low-Level Emulation (LLE) per il CD Block, un sistema che emula a basso livello le operazioni del CD drive e dei comandi della CPU SH-1 integrata nel blocco.

Questa modalità richiede una ROM CD Block valida e, se attivata, impone un reset completo del sistema, poiché le modalità LLE e HLE non sono compatibili tra loro.
Nonostante il calo prestazionale stimato tra il 15 e il 20% dovuto all’emulazione di una CPU aggiuntiva, l’opzione corregge numerosi bug, permettendo ad almeno 23 titoli di avviarsi correttamente o di risolvere problemi importanti.
Alcuni giochi, come Grandia, Mahjong Hyper Reaction R e LifeScape – Seimei 40 Okunen Haruka na Tabi, presentano però nuove incompatibilità in LLE.
Oltre all’emulazione a basso livello dei CD Block, l’aggiornamento migliora significativamente la precisione dei timing di SH-2, M68EC000 e SCU DMA, risolvendo blocchi e softlock in titoli come Resident Evil, dove sequenze scriptate potevano rimanere bloccate.
I trasferimenti DMA ora vengono processati rispettando i cicli di bus, con componenti che attendono quando necessario, permettendo maggiore compatibilità anche senza abilitare LLE.
Il parser CUE è stato riscritto per correggere problemi di shift nelle tracce audio, e ora supporta correttamente file .wav in formato PCM stereo a 44100 Hz. I loader CHD e ISO sono stati aggiornati per gestire correttamente dump non standard, migliorando compatibilità e stabilità.
Il sistema di aggiornamenti automatici è stato integrato, permettendo di ricevere notifiche sulle nuove release direttamente all’avvio o tramite il menu dell’emulatore, con link diretti a note di rilascio e pacchetti binari.

Il debuggger è stato potenziato con finestre dedicate al tracciamento delle comunicazioni LLE CD Block, comandi e risposte, oltre a nuovi strumenti per VDP2, come il visualizzatore/editor delle palette CRAM e overlay grafici personalizzabili per monitorare strati, calcoli colore, rotazioni RBG0 e ombreggiature.

Numerosi fix minori riguardano gestione dei salvataggi, rewind buffer, caricamento media, DMA, SCU e VDP. Sono stati corretti problemi di crash, artefatti grafici e glitch di rendering in titoli come Grandia, Shichuu Suimei Pitagraph, Find Love 2 – The Prologue e Bug!, oltre a bug relativi a giochi homebrew.
Una nuova cartuccia di sviluppo DRAM da 6 MiB è stata introdotta per il prototipo di Heart of Darkness, e alcune modifiche allo SMPC permettono di avviare il BIOS dei dev kit.
Grazie a queste migliorie, Ymir ora raggiunge oltre il 90% di compatibilità con il catalogo Saturn, con molti titoli funzionanti perfettamente o con problemi minori risolti.
La combinazione del Low-Level CD Block emulation, ottimizzazioni dei bus SH-2/M68K e miglioramenti SCU DMA garantisce una fedele riproduzione dell’hardware originale, pur mantenendo la modalità High-Level Emulation per chi privilegia le prestazioni.
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: Aggiunta l’opzione per verificare la presenza di aggiornamenti all’avvio. Aggiunta anche l’azione di controllo manuale degli aggiornamenti. (#110)
- Build: Crea un bundle di app macOS. (#591;
@tegaidogun). - Carrello: Aggiunta una cartuccia DRAM di sviluppo da 6 MiB, richiesta dal prototipo Heart of Darkness. (#584)
- Blocco CD: implementata la modalità di emulazione opzionale di basso livello. Richiede ROM di blocco CD valide e ha un costo in termini di prestazioni considerevole, ma risolve numerosi problemi quando abilitata:
- La musica di Gunbird non si interrompe più quando si mette in pausa e si riprende il gioco (#625).
- Mr. Bones ora è stabile al 100% (#494).
- L’audio e il video di Pocket Fighter ora sono sincronizzati (#222).
- X-Men: Children of the Atom non si blocca più nella schermata di caricamento (#488).
- X-Men vs. Street Fighter e Marvel vs. Street Fighter non vengono più visualizzati alla fine del logo Capcom (#507).
- Ora diversi giochi si avviano correttamente:
- GameDB: Applicate le impostazioni specifiche del gioco direttamente nel core dell’emulatore anziché dal frontend.
- GameDB: Incluso il prototipo Heart of Darkness per inserire automaticamente la cartuccia DRAM di sviluppo da 6 MiB, consentendone l’utilizzo nel gioco. (#584)
- GameDB: Introdotto un flag per forzare tempi di bus rapidi per aggirare i problemi con X-Men/Marvel Super Heroes vs. Street Fighter. (#507)
- GameDB: Supporto per l’utilizzo di hash del disco nel database oltre ai codici prodotto.
- M68K, SH2: Implementati tempi di accesso approssimativi al bus. Correzione dei softlock in Resident Evil, Shichisei Toushin Guyferd – Crown Kaimetsu Sakusen e Densha de Go. (#41, #42, #333, #523)
- Supporto: Supporta tracce audio WAVE.
- SH2: Trasferimenti DMAC con conteggio ciclico. Necessario per il blocco CD LLE.
- SH2: Ottimizzati i controlli dei watchpoint per ridurre la penalizzazione delle prestazioni quando è abilitato il debug tracing.
- SMPC: Preinizializzato OREG31 su 0xF0 per evitare il blocco quando si tenta di avviare il BIOS del kit di sviluppo. (#612)
- VDP2: Aggiunto visualizzatore/editor palette CRAM.
- VDP2: Aggiunti overlay di debug: visualizzazione a livello singolo, pila di livelli, stati delle finestre, parametri di rotazione RBG0, calcoli dei colori e ombre.
Correzioni
- App: Evita il crash se la cartella
<profile>/roms/cartviene eliminata mentre l’emulatore è in esecuzione e l’utente tenta di caricare un gioco che richiede una cartuccia da quella cartella. - Blocco CD: Inizializza correttamente lo stato interno del filesystem e rimuove il controllo eccessivamente rigido sui salvataggi. Risolve crash legati al rewind buffer.
- GUI: Limita la dimensione massima di varie finestre.
- Media: Permette il caricamento di CHD che non contengono dati di settore raw, come quelli creati da ISO.
- Media: Limita il loader ISO ai soli file con estensione
.isoper evitare che l’utente carichi file.binal posto dei.cue. - Media: Le tracce includono ora le dimensioni delle unità oltre alle dimensioni dei settori, necessario solo per i CHD.
- Rewind: Permette di variare la dimensione della struttura di stato. Risolve crash occasionali durante il rewind.
- SCU: Ritarda i segnali di interruzione per i trasferimenti immediati in base alla lunghezza del trasferimento. Risolve diversi problemi di blocco/crash:
- Advanced V.G. (#227).
- Angel Graffiti S – Anata e no Profile (#461).
- Arcade Gears Vol. 1 – Pu-Li-Ru-La (#468).
- DeJig games (#399, #541).
- Dream Square – Hinagata Akiko (#361).
- Ferox prototype (#609).
- GeGeGe no Kitarou – Gentou Kaikitan (#396).
- Gekka no Kishi – Ouryuu-sen (#353).
- Goiken Muyou – Anarchy in the Nippon (#556).
- Horror Tour (#319).
- Kuro no Danshou – The Literary Fragment (#610).
- Mahou Shoujo Pretty Samy – Heart no Kimochi (#431).
- Marie no Atelier Ver. 1.3 – Salburg no Renkinjutsushi (#619).
- Mario Mushano no Chou Shougi Juku – Mario Mushano’s Hyper Shogi School (#430).
- Nonomura Byouin no Hitobito (#436).
- Pastel Muses (#380).
- Tenchi Muyou Rensa Hitsuyou (#339).
- Diverse app homebrew (#620, #626).
- SCU: Rende i trasferimenti DMA interrompibili per supportare le interazioni con il CD Block LLE.
- VDP1: Regola gli offset Y del framebuffer per il processo di cancellazione basato su TVMR.TVM. Risolve glitch di cancellazione in Grandia con mesh trasparenti.
- VDP2: I ritardi dei bitmap si verificano solo se i timing sono mappati su diversi chip VRAM, non su banche. Risolve lo spostamento a sinistra della targa del nome della squadra all’inizio di 3D Baseball. (#593).
- VDP2: Cancella il framebuffer quando si cambia risoluzione. Corregge gli artefatti a singolo fotogramma in più giochi che cambiano modalità senza cancellare lo schermo.
- VDP2: Sposta una cella dei pattern 2×2 con cicli di accesso illegali. Risolve testi corrotti in Shichuu Suimei Pitagraph. (#549)
- VDP2: Usa il rapporto di calcolo colore della linea quando LNCL è inserito sopra un layer che usa calcoli colore. Risolve lo sfondo del dialogo di testo in Find Love 2 – The Prologue. ( #618 )
- VDP2: Usa TVMD.DISP dallo stato threadato se il rendering avviene con un thread VDP2 dedicato. Risolve strisce nere nella parte inferiore dello schermo in Bug!. ( #623 )
Quale versione scaricare
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.2.0.tar.xz – 6.42 MB
- ymir-linux-x86_64-AVX2-v0.2.0.tar.xz – 6.63 MB
- ymir-linux-x86_64-SSE2-v0.2.0.tar.xz – 6.62 MB
MacOS
- ymir-macos-x64-v0.2.0.zip – 14.4 MB
- ymir-macos-arm64-v0.2.0.zip – 14.9 MB
Windows
- ymir-windows-ARM64-v0.2.0.zip – 6.67
- ymir-windows-x86_64-AVX2-v0.2.0.zip – 7.1 MB
- ymir-windows-x86_64-SSE2-v0.2.0.zip – 7.07 MB
Codice sorgente
Fonte: github.com
![[Scena DS] Rilasciato SpeccySE v1.7a e v1.7b: corretti crash e problemi di caricamento su Nintendo DS](https://www.biteyourconsole.net/wp-content/uploads/SpeccySE-1-238x178.webp)

![[Scena PS Vita] Rilasciato Apollo Save Tool Vita v2.0.4 ora con supporto multilingua e miglioramenti tecnici](https://www.biteyourconsole.net/wp-content/uploads/ApolloSaveToolVita-238x178.jpg)
![[Scena DS] Rilasciato SpeccySE v1.7a e v1.7b: corretti crash e problemi di caricamento su Nintendo DS](https://www.biteyourconsole.net/wp-content/uploads/SpeccySE-1-100x75.webp)

![[Scena PS Vita] Rilasciato Apollo Save Tool Vita v2.0.4 ora con supporto multilingua e miglioramenti tecnici](https://www.biteyourconsole.net/wp-content/uploads/ApolloSaveToolVita-100x75.jpg)


