NEON SATURN은 StrikerX3의 세가 새턴 에뮬레이터인 [Ymir](https://github.com/StrikerX3/Ymir)의 안드로이드 포팅 버전입니다.
NEON SATURN은 Ymir의 에뮬레이션 코어는 그대로 유지하고 데스크톱 프런트엔드를 네이티브 안드로이드 프런트엔드로 교체했습니다.
프런트엔드에는 설정 마법사, 표지 아트 게임 라이브러리, 새턴 스타일의 터치 컨트롤, 그리고 게임 내 빠른 실행 메뉴가 포함되어 있습니다.
## 기능
### 라이브러리
- IPL(BIOS) ROM을 가져오고 앱이 게임 폴더를 지정하도록 하는 설정 마법사
- 게임 폴더는 저장소 액세스 프레임워크(SAF)를 통해 읽어오므로 기기 어디에든 위치할 수 있습니다.
- 헤더에서 순환되는 세 가지 라이브러리 보기: 목록, 북미 박스 커버, 일본 주얼 케이스
- 원근감, 반사 효과 및 중앙 정렬 페이지 넘기기 기능을 갖춘 커버플로우
- 커버 아트는 필요에 따라 가져와 캐시하거나 설정에서 일괄 다운로드할 수 있습니다.
- 애니메이션 별 배경
- 밝은/어두운/시스템 테마 적용 (기본값은 어두운 테마)
### 게임 내
- 세가 새턴 스타일 터치 컨트롤 오버레이: 방향키, 아날로그 스틱, A/B/C, X/Y/Z, L/R, Start 버튼
- 완전히 재배치 가능한 레이아웃 (세로 및 가로 모드용으로 별도 저장)
- 오버레이에 되감기 및 빨리 감기 버튼
- 빠른 실행 메뉴 (뒤로 가기 버튼 또는 게임패드 선택 버튼): 게임 재개, 게임 상태 저장, 게임 상태 불러오기, 종료
- 물리적 SDL을 통한 게임패드 및 키보드 지원(컨트롤러 데이터베이스 포함)
### 에뮬레이션 옵션
- 화면비: 4:3, 16:9 또는 스트레치
- 텍스처 필터링: 선명(최근접) 또는 부드러움(양선형)
- 업스케일링 필터: 끔 또는 6x xBRZ
- 고해상도 모드 디인터레이스 렌더링
- 투명 메시 폴리곤 렌더링
- 되감기 버퍼(60fps 기준 약 5초), 기본값 끔
- CD 블록 ROM을 가져오면 선택적으로 저수준 CD 블록 에뮬레이션 지원
## 사용법
앱을 설치합니다. 설치 마법사에서 다음 두 가지를 요청합니다.
1. **IPL BIOS** — Saturn BIOS ROM(`.bin` 또는 `.rom`)을 가져옵니다. 필수입니다.
2. **게임 폴더** — 디스크 이미지가 저장된 폴더를 선택합니다. 필수입니다.
**CD 블록 ROM**을 가져올 수도 있습니다. 선택 사항이며, 저수준 CD 블록 에뮬레이션을 활성화합니다.
BIOS와 게임 폴더 설정이 완료되면, 마법사 대신 라이브러리가 나타납니다. 게임을 탭하여 준비하고 실행하세요.
헤더의 톱니바퀴 아이콘을 누르면 설정이 열리고, 왼쪽 아이콘은 목록 보기와 표지 보기 사이를 전환합니다.
지원되는 디스크 형식: **MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS 및 ISO**. 여러 파일로 구성된 형식의 경우, 해당 트랙 파일이 같은 폴더에 있어야 합니다. 런처는 트랙 파일 유무를 확인하고, 없으면 실행되지 않습니다.
## 참고 사항 및 제한 사항
**업스케일링은 내부 해상도를 높이지 않습니다.** Ymir의 코어는 소프트웨어 렌더러만 사용하며,
Saturn의 기본 해상도로 래스터화합니다. 따라서 업스케일링 필터는 완성된 프레임에 적용되는 에지 인식 스무딩 패스입니다.
2D 스프라이트와 배경을 눈에 띄게 선명하게 만들지만, 3D 디테일을 추가할 수는 없습니다. 진정한
내부 해상도 렌더링을 위해서는 코어에 하드웨어 렌더러가 필요하지만, 아직 존재하지 않습니다.
**되감기 기능은 CPU와 메모리를 소모합니다.** 에뮬레이터 상태를 매 프레임마다 저장하고 몇 초 분량의 LZ4 압축된 델타 값을 유지합니다.
따라서 기본적으로 비활성화되어 있으며, 활성화하기 전까지 화면 버튼이 숨겨져 있습니다.
**설정은 게임 실행 시 적용됩니다.** 그래픽 및 되감기 옵션은 게임 시작 시 읽어오므로, 변경 사항은
다음 게임 실행 시에 적용됩니다.
## 크레딧 및 라이선스
NEON SATURN은 **GNU 일반 공중 라이선스 v3.0**에 따라 배포됩니다. [LICENSE](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** — 6배 xBRZ 업스케일링 셰이더 ([`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 액티비티.
세가 새턴 에뮬레이터