Home Emulatori Rilasciato Ymir v0.3.0: L’emulatore che riaccende la magia del SEGA Saturn su...

Rilasciato Ymir v0.3.0: L’emulatore che riaccende la magia del SEGA Saturn su PC Windows, MacOS e Linux

178
0

Il developer brasiliano StrikerX3 ha rilasciato la versione 0.3.0 di Ymir, l’emulatore open-source che in pochissimo tempo si è guadagnato la nomea di uno dei progetti più promettenti (e veloci) nel mondo dell’emulazione.

Lo sviluppo di Ymir si concentra soprattutto su stabilità, accuratezza e compatibilità, portando l’emulatore a superare il 92% della libreria complessiva, un risultato che lo avvicina concretamente a soluzioni più consolidate come Kronos, ma con il vantaggio di un’architettura moderna e di uno sviluppo estremamente rapido.

Il miglioramento più importante riguarda la revisione del sistema di calcolo dei cicli del VDP1, il chip grafico principale della console.

Anche se non è ancora perfettamente fedele all’hardware originale, questo nuovo approccio riduce drasticamente crash, rallentamenti e glitch grafici, rendendo molti titoli finalmente giocabili o molto più stabili.

A questo si affianca l’introduzione di flag specifici per singolo gioco, che permettono di risolvere bug particolarmente complessi senza compromettere il funzionamento dei titoli già compatibili.

Sul fronte delle funzionalità, Ymir introduce il supporto a nuove periferiche come lo Shuttle Mouse e, in forma ancora sperimentale, la Virtua Gun.

Quest’ultima al momento è limitata alle build nightly e funziona in modo accettabile solo con House of the Dead, mentre il mouse è già utilizzabile nei giochi compatibili.

Interessante anche il nuovo sistema di gestione del puntatore, che consente sia l’uso del cursore di sistema sia il collegamento di più mouse fisici indipendenti.

Un altro passo avanti importante riguarda i save state, che ora includono funzioni di annullamento sia del salvataggio sia del caricamento.

Questo significa poter recuperare uno stato precedente in caso di errore, grazie a uno slot aggiuntivo per ogni salvataggio e a uno stato globale per i caricamenti. Si tratta di una miglioria pratica che rende l’esperienza molto più flessibile e sicura.

Il debugger SH2 riceve un aggiornamento sostanziale, con nuove viste dedicate allo stack dei dati e delle chiamate, una navigazione più intuitiva e la possibilità di attivare o disattivare breakpoint e watchpoint senza eliminarli.

Le prestazioni sono state ottimizzate e l’interfaccia è diventata più leggibile, con strumenti avanzati per analizzare anche i pattern di accesso alla VRAM.

L’interfaccia utente viene arricchita con nuove opzioni per la gestione dello schermo intero, la selezione della risoluzione e del display, oltre alla possibilità di scegliere tra diversi backend grafici come Direct3D, Vulkan, Metal e OpenGL.

Questa flessibilità prepara il terreno al rendering via GPU, ancora in sviluppo ma rimandato per dare priorità alla stabilità.

Dal punto di vista tecnico, sono stati introdotti miglioramenti anche nella compilazione e compatibilità delle build, con il ritorno del supporto alle CPU più vecchie grazie alla corretta implementazione SSE2 su Windows e una gestione più semplice delle firme su macOS.

Sono stati inoltre risolti numerosi bug legati a CPU, VDP1, VDP2, input e MIDI, contribuendo a un’esperienza complessivamente più solida.

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 opzione da riga di comando -F/--fast-forward per avviare l’emulatore in modalità avanzamento rapido.
  • App: Usa sempre la modalità installata sotto Flatpak.
  • App: Controlla la presenza del profilo nella posizione dell’eseguibile. (#706)
  • App: Avvisa gli utenti riguardo ai permessi del filesystem Flatpak se l’app è in esecuzione nel sandbox e un’immagine disco non riesce a caricarsi.
  • Backup RAM: Supporto per file mappati in memoria in-memory e copy-on-write oltre ai normali file mappati in memoria.
  • Build: Aggiunto un semplice sistema di feature flags. Tutte le feature flags sono abilitate di default nelle build di sviluppo (incluse le nightly).
  • Build: Supporto alle build con Profile-Guided Optimization (PGO). (#742; @mmkzer0)
  • Debugger: Consentito lo scorrimento della vista di disassemblaggio SH2. (#743; @mmkzer0)
  • Debugger: Colorazione degli slot temporali di accesso alla VRAM nel delay viewer.
  • Debugger: Implementata la navigazione e interazione da tastiera nella vista di disassemblaggio SH2:
    • Tasti Freccia su/giù: sposta il cursore su/giù di un’istruzione.
    • Pagina su/giù: sposta il cursore su/giù di una pagina.
    • Home/End: sposta il cursore all’inizio/fine della viewport.
    • Il cursore viene mantenuto sotto il 15% dalla parte superiore e sopra il 35% dalla parte inferiore della viewport.
  • Debugger: Gestione dei breakpoint e watchpoint SH2 nel frontend con possibilità di abilitarli/disabilitarli senza rimuoverli dalla lista.
  • Debugger: Ottimizzati breakpoint e watchpoint SH2 quando il debug tracing è attivo. Non aumentano più di costo con il numero di elementi e il costo base è inferiore rispetto a prima.
  • Debugger: Tracciamento e visualizzazione dello stack delle chiamate SH2.
  • Debugger: Tracciamento e visualizzazione del contenuto dello stack dati SH2.
  • GameDB: Aggiunti nuovi flag specifici per gioco per migliorare la compatibilità:
    • Raddoppia la frequenza di clock del MC68EC000
    • Blocca il rendering del VDP1 durante le scritture in VRAM
    • Rallenta il rendering del VDP1
    • Rilassa i controlli di accesso alla VRAM CP bitmap del VDP2
  • Input: Aggiunto supporto per eventi del mouse.
  • Input: Cattura del mouse per periferiche light gun e mouse, con supporto alle seguenti modalità:
    • Mouse di sistema: associa il cursore del mouse di sistema a una singola periferica. Il cursore resta utilizzabile per interagire con la GUI.
    • Mouse fisico: associa uno o più mouse a periferiche diverse. Disabilita il cursore di sistema mentre almeno un mouse è associato. NOTA: Questa opzione è disponibile solo nelle build nightly a causa di problemi con la Virtua Gun. (#787) L’opzione di cattura del mouse di sistema funziona solo con la Virtua Gun.
  • Input: Implementazione sperimentale della periferica Virtua Gun. (#33)NOTA: Questa funzionalità è disponibile solo nelle build nightly al momento a causa di problemi nella maggior parte dei giochi. (#787)
    Solo House of the Dead è noto per funzionare con piccoli errori di precisione del mirino.
  • Input: Implementata la periferica Shuttle Mouse. (#32)
  • MIDI: Forza RtMidi a usare una API dummy se non riesce a inizializzarsi, permettendo a Ymir di funzionare senza driver MIDI.
  • Save states: Aggiunte azioni per annullare un salvataggio e ripristinare uno stato annullato. (#700, #727; @Fueziwa)
  • Save states: Memorizzato uno stato aggiuntivo per slot per la funzione di annullamento. (#700, #727; @Fueziwa)
  • Settings: Mostra il percorso del profilo attualmente caricato in Settings > General.
  • System: Ora è possibile selezionare una variante di sistema preferita (Saturn, HiSaturn, V-Saturn o Dev Kit) e Ymir sceglierà automaticamente la IPL ROM corrispondente. (#637, #725; @Fueziwa)
  • Video: Aggiunta opzione per abilitare/disabilitare la sincronizzazione video in modalità schermo intero.
  • Video: Consentita la selezione della risoluzione in full screen e del display di destinazione. (#705)
  • Video: Consentito il cambio dei backend grafici per il rendering della GUI.

Correzioni

  • Build: Introdotte toolchain separate x64-win-llvm per il supporto SSE2 e AVX2. Risolve il problema delle build Windows SSE2 che richiedevano istruzioni SSE4.2. (#713; grazie a @Wunkolo)
  • Build: Applicata firma ad-hoc ai binari macOS per aggirare l’avviso “app danneggiata”. (#698; grazie a @Wunkolo)
  • Build: Rimosso il binario duplicato dai pacchetti macOS.
  • GameDB: Raddoppiata la frequenza di clock del MC68EC000 e forzati timing bus veloci per risolvere crash in Vampire Savior – The Lord of Vampire. (#699)
  • GameDB: Forzata l’emulazione della cache SH2 per risolvere problemi in diversi giochi:
    • Baku Baku Animal – World Zookeeper Contest (solo Europa) — blocco durante la riproduzione degli FMV dal menu Opzioni (#642)
    • Chisato Moritaka – Watarase Bashi & Lala Sunshine — crash all’avvio (#604)
    • Dragon Ball Z – Idainaru Dragon Ball Densetsu — schermo nero dopo l’avvio di una nuova partita (#538)
    • Emit Vol. 3 – Watashi ni Sayonara o — tearing negli FMV (#797)
    • Metal Fighter Miku — schermo nero dopo il menu iniziale (#466)
    • Spot Goes to Hollywood — grafica glitchata solo nella versione europea (#520)
    • Steamgear Mash — grafica tremolante (#440)
    • Waku Waku 7 — sprite tremolanti (#424)
  • GameDB: Forzati timing bus veloci per risolvere crash in Deep Fear. (#740)
  • GameDB: Rallentato VDP1 per risolvere regressione di mancato avvio in Jikkyou Oshaberi Parodius. (#283)
  • GameDB: Rallentato VDP1 per risolvere problemi di prestazioni in Fishing Koushien II. (#812)
  • Input: Corretta la conversione da analogico a D-Pad per evitare la sovrascrittura quando un input veniva rilasciato nella direzione opposta. (#754; @PringleElUno)
  • MIDI: Prevenuti crash quando la libreria non riesce a inizializzarsi.
  • SCU: Correzioni ai timer. (grazie a @celeriyacon)
  • SH2: Bloccate le interruzioni nelle istruzioni successive a LDC/LDS/STC/STS. (grazie a @celeriyacon)
  • SH2: Correzioni all’emulazione della cache. (grazie a @celeriyacon)
  • SH2: Corretto il caricamento @(disp.PC) erroneamente decodificato come store per i watchpoint.
  • SH2: Corretto il decoding ldc/lds @Rm dai bit opcode errati per i watchpoint.
  • SH2: Correzioni alla priorità e al trigger delle interruzioni. (grazie a @celeriyacon)
  • VDP1: Corretta la gestione della dimensione orizzontale zero dei caratteri in CMDSIZE.
  • VDP1: Corretta la race condition nello swap dei framebuffer con rendering VDP1 multithread. Risolve grafica tremolante in diversi giochi:
    • Actua Golf (#794)
    • FIFA – Road to World Cup 98 (#800)
    • Gran Chaser (#763)
  • VDP1: Aumentato il ritardo di disegno PTM=1 e applicato solo durante il VBlank. Risolve grafica tremolante in Earthworm Jim 2. (#745)
  • VDP1: Caricamento corretto dei dati dei save state con rendering VDP1 multithread attivo.
  • VDP1: Rivisto il metodo di conteggio dei cicli e aumentato il budget per frame. Risolve rallentamenti in Road Rash e glitch grafici in diversi giochi, inclusi Virtua Cop e Burning Rangers. (#704, #721, #722)
  • VDP1: Bloccato il rendering durante le scritture VRAM esclusivamente in Mega Man X3 e Rockman X3 per correggere sprite corrotti. (#244)
  • VDP1: Interrotta l’elaborazione dei comandi in presenza di un’entry tutta a zero. Risolve coordinate di clipping non valide in Sekai no Shasou kara – I Swiss-hen – Alps Tozantetsudou no Tabi. (#761)
  • VDP2: Applicato shift di accesso VRAM per banco agli NBG con pattern temporali non validi. Risolve spostamento del titolo in World Heroes Perfect e HUD spostato e sfondo rotto in Cyberbots – Fullmetal Madness stage 2. (#756)
  • VDP2: Rimosso flag ombra normale dai pixel sprite trasparenti. Risolve ombre verticali estese in Tokyo Shadow. (#752)
  • VDP2: Calcolati ritardi/offset di scroll verticale delle celle anche quando l’effetto viene attivato/disattivato oltre ai cambi nei cicli di accesso.
  • VDP2: Consolidata la gestione dei dati sprite e corretto il readout a 16-bit dei dati sprite a 8-bit. Risolve grafica corrotta in NBA Live 98 durante il gioco.
  • VDP2: Convertito l’hack “consenti accesso bitmap durante cicli SH-2” in flag specifico per gioco e abilitato solo dove necessario:
    • Lunar – Silver Star Story
    • Mechanical Violator Hakaider
    • Shin Kaitei Gunkan
  • VDP2: Corretti e ottimizzati i controlli di accesso per-dot ai coefficienti. Risolve glitch grafici in Radiant Silvergun dopo aver interrotto il boss AKA-O in attract mode.
  • VDP2: Corretti i calcoli di priorità speciali per-dot degli NBG. Risolve problemi di priorità in Mr. Bones. (#703)
  • VDP2: Accessi CP di scroll illegali causano uno shift se non ci sono abbastanza accessi validi negli altri banchi e avvengono nello stesso banco dell’accesso PN. Risolve spostamento nebbia in Sonic 3D Blast. (#798)
  • VDP2: Accessi CP di scroll illegali in modalità low-res gestiti diversamente tra T0-T3 e T4-T7. Risolve gap negli sfondi in X-Men vs. Street Fighter. (#775)
  • VDP2: Accessi VC multipli nello stesso slot temporale non causano ritardi extra. Risolve glitch FMV in Girls in Motion Puzzle Vol. 1 – Hiyake no Omoide + Himekuri. (#466)
  • VDP2: Rilevamento pattern speciale degli sprite mancava di un bit.
  • VDP2: Utilizzato solo il primo accesso PN per verificare accessi CP validi. Risolve shift grafico in Daisuki e BattleSport. (#769, #770)

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

MacOS

Windows

Codice sorgente

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: PS5

Vedi altri prodotti PS5

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

Ultimo aggiornamento 2026-06-08 / Link di affiliazione / Immagini da Amazon Product Advertising API

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

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