Questa è una versione per Android di [Ymir](https://github.com/StrikerX3/Ymir), l'emulatore Sega Saturn di StrikerX3.
NEON SATURN mantiene il nucleo di emulazione di Ymir così com'è e sostituisce l'interfaccia desktop con un'interfaccia nativa per Android:
una procedura guidata di configurazione, una libreria di giochi con le copertine, controlli touch in stile Saturn e un menu di azioni rapide in gioco.
## Funzionalità
### Libreria
- Procedura guidata di configurazione per importare la ROM IPL (BIOS) e indicare all'app la cartella dei giochi
- La cartella dei giochi viene letta tramite Storage Access Framework, quindi può trovarsi ovunque sul dispositivo
- Tre visualizzazioni della libreria, selezionabili dall'intestazione: elenco, copertine nordamericane e custodie giapponesi
- Coverflow con prospettiva, riflessi e paginazione con aggancio al centro
- Le copertine vengono recuperate e memorizzate nella cache su richiesta o scaricate in blocco dalle Impostazioni
- Sfondo animato con cielo stellato
- Tema chiaro/scuro/segui il sistema, predefinito scuro
### In gioco
- Overlay di controllo touch in stile Saturn: D-pad, stick analogico, A/B/C, X/Y/Z, L/R, Start
- Layout completamente riposizionabile, memorizzato separatamente per la modalità verticale e orizzontale
- Pulsanti di riavvolgimento e avanzamento veloce sull'overlay
- Menu azioni rapide (tasto Indietro o Select del gamepad): riprendi, salva stato, carica stato, esci
- Gamepad e tastiera fisici Supporto tramite SDL, incluso un database di controller integrato
### Opzioni di emulazione
- Proporzioni: 4:3, 16:9 o allungato
- Filtro texture: nitido (più vicino) o liscio (bilineare)
- Filtro di upscaling: disattivato o 6x xBRZ
- Rendering deinterlacciato delle modalità ad alta risoluzione
- Rendering di poligoni mesh trasparenti
- Buffer di riavvolgimento (circa cinque secondi a 60 fps), disattivato per impostazione predefinita
- Emulazione opzionale a basso livello del blocco CD quando viene importata una ROM a blocchi CD
## Utilizzo
Installa l'applicazione. La procedura guidata di installazione richiede due cose:
1. **BIOS IPL** — importa una ROM BIOS Saturn (`.bin` o `.rom`). Obbligatorio.
2. **Cartella dei giochi** — scegli la cartella contenente le immagini dei dischi. Obbligatorio.
È possibile importare anche una **ROM a blocchi CD**. È opzionale e abilita l'emulazione a basso livello del blocco CD.
Una volta impostati il BIOS e la cartella dei giochi, la libreria sostituisce la procedura guidata. Tocca un gioco per selezionarlo e avviarlo. L'icona a forma di ingranaggio nell'intestazione apre le Impostazioni; l'icona a sinistra permette di passare dalla visualizzazione elenco a quella copertina.
Formati disco supportati: **MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS e ISO**. I formati multi-file richiedono che i relativi file audio siano presenti nella stessa cartella: il launcher li verifica e si rifiuta di avviarsi se mancano.
## Note e limitazioni
**L'upscaling non aumenta la risoluzione interna.** Il core di Ymir ha solo un renderer software e
rasterizza alla risoluzione nativa del Saturn, quindi il filtro di upscaling è un passaggio di smoothing che tiene conto dei bordi applicato
al frame finale. Aumenta notevolmente la nitidezza degli sprite 2D e degli sfondi; non può aggiungere dettagli 3D. Un rendering a risoluzione interna reale richiederebbe un renderer hardware nel core, che al momento non esiste.
**La funzione di riavvolgimento consuma CPU e memoria.** Salva lo stato dell'emulatore a ogni frame e conserva alcuni secondi di delta compressi con LZ4, quindi è disattivata per impostazione predefinita e il relativo pulsante a schermo è nascosto finché non viene abilitata.
**Le impostazioni vengono applicate all'avvio.** Le opzioni grafiche e di riavvolgimento vengono lette all'avvio di un gioco, quindi le modifiche apportate
avranno effetto al successivo avvio del gioco.
## Crediti e licenza
NEON SATURN è rilasciato sotto la **GNU General Public License v3.0** — vedi [LICENSE](LICENSE).
- **[Ymir](https://github.com/StrikerX3/Ymir)** di StrikerX3 — il nucleo dell'emulatore e tutto ciò su cui si basa questa versione.
Se ti piace, supporta l'autore originale su
[Patreon](https://www.patreon.com/StrikerX3) e unisciti al
[Discord](https://discord.gg/NN3A7n5dzn).
- **[Kronos](https://github.com/FCare/Kronos)** / **Yabause** — lo shader di upscaling 6x xBRZ in
[`android/app/src/main/cpp/xbrz6x_shader.hpp`](android/app/src/main/cpp/xbrz6x_shader.hpp), utilizzato sotto
licenza GPL-2.0 o successiva. L'avviso di copyright originale è conservato in quel file.
- **[SDL3](https://github.com/libsdl-org/SDL)** — gestione delle finestre, audio, input e attività Android.
Un emulatore per Sega Saturn
Ultimo aggiornamento
31 ott 2026