Це порт Android для [Ymir](https://github.com/StrikerX3/Ymir), емулятора Sega Saturn від StrikerX3.
NEON SATURN зберігає ядро емуляції Ymir як є та замінює інтерфейс робочого столу рідним для Android: майстер налаштування, бібліотека обкладинок ігор, сенсорне керування в стилі Saturn та меню швидких дій у грі.
## Функції
### Бібліотека
- Майстер налаштування для імпорту IPL (BIOS) ROM та вказівки програми на папку з іграми
- Папка з іграми зчитується через Storage Access Framework, тому вона може знаходитися будь-де на пристрої
- Три режими перегляду бібліотеки, що змінюються з заголовка: список, обкладинки NA-коробок та японські футляри для коштовностей
- Обкладинка з перспективою, відображеннями та центруванням сторінок
- Обкладинка завантажується та кешується на вимогу або завантажується масово з налаштувань
- Анімований фон зоряного поля
- Світла / темна / тема слідування системі, за замовчуванням темна
### У грі
- Сенсорне керування в стилі Сатурна: D-pad, аналоговий стік, A/B/C, X/Y/Z, L/R, Пуск
- Повністю переміщуване розташування, що зберігається окремо для портретної та альбомної орієнтації
- Кнопки перемотування назад та вперед на накладці
- Меню швидких дій (кнопка назад або геймпад Вибір): відновити, зберегти стан, завантажити стан, вийти
- Підтримка фізичного геймпада та клавіатури через 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 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