mirror of
https://github.com/BillyOutlast/oboromi.git
synced 2026-07-01 19:54:43 -04:00
3f76709534bbbe58bb926ea630ec10677d8d695d
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.
(◕‿◕) 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.
Description
Languages
Rust
100%