oboromi logo

License

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 ```bash 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`](https://github.com/nikilites/oboromi/blob/main/LICENSE) for details.