mirror of
https://github.com/Nikilites/oboromi.git
synced 2025-06-22 22:49:01 -04:00
a proof-of-concept Nintendo Switch 2 emulator.
.github/workflows | ||
assets | ||
benchmarks | ||
docs | ||
examples | ||
scripts | ||
src | ||
tests | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
oboromi
A proof-of-concept Nintendo Switch 2 emulator written in Rust
Very WIP — nothing works yet, don’t expect miracles.
Overview
oboromi is a clean and modular emulator framework targeting the Nintendo Switch 2, written in Rust for maximum maintainability and performance.
Its goal is to simulate the new hardware step-by-step, following real architectural assumptions (when available) and clean software design.
Features (so far)
- ✅ Memory subsystem: Read/write with bounds checks, 64 MiB placeholder DRAM
- ✅ CPU core: ARM64 registers, memory-mapped, supports NOP, MOV immediate, ADD and SUB instructions with flag updates
- ✅ Integration tests: Validates CPU–Memory interaction and instruction execution correctness
- 🧪 Main test harness in
main.rs
for step-by-step opcode decoding and execution verification - 🧱 Modular architecture: Designed for scalable addition of CPU components and instruction sets
🧪 Try It
git clone https://github.com/nikilites/oboromi
cd oboromi
cargo run
If everything is set up right, you should see:
✅ Memory tests passed
✅ CPU–Memory integration test passed
🔍 Current Target Hardware (Known)
Component | Details |
---|---|
SoC | NVIDIA GMLX30-A1 |
RAM | 12 GB LPDDR5X (2 × 6 GB SKhynix) |
Storage | UFS 3.1 (Kioxia or SKhynix) |
WiFi/BT | MediaTek MT3681AEN |
Audio | Realtek ALC5658 |
Voice | Intelligo IG2200 |
Power | MAX77851 (PMIC) + DA9092 (Sub-PMIC) |
USB | Genesys GL852G + Cypress CYPD6228 |
GC ASIC | B2349 GCBRG HAC STD T2010423 |
Note
Only the comments are “vibe-written” — the code itself is fucking written with my hands.
Warning
This project does not include any proprietary firmware, keys, or dumps. Everything is clean-room.
📜 License
This project is licensed under MPL-2.0 — see LICENSE
for details.