Skip to content

a proof-of-concept project for a possible Nintendo Switch 2 emulator.

License

Notifications You must be signed in to change notification settings

0xNikilite/oboromi

Repository files navigation

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.

About

a proof-of-concept project for a possible Nintendo Switch 2 emulator.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages