This is a DS emulator written in Rust! Binaries for Mac and Windows are now available. Go to releases and download the appropriate zip file for your operating system and unzip the files. To build in Linux, simply type cargo build --release
and make sure you put the executable, game_db.json
, and the /freebios
directory all in the same directory.
Extract the zip to a directory of your choice and open the executable from either the command line or GUI. The command line accepts the following arguments for Windows: .\nds-plus.exe <path to rom file> [--start-bios]
For MacOS, simply open the app from Finder.
bios and firmware are completely optional, however, if using --start-bios
see below:
The optional --start-bios
argument will boot up the firmware instead of performing a direct boot. In order to use the firmware, you will need to provide your own firmware and bios files.
To use your own files, simply copy the bios files to the root path of the app, and make sure they're named "bios7.bin", "bios9.bin", and "firmware.bin" for the bioses and firmware respectively.
iOS app .ipa
is now available under releases! To use the iOS app, you will need to find a way to sideload the app onto your device. There are many ways to do so, one of the most popular is to use AltStore to do the work for you. Like other versions of the app, bios and firmware are completely optional.
To test the latest version of the emulator on web, go to https://nds-emulator.onrender.com. Copies of the bios and firmware files are now optional!
- Support for desktop, web, and iOS
- Ability to use control stick in Super Mario 64 DS
- Save management on the web and iOS clients: upload, download and delete saves
- Cloud saves are now available! Store saves in Google drive for use anywhere on both desktop, web, and iOS.
- Support for microphone on desktop, web, and iOS
- Save states on desktop, web, and iOS
- Texture/rendering issues
- CPU bugs
- Debugging tools
Keyboard:
- Up: W Key
- Down: S Key
- Left: A Key
- Right: D Key
- A Button: K Key
- B Button: J Key
- Y Button: N Key
- X Button: M Key
- L Button: C Key
- R Button: V Key
- Select: Tab
- Start: Return
Hotkeys:
- T: Toggle control stick mode on/off (for Super Mario 64 DS)
- F5: Quick save state
- F7: Quick load state
Joypad (tested on PS5 controller, should be similar on Xbox/other similar controllers)
- Directions: Control pad
- A Button: Circle
- B Button: Cross
- Y Button: Square
- X Button: Triangle
- L Button: L1
- R BUtton: R1
- Select: Select
- Start: Start
Controller Hotkeys:
- R3 Button: Toggle control stick mode on/off (For Super Mario 64 DS)
- L2 Button: Quick save state
- R2 Button: Quick load state
Special thanks to the following individuals and organizations! Without their help this project wouldn't have gotten as far as it did.
- GBATek for being a really good resource on anything related to the Nintendo DS.
- The EmuDev discord server for providing a lot of helpful answers to any questions I had.
- abdllzrhmanzedan for providing all the designs for the iOS app.