A native wrapper/port of the DraStic DS emulator for Nintendo Switch, bundling the Android core, renderers, and shaders into a single NRO file that requires user-provided BIOS and games.

Stars

77

7-day growth

No data

Forks

1

Open issues

1

License

MIT

Last updated

2026-07-27

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It brings full-featured DS emulation to Switch with unique features like custom shader support, Vulkan low-latency mode, LSFG frame generation, and native integration such as HOME menu shortcuts and multi-library folder support.

Who it is for

  • Switch homebrew users wanting DS emulation
  • Emulation enthusiasts seeking high compatibility
  • Developers interested in porting ARM64 Android code to Switch
  • Retro gamers looking for portable DS play

Use cases

  • Playing Nintendo DS games on a Switch
  • Enhancing visuals with custom shaders and filters
  • Using Slot-2 accessories like GBA cartridges or rumble packs
  • Utilizing microphone input via external headset for DS games that require it

Strengths

  • Single NRO bundles core, renderers, shaders, and database
  • Supports both OpenGL and Vulkan with low-latency Vulkan mode
  • Includes 17 ready-to-use custom shaders from jdgleaver's collection
  • Allows multiple library folders (SD, USB, SMB) and HOME-menu shortcuts

Considerations

  • Requires user-supplied BIOS/firmware files (legal necessity)
  • Cannot run in applet/album mode; needs full memory and JIT services
  • Vulkan custom shaders need manual SPIR-V compilation with glslangValidator
  • LSFG frame generation requires external Lossless.dll and adds latency

README quick start

Drastic DS · Switch Port

A native wrapper/port of Drastic DS Emulator to the Nintendo Switch. It loads the original Android ARM64 emulator core libdrastic_arm64.so, patches it, and runs it inside a minimal Android-like environment natively.

Everything ships as a single DrasticDS.nro: it bundles the build-supplied Drastic core, game database and cheat table, both renderer backends (OpenGL + Vulkan/NVK), 17 ready-to-use custom shaders, and an SDL cover-art launcher. Nintendo DS BIOS and firmware are never packed into the NRO.

How to install

  1. Copy DrasticDS.nro into /switch/ on your SD card.
  2. Copy your own Nintendo DS system dumps into /switch/drastic/system/:
    • nds_bios_arm7.bin — 16 KiB ARM7 BIOS.
    • nds_bios_arm9.bin — 4 KiB ARM9 BIOS.
    • nds_firmware.bin — 256 KiB firmware.
  3. Put legally obtained .nds, .zip, or .rar games in /switch/drastic/games/, or add another SD, USB, or SMB library folder from Settings > Library & storage.

The launcher creates the rest of the folder tree and extracts the selected renderer and bundled application resources on demand:

/switch/DrasticDS.nro
/switch/drastic/
  .emu/                   .png)
  forwarders/              Controller**.

### Microphone input

Choose **Settings > Audio > Microphone source** before launching a game, or
change it at runtime from **Audio, input & motion** in the in-game menu.
**Simulated noise** retains the microphone hotkey for games that only require
blowing. **External microphone** captures real audio from a CTIA-compatible
headset connected to the 3.5 mm jack or a compatible USB audio input. Attached
USB inputs are preferred automatically, and reconnecting or unplugging a
device is handled while the game is running. Bluetooth microphone input is not
supported by Nintendo Switch.

### Slot-2 accessories

Choose the accessory before launching a game under
**Settings > Gameplay / Features > Slot-2 accessory**. The complete native
Drastic set is available: None, GBA Cart, SRAM Cart, Rumble Pack, Motion Pack
(Official), and Motion Pack (Homebrew).

For GBA Cart, put the GBA ROM and its raw cartridge save in
`/switch/drastic/slot2/`. Name them after the DS ROM (for example,
`Pokemon Platinum.gba` and `Pokemon Platinum.sav` for
`Pokemon Platinum.nds`). `slot2_gamepak.gba` and `slot2_gamepak.sav` can be
used as the shared fallback pair.

Description

Port of Drastic DS for Switch.

Related repositories

Similar projects matched by category, topics, and programming language.

Infatoshi
Featured
Infatoshi GitHub avatar

netherite

A from-scratch C/CUDA reimplementation of Minecraft 1.11.2 that is bit-verified against the original Java game and includes batched CUDA reinforcement learning support.

AI & Machine LearningLarge Language Models
251
nsdkinx
Featured
nsdkinx GitHub avatar

twell

Twell is a tiny, embeddable, zero-allocation physics engine for interruptible, Apple-style UI animations, available as a single-header C library with Python bindings.

MobileDesign & Creative
17
sqliteai
Featured
sqliteai GitHub avatar

waste

WASTE is a C-based inference engine that streams MoE experts from disk to run a 2.78 trillion-parameter model on a consumer laptop with 64 GB RAM.

Data & DatabasesData Engineering
14