Oboromi GSD 3f76709534 fix(rsa): correct TEST_PRIVATE_EXP_D byte 121 (F4→F3)
Byte 121 of the hardcoded private exponent was 0xF4 instead of 0xF3,
breaking the RSA invariant e·d ≡ 1 (mod φ(n)). All sign-then-verify
operations failed with InvalidPadding.

Verified: e·d mod φ(n) = 1 via Python pow(e, -1, phi).
42/42 RSA tests pass. 4/4 bootrom_cpu_e2e tests pass.
2026-05-22 23:08:59 -04:00
2026-05-03 10:47:35 -04:00
2025-11-10 23:47:37 +01:00
2026-02-15 22:15:39 +01:00
2026-05-03 10:47:35 -04:00
2026-05-03 10:47:35 -04:00
2025-08-02 22:55:50 +02:00
2025-11-21 23:42:21 +01:00
2026-02-15 22:15:39 +01:00
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.
S
Description
a proof-of-concept project for a possible Nintendo Switch 2 emulator.
Readme 7.8 MiB
Languages
Rust 100%