Гэта порт Android-версіі [Ymir](https://github.com/StrikerX3/Ymir), эмулятара Sega Saturn ад StrikerX3.
NEON SATURN захоўвае ядро эмуляцыі Ymir як ёсць і замяняе інтэрфейс працоўнага стала родным для Android: майстар налады, бібліятэка вокладак гульняў, сэнсарнае кіраванне ў стылі Saturn і меню хуткіх дзеянняў у гульні.
## Функцыі
### Бібліятэка
- Майстар налады для імпарту IPL (BIOS) ROM і накіравання праграмы на тэчку з гульнямі
- Тэчка з гульняў зчытваецца праз Storage Access Framework, таму яна можа знаходзіцца ў любым месцы на прыладзе
- Тры прагляды бібліятэкі, якія цыклічна змяняюцца з загалоўка: спіс, вокладкі скрынак NA і японскія футляры для каштоўных камянёў
- Вокладка з перспектывай, адлюстраваннямі і прывязкай да цэнтра старонкі
- Вокладка загружаецца і кэшуецца па патрабаванні або спампоўваецца масава з налад
- Аніміраваны фон зорнага поля
- Светлая / цёмная / сістэматычная тэма, па змаўчанні цёмная
### У гульні
- Сэнсарнае кіраванне ў стылі Saturn: D-pad, аналагавы стік, A/B/C, X/Y/Z, L/R, Пуск
- Цалкам зменная макетка, якая захоўваецца асобна для партрэтнай і альбомнай арыентацыі
- Кнопкі перамоткі назад і наперад на пласце
- Меню хуткіх дзеянняў (кнопка назад або геймпад Select): аднаўленне, захаванне стану, загрузка стану, выхад
- Падтрымка фізічнага геймпада і клавіятуры праз SDL, у тым ліку ў камплекце База дадзеных кантролера
### Варыянты эмуляцыі
- Суадносіны бакоў: 4:3, 16:9 або расцяжэнне
- Фільтраванне тэкстур: рэзкае (найбліжэйшае) або гладкае (білінейнае)
- Фільтр маштабавання: выключана або 6x xBRZ
- Дэінтэрлейсаваны рэндэрынг рэжымаў высокага разрознення
- Рэндэрынг палігонаў празрыстай сеткі
- Буфер перамоткі (каля пяці секунд пры 60 кадрах у секунду), па змаўчанні выключана
- Дадатковая нізкаўзроўневая эмуляцыя блока CD пры імпарце ROM-блока CD
## Выкарыстанне
Усталюйце праграму. Майстар усталёўкі запытае дзве рэчы:
1. **IPL BIOS** — імпартаваць ROM Saturn BIOS (`.bin` або `.rom`). Абавязкова.
2. **Папка гульняў** — выбраць папку, якая змяшчае вобразы вашых дыскаў. Абавязкова.
Таксама можна імпартаваць **ROM-блок CD**. Гэта неабавязкова і дазваляе нізкаўзроўневую эмуляцыю блока CD.
Пасля таго, як тэчкі BIOS і гульняў настроены, бібліятэка замяняе майстар. Націсніце на гульню, каб падрыхтаваць і запусціць яе. Значок шасцярэнькі ў загалоўку адкрывае налады; значок злева пераключаецца паміж праглядамі спісу і вокладкі.
Падтрымліваюцца фарматы дыскаў: **MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS і ISO**. Для фарматаў з некалькімі файламі патрабуецца, каб іх
файлы суправаджальных дарожак знаходзіліся ў адной тэчцы — праграма запуску правярае іх наяўнасць і адмаўляецца запускацца, калі яны адсутнічаюць.
## Заўвагі і абмежаванні
**Павелічэнне маштабавання не павялічвае ўнутранае разрозненне.** Ядро Ymir мае толькі праграмны рэндэр і
растрызуецца з натыўным разрозненнем Saturn, таму фільтр павелічэння маштабавання — гэта згладжванне з улікам краёў, якое ўжываецца
да гатовага кадра. Ён прыкметна павялічвае рэзкасць 2D-спрайтаў і фонаў; ён не можа дадаць 3D-дэталізацыю. Рэальны
рэндэрынг з унутраным разрозненнем запатрабаваў бы апаратнага рэндэра ў ядры, якога пакуль не існуе.
**Перамотка назад спажывае рэсурсы працэсара і памяці.** Яна захоўвае стан эмулятара кожны кадр і захоўвае некалькі секунд
сціснутых LZ4 дэльт, таму па змаўчанні яна выключана, а яе экранная кнопка схавана, пакуль не будзе ўключана.
**Налады прымяняюцца пры запуску.** Параметры графікі і перамоткі назад зчытваюцца пры запуску гульні, таму іх змяненне
ўступае ў сілу пры наступным запуску гульні.
## Аўтары і ліцэнзія
NEON SATURN ліцэнзуецца па **GNU General Public License v3.0** — гл. [ЛІЦЭНЗІЯ](LICENSE).
- **[Ymir](https://github.com/StrikerX3/Ymir)** ад StrikerX3 — ядро эмулятара і ўсё, на чым пабудаваны гэты порт.
Калі вам гэта падабаецца, падтрымайце аўтара на [Patreon](https://www.patreon.com/StrikerX3) і далучайцеся да [Discord](https://discord.gg/NN3A7n5dzn).
- **[Kronos](https://github.com/FCare/Kronos)** / **Yabause** — шэйдар маштабавання xBRZ у 6x у
[`android/app/src/main/cpp/xbrz6x_shader.hpp`](android/app/src/main/cpp/xbrz6x_shader.hpp), які выкарыстоўваецца пад GPL-2.0-ці больш позняй версіяй. Арыгінальнае паведамленне аб аўтарскіх правах захоўваецца ў гэтым файле.
- **[SDL3](https://github.com/libsdl-org/SDL)** — кіраванне вокнамі, аўдыё, увод і актыўнасць Android.
Эмулятар Sega Saturn