oboromi logo

License Discord

(◕‿◕)  Join our Discord here 🢰

oboromi

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

[!WARNING] oboromi is not yet a playable emulator. Right now its a skeleton of CPU+MMU cores and a test harness, designed to grow into a full emulator as hardware/software details (and reverseengineering) become available.

🚀 Whats in the box today

  • CPU Core

    • Implements a subset of ARM64/AArch64 (15+ instructions: NOP, ADDI/SUBI, ADD/SUB, AND/ORR/EOR, CMP/TST, LDR/STR, B, RET)
    • Full NZCV flag handling
    • Optional trace feature for disassembly and PCtagged logs
  • Virtual Memory + MMU

    • 4KiB pages with identity mapping
    • Simple page table + TLB (64 entries)
    • All memory reads/writes go through the MMU
  • Memory Subsystem

    • Boundschecked reads/writes
    • 32bit and 64bit littleendian helpers
  • Test Harness

    • main.rs runs 12 quick integration tests (CPU instructions + MMU)
    • cargo test covers unit tests for CPU + Memory

🧪 Try it

git clone https://github.com/0xNikilite/oboromi
cd oboromi
cargo run --features trace   # see each instruction disassembled
# or simply:
cargo run

🤝 Contributing

Were actively looking for collaborators in these areas:

  • ARM64/AArch64 Architecture & CPU Implementation
  • Memory Management & Virtualization
  • Graphics & GPU Backends
    Experience with lowlevel graphics APIs (Vulkan, Metal, DirectX) and shader pipeline emulation.
  • Firmware & Hardware Reverse Engineering
    Skills in extracting, analyzing, and documenting proprietary firmware, SoC internals, and boardlevel schematics.
  • Rust Systems Programming
    Passion for zerounsafe, highperformance Rust code.

📜 License

This project is licensed under MPL2.0. See LICENSE.

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%