a proof-of-concept Nintendo Switch 2 emulator.
Find a file
Nikilite 03c743d78f
Some checks failed
Security Audit / security (push) Has been cancelled
[docs] codename: ounce
2026-02-15 22:28:00 +01:00
.github [workflows] Simplify conditional checks in CI workflow 2025-12-16 00:41:29 +01:00
assets [cosmetic] Add a splash screen 2025-11-10 23:47:37 +01:00
benchmarks add .gitkeep to root-level folders 2025-06-09 21:42:37 +02:00
core oops need big array 2026-02-15 22:15:39 +01:00
docs [docs] update readme 2026-02-15 22:15:39 +01:00
examples track project folders with .gitkeep 2025-06-09 21:46:42 +02:00
gui [*] refactor: consolidate services with macro, improve memory safety 2026-01-13 22:00:46 +01:00
scripts [gpu] sm86 decoder scripts 2026-02-15 22:15:39 +01:00
.gitignore [gpu] sm86 decoder scripts 2026-02-15 22:15:39 +01:00
.gitmodules Update .gitmodules 2025-08-02 22:55:50 +02:00
Cargo.lock add ash init 2026-02-15 22:15:39 +01:00
Cargo.toml [*] move oboromi-core to core, oboromi-gui to gui, crates names kept as-is 2025-11-17 22:31:15 +01:00
CONTRIBUTING.md changed license to GPLv3 2025-11-21 23:42:21 +01:00
license.txt license back to lowercase 2026-02-15 22:15:39 +01:00
README.md [docs] codename: ounce 2026-02-15 22:28:00 +01:00

oboromi logo

License Discord

(◕‿◕)  Join our Discord here 🢰

oboromi

a WIP ounce emulator foundation written in Rust

oboromi is a WIP emulator for the Nintendo Switch 2.

It currently emulates an 8-core ARMv8 CPU with 12GB of shared memory and a SM86 (NVIDIA Ampere) stub GPU.

It can't run any commercial games nor firmware at this stage.

  • core: core lib.
    • audio
    • fs: filesystem VFS
      • probably would emulate a 32 GB UFS/eMMC to start with
    • gpu: Ampere SM86 GPU emulation/recompilation
      • sass to spirv conversion
      • transliteration into vulkan, constants and register map
    • nn: HLE emulation of firmware
    • sys: entire emulation state
    • tests
  • docs
    • sm86.pdf: autogenerated sm86 instruction set document with nice coloured table diagrams :^)
  • gui: simple eframe based UI for debugging
  • scripts: misc. helper/autogenrators
    • decoder_generator.rs: generates parser stuff from sm86 descriptions
    • sm_86_instructions.txt: instruction dump, sourced from DocumentSASS.
    • sm_86_latencies.txt: instruction latencies as well, sourced from DocumentSASS.