Esta é uma versão para Android do [Ymir](https://github.com/StrikerX3/Ymir), o emulador de Sega Saturn do StrikerX3.
NEON SATURN mantém o núcleo de emulação do Ymir intacto e substitui a interface para desktop por uma interface nativa para Android: um assistente de configuração, uma biblioteca de jogos com capas, controles de toque no estilo Saturn e um menu de ações rápidas dentro do jogo.
## Recursos
### Biblioteca
- Assistente de configuração para importar a ROM IPL (BIOS) e direcionar o aplicativo para uma pasta de jogos
- A pasta de jogos é lida através do Storage Access Framework, portanto, pode estar localizada em qualquer lugar do dispositivo
- Três visualizações da biblioteca, alternadas a partir do cabeçalho: lista, capas de jogos da América do Norte e capas de jogos japonesas
- Coverflow com perspectiva, reflexos e paginação com alinhamento automático ao centro
- Capas de jogos buscadas e armazenadas em cache sob demanda ou baixadas em lote nas Configurações
- Plano de fundo animado com estrelas
- Tema claro / escuro / seguir o sistema, com o tema escuro como padrão
### No jogo
- Sobreposição de controle por toque no estilo Saturn: D-pad, joystick analógico, A/B/C, X/Y/Z, L/R, Start
- Layout totalmente reposicionável, armazenado separadamente para retrato e paisagem
- Botões de retroceder e avançar na sobreposição
- Menu de ações rápidas (botão Voltar ou Select do gamepad): retomar, salvar estado, carregar estado, sair
- Gamepad e teclado físicos Suporte via SDL, incluindo um banco de dados de controladores integrado
### Opções de emulação
- Proporção da tela: 4:3, 16:9 ou esticada
- Filtragem de textura: nítida (mais próxima) ou suave (bilinear)
- Filtro de ampliação: desativado ou 6x xBRZ
- Renderização desentrelaçada de modos de alta resolução
- Renderização de polígonos de malha transparente
- Buffer de retrocesso (cerca de cinco segundos a 60 fps), desativado por padrão
- Emulação opcional de blocos de CD em baixo nível quando um bloco de CD ROM é importado
## Uso
Instale o aplicativo. O assistente de instalação solicitará duas informações:
1. **BIOS IPL** — importe um arquivo BIOS ROM do Saturn (`.bin` ou `.rom`). Obrigatório.
2. **Pasta de jogos** — escolha a pasta que contém suas imagens de disco. Obrigatório.
Um **bloco de CD ROM** também pode ser importado. É opcional e habilita a emulação de blocos de CD em baixo nível.
Após configurar a BIOS e a pasta de jogos, a biblioteca substitui o assistente. Toque em um jogo para prepará-lo e iniciá-lo. O ícone de engrenagem no cabeçalho abre as Configurações; o ícone à esquerda alterna entre as visualizações de lista e capa.
Formatos de disco suportados: **MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS e ISO**. Formatos com vários arquivos precisam que seus
arquivos de trilha complementares estejam presentes na mesma pasta — o inicializador verifica a presença deles e se recusa a iniciar se estiverem faltando.
## Observações e limitações
**O aumento de escala não eleva a resolução interna.** O núcleo do Ymir possui apenas um renderizador de software e
rasteriza na resolução nativa do Saturn, portanto, o filtro de aumento de escala é uma suavização com reconhecimento de bordas aplicada
ao quadro finalizado. Ele torna os sprites e planos de fundo 2D perceptivelmente mais nítidos; não pode adicionar detalhes 3D. A renderização em resolução interna real
exigiria um renderizador de hardware no núcleo, que ainda não existe.
**O recurso de retroceder consome CPU e memória.** Ele salva o estado do emulador a cada quadro e mantém alguns segundos de
deltas comprimidos em LZ4, portanto, está desativado por padrão e seu botão na tela fica oculto até ser ativado.
**As configurações são aplicadas na inicialização.** As opções de gráficos e retroceder são lidas quando um jogo é iniciado, portanto, alterá-las
entra em vigor na próxima vez que você iniciar um jogo.
## Créditos e licença
NEON SATURN é licenciado sob a **GNU General Public License v3.0** — veja [LICENSE](LICENSE).
- **[Ymir](https://github.com/StrikerX3/Ymir)** por StrikerX3 — o núcleo do emulador e tudo sobre o qual esta versão
foi construída. Se você gostou, apoie o autor original no
[Patreon](https://www.patreon.com/StrikerX3) e junte-se ao
[Discord](https://discord.gg/NN3A7n5dzn).
- **[Kronos](https://github.com/FCare/Kronos)** / **Yabause** — o shader de upscaling xBRZ 6x em
[`android/app/src/main/cpp/xbrz6x_shader.hpp`](android/app/src/main/cpp/xbrz6x_shader.hpp), usado sob
a licença GPL-2.0 ou posterior. O aviso de direitos autorais original é mantido nesse arquivo.
- **[SDL3](https://github.com/libsdl-org/SDL)** — janelas, áudio, entrada e a atividade do Android.
Um emulador de Sega Saturn
Atualizado em
31 de out. de 2026