Dust
A Nintendo DS emulator written in Rust for desktop devices and the web, with debugging features and a focus on accuracy
- The base configuration only includes all features necessary to run games as an end user - The debugging configuration additionally enables logging of diagnostic events on the emulated system (i.e. invalid I/O device usage or port accesses) and several debugging views (i.e. memory and register viewer and a disassembly view), all accessible from the Debug menu - The debugging + GDB server configuration also enables support for a GDB client to attach to and debug the emulated program, by starting... The project is written primarily in Rust, distributed under the GNU General Public License v3.0 license, first published in 2023. Key topics include: debugging-tools, ds, emulator, nintendo-ds, rust.
Dust

Web version
Prebuilt binaries
- The base configuration only includes all features necessary to run games as an end user
- The debugging configuration additionally enables logging of diagnostic events on the emulated system (i.e. invalid I/O device usage or port accesses) and several debugging views (i.e. memory and register viewer and a disassembly view), all accessible from the Debug menu
- The debugging + GDB server configuration also enables support for a GDB client to attach to and debug the emulated program, by starting/stopping the server from the Debug menu while running a program
NB: The debugging configurations only add debugging features for loaded programs; all binaries are compiled with optimizations and don't include debug symbols for the emulator itself.
| OS and binary type | Base | Debugging | Debugging + GDB server |
|---|---|---|---|
| Windows x86_64 .exe | Windows.zip | Windows-debug.zip | Windows-debug-gdb.zip |
| Linux x86_64 binary | Linux.zip | Linux-debug.zip | Linux-debug-gdb.zip |
| macOS universal app | macOS-app.zip | macOS-app-debug.zip | macOS-app-debug-gdb.zip |
| macOS x86_64 binary | macOS-x86_64.zip | macOS-x86_64-debug.zip | macOS-x86_64-debug-gdb.zip |
| macOS ARM64 binary | macOS-aarch64.zip | macOS-aarch64-debug.zip | macOS-aarch64-debug-gdb.zip |
Credits
- Martin Korth, for summarizing resources on the DS on GBATEK
- Arisotura, for her research on the system in melonDS, test ROMs and corrections and additions to the info on GBATEK, and for the game database used in this emulator
- StrikerX3, for his research on 3D rendering on the DS
- Simone Coco, Fleroviux, Lady Starbreeze, Merry, Powerlated and Peach for help throughout development
- The Emulation Development server on Discord as a whole, for providing several invaluable resources
Sister projects
- Kaizen: Experimental work-in-progress low-level N64 emulator
- n64: Low-level, accurate, fast and easy to use Nintendo 64 emulator
- Panda3DS: A new HLE Nintendo 3DS emulator
- melonDS: "DS emulator, sorta"; a DS emulator that focuses on being accurate and easy to use
- SkyEmu: A low-level GameBoy, GameBoy Color, GameBoy Advance and Nintendo DS emulator that is designed to be easy to use, cross platform and accurate
- NanoBoyAdvance: A Game Boy Advance emulator focusing on hardware research and cycle-accurate emulation
- Chonkystation: WIP PS1 emulator
Contributors
Showing top 3 contributors by commit count.
