oboromi/README.md
2025-06-22 18:53:57 +02:00

2.7 KiB
Raw Permalink Blame History

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.