a proof-of-concept Nintendo Switch 2 emulator.
Find a file
2025-06-22 18:53:57 +02:00
.github/workflows track project folders with .gitkeep 2025-06-09 21:46:42 +02:00
assets add .gitkeep to root-level folders 2025-06-09 21:42:37 +02:00
benchmarks add .gitkeep to root-level folders 2025-06-09 21:42:37 +02:00
docs add .gitkeep to root-level folders 2025-06-09 21:42:37 +02:00
examples track project folders with .gitkeep 2025-06-09 21:46:42 +02:00
scripts track project folders with .gitkeep 2025-06-09 21:46:42 +02:00
src Refactor decode_and_execute to streamline NOP and MOV handling; add real ADD instruction test 2025-06-22 18:49:33 +02:00
tests add .gitkeep to root-level folders 2025-06-09 21:42:37 +02:00
.gitignore initial commit 2025-06-09 20:27:23 +02:00
Cargo.lock Fix MOV pattern matching and reorder decode to preserve ADD case 2025-06-22 18:05:24 +02:00
Cargo.toml Fix MOV pattern matching and reorder decode to preserve ADD case 2025-06-22 18:05:24 +02:00
LICENSE Initial commit 2025-06-09 20:11:08 +02:00
README.md Update README.md 2025-06-22 18:53:57 +02:00

oboromi logo

License

oboromi

A proof-of-concept Nintendo Switch 2 emulator written in Rust

Very WIP — nothing works yet, dont 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 CPUMemory 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  
✅ CPUMemory 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.