oboromi logo

License   Discord

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
    • Bounds-checked byte and word reads
    • 32-bit and 64-bit little-endian access (read_u32/write_u32, read_u64/write_u64)
  • CPU core
    • Full ARM64 register file (X0X30 + SP, PC)
    • NZCV flag support (Negative, Zero, Carry, Overflow)
  • Implemented instructions
    • NOP
    • MOV Xd, #imm (ORR Xd, XZR, #imm)
    • ADDI / SUBI: immediate arithmetic with flags
    • ADD / SUB: register-form arithmetic with flags
    • AND / ORR / EOR: logical register-form
    • CMP (SUBS XZR, Xn, Xm) and TST (ANDS XZR, Xn, Xm)
    • LDR / STR immediate 64-bit loads/stores
    • B (unconditional branch) and RET (return)
  • Integration tests
    • Extensive main.rs harness exercises each instruction path
  • 🧱 Modular architecture
    • Ready for rapid addition of more instructions, subsystems, and peripherals

🧪 Try It

git clone https://github.com/0xNikilite/oboromi
cd oboromi
cargo run

You should see:

✅ Memory OK  
✅ NOP OK  
✅ ADDI OK  
✅ SUBI OK  
✅ ADDR OK  
✅ SUBR OK  
✅ AND OK  
✅ CMP OK  
✅ LDR/STR OK  
✅ B OK  
✅ RET OK  

🔍 Current Target Hardware (Known)

Component Details
SoC NVIDIA GMLX30-A1
RAM 12 GB LPDDR5X (2 × 6 GB SK hynix)
Storage UFS 3.1 (Kioxia or SK hynix)
WiFi/BT MediaTek MT3681AEN
Audio Realtek ALC5658
Voice Intelligo IG2200
Power MAX77851 + DA9092
USB Genesys GL852G + Cypress CYPD6228
GC ASIC B2349 GCBRG HAC STD T2010423

[!NOTE] Only the comments are “vibe-written” — the code itself is fucking handcrafted in Rust.

[!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.

Description
⚠️ ARCHIVED: Original GitHub repository no longer exists. Preserved as backup on 2026-01-31T05:25:22.048Z
Readme 7.3 MiB
Languages
Rust 100%