Dit is een Android-port van [Ymir](https://github.com/StrikerX3/Ymir), de Sega Saturn-emulator van StrikerX3.
NEON SATURN behoudt de emulatiekern van Ymir zoals die is en vervangt de desktopinterface door een native Android-interface: een installatiewizard, een gamebibliotheek met coverafbeeldingen, touchbediening in Saturn-stijl en een menu met snelle acties in de game.
## Functies
### Bibliotheek
- Installatiewizard voor het importeren van de IPL (BIOS) ROM en het koppelen van de app aan een gamemap
- De gamemap wordt gelezen via het Storage Access Framework, waardoor deze overal op het apparaat kan staan
- Drie bibliotheekweergaven, die vanuit de header kunnen worden gewisseld: een lijst, Noord-Amerikaanse boxcovers en Japanse jewelcases
- Coverflow met perspectief, reflecties en automatisch centreren
- Coverafbeeldingen worden op aanvraag opgehaald en in de cache opgeslagen, of in bulk gedownload via Instellingen
- Geanimeerde sterrenhemelachtergrond
- Licht / donker / volgsysteemthema, standaard donker
### In de game
- Aanraakbediening in Saturn-stijl: D-pad, analoge stick, A/B/C, X/Y/Z, L/R, Start
- Volledig verplaatsbare lay-out, apart opgeslagen voor portret- en landschapsmodus
- Terugspoel- en vooruitspoelknoppen op de overlay
- Menu met snelle acties (terugknop of Select op de gamepad): hervatten, spelstatus opslaan, spelstatus laden, afsluiten
- Fysieke gamepad en Toetsenbordondersteuning via SDL, inclusief een meegeleverde controllerdatabase
### Emulatieopties
- Beeldverhouding: 4:3, 16:9 of stretch
- Textuurfiltering: scherp (dichtstbijzijnde) of vloeiend (bilineair)
- Upscalingfilter: uit, of 6x xBRZ
- Deinterlaced rendering van hoge resolutiemodi
- Rendering van transparante mesh-polygonen
- Terugspoelbuffer (ongeveer vijf seconden bij 60 fps), standaard uitgeschakeld
- Optionele low-level CD-blokemulatie wanneer een CD-blok-ROM wordt geïmporteerd
## Gebruik
Installeer de app. De installatiewizard vraagt om twee dingen:
1. **IPL BIOS** — importeer een Saturn BIOS-ROM (`.bin` of `.rom`). Vereist.
2. **Games-map** — kies de map met uw schijfimages. Vereist.
Een **CD-blok-ROM** kan ook worden geïmporteerd. Dit is optioneel en maakt low-level CD-blokemulatie mogelijk.
Zodra de BIOS en de gamemap zijn ingesteld, vervangt de bibliotheek de wizard. Tik op een game om deze te selecteren en te starten.
Het tandwielpictogram in de header opent de instellingen; het pictogram links schakelt tussen de lijstweergave en de coverweergave.
Ondersteunde schijfformaten: **MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS en ISO**. Voor multi-bestandsformaten moeten de bijbehorende muziekbestanden zich in dezelfde map bevinden. De launcher controleert hierop en weigert te starten als deze ontbreken.
## Opmerkingen en beperkingen
**Upscaling verhoogt de interne resolutie niet.** De core van Ymir heeft alleen een software-renderer en rasteriseert op de native resolutie van de Saturn. Het upscalingfilter is daarom een randgevoelige smoothing-pass die wordt toegepast op het voltooide frame. Het verscherpt 2D-sprites en achtergronden merkbaar; het kan geen 3D-details toevoegen. Echte rendering op interne resolutie zou een hardware-renderer in de core vereisen, die er nog niet is.
**Terugspoelen kost CPU en geheugen.** Het slaat de emulatorstatus elke frame op en bewaart een paar seconden aan
LZ4-gecomprimeerde delta's, dus het is standaard uitgeschakeld en de knop op het scherm is verborgen totdat deze is ingeschakeld.
**Instellingen worden toegepast bij het opstarten.** Grafische en terugspoelopties worden gelezen wanneer een spel start, dus wijzigingen
worden van kracht de volgende keer dat je een spel start.
## Credits en licentie
NEON SATURN is gelicentieerd onder de **GNU General Public License v3.0** — zie [LICENSE](LICENSE).
- **[Ymir](https://github.com/StrikerX3/Ymir)** van StrikerX3 — de emulatorkern en alles waarop deze port
is gebouwd. Als je dit leuk vindt, steun dan de auteur op
[Patreon](https://www.patreon.com/StrikerX3) en word lid van de
[Discord](https://discord.gg/NN3A7n5dzn).
- **[Kronos](https://github.com/FCare/Kronos)** / **Yabause** — de 6x xBRZ-upscalingshader in
[`android/app/src/main/cpp/xbrz6x_shader.hpp`](android/app/src/main/cpp/xbrz6x_shader.hpp), gebruikt onder
GPL-2.0 of later. De originele copyrightvermelding is in dat bestand behouden.
- **[SDL3](https://github.com/libsdl-org/SDL)** — vensterbeheer, audio, invoer en de Android-activiteit.
Een Sega Saturn-emulator