Nintendo DS
Overview
The Nintendo DS application is an emulator for the Nintendo DS handheld game console.

Important
A Nintendo DS ROM can be specified using a direct URL to a ROM file or a ZIP file containing one; however, using a ZIP file—especially for larger games (200MB or more)—can significantly increase memory usage in the browser, so direct ROM links are recommended for memory-constrained devices such as the Xbox Series X|S.
BIOS Files (Optional)
In addition to Nintendo DS ROM files, optional BIOS and firmware files can be specified globally within the feed (See the Feed Properties Dialog and Nintendo DS Feed Properties sections).
Adding these files can improve game compatibility, accuracy, and boot behavior—particularly for titles that rely on specific hardware initialization or firmware routines. While not strictly required for most games, they are recommended for the best experience.
File | Hash (MD5) |
---|---|
bios7.bin |
df692a80a5b1bc90728bc3dfc76cd948 |
bios9.bin |
a392174eb3e572fed6447e956bde4b25 |
firmware.bin |
3c704824663ce26b6a1ed4d85238ae5b |
firmware.bin (Alternate) |
94bc5094607c5e6598d50472c52f27f2 |
Controls
The keyboard and mouse, gamepad mappings, and touch controls are listed in the tables below.
Keyboard
Keyboard controls are listed below.
Name | Keys |
Comments |
---|---|---|
Move | ![]() ![]() ![]() ![]() |
|
A | ![]() |
|
B | ![]() |
|
X | ![]() |
|
Y | ![]() |
|
Left Shoulder | ![]() |
|
Right Shoulder | ![]() |
|
Start | ![]() |
|
Select | ![]() |
The Right Shift Key. |
Microphone (Blow) | ![]() |
Simulates blowing on the microphone while the key is held down. |
Pause Screen | ![]() ![]() |
Displays the webЯcade pause screen. |
Pause Screen | ![]() ![]() |
Displays the webЯcade pause screen. |
Mouse
The Nintendo DS application supports mouse input that works like the original stylus. Pressing and holding the left mouse button on the Nintendo DS screen that supports touch behaves like holding the stylus down on a real DS. Moving the mouse while holding the button moves the stylus across the screen. Releasing the button ends the touch input.
Gamepad
Gamepad mappings are listed below.
Name | Gamepad |
Comments |
---|---|---|
Move | ![]() ![]() |
|
A | ![]() |
|
B | ![]() |
|
X | ![]() |
|
Y | ![]() |
|
Left Shoulder | ![]() |
|
Right Shoulder | ![]() |
|
Stylus (Move) | ![]() |
|
Stylus (Touch) | ![]() |
|
Stylus (Touch) | ![]() |
|
Stylus (Center) | ![]() |
|
Microphone (Blow) | ![]() |
Simulates blowing on the microphone while the button is held down. |
Toggle Screens | ![]() ![]() |
|
Start | ![]() |
Not available for Xbox and not recommended for iOS (see alternate) Press the Menu (Start) Button. |
Start (Alternate) |
![]() ![]() |
Hold down the Right Trigger and click (press down) on the Right Thumbstick. |
Select | ![]() |
Not available for Xbox and not recommended for iOS (see alternate) Press the View (Back) Button. |
Select (Alternate) |
![]() ![]() |
Hold down the Right Trigger and click (press down) on the Left Thumbstick. |
Show Pause Screen | ![]() ![]() |
Not available for Xbox and not recommended for iOS (see alternate 2 or 3) Hold down the X Button and press the View (Back) Button. |
Show Pause Screen (Alternate 2) |
![]() ![]() |
Hold down the Left Trigger and click (press down) on the Left Thumbstick. |
Show Pause Screen (Alternate 3) |
![]() ![]() |
Hold down the Left Trigger and click (press down) on the Right Thumbstick. |
Touch
The Nintendo DS application supports touch input that works like the original stylus. When you press and hold your finger on the Nintendo DS screen that supports touch, it behaves like holding the stylus down on a real DS. Moving your finger while keeping it pressed moves the stylus across the screen.
On-screen Controls

The Nintendo DS application includes a set of on-screen controls which are detailed below.
Button | Description | |
---|---|---|
Swap Single Screens | ![]() |
Swaps between the top and bottom DS screens (only one screen is displayed). |
Swap Dual Screen Orientations | ![]() |
Cycles through the available dual-screen layout configurations. |
Microphone (Blow) | ![]() |
Simulates blowing on the microphone while the button is held down. |
Pause (Show Pause Screen) | ![]() |
Displays the webЯcade pause screen. |
Pause Screen
The Nintendo DS Application includes a custom settings dialog.
To access these settings, display the "Pause" screen and select the "DS Settings" option (See screenshot above).

DS Settings Tab (Session Only)
The Nintendo DS Application's "settings" tab is detailed below. It is important to note that the settings on this tab are Session only meaning they will not persist between gaming sessions.

Field | Description |
---|---|
Screen layout | The layout of the Nintendo DS screens.
|
Screen gap | Whether to display a gap between the screens (only applicable to vertical layouts and book mode). |
Book mode | Whether to display the screens as if the entire DS is rotated sideways, typically used for "book"-based games. |
Microphone supported | Whether the game uses the microphone. Displays a microphone icon for touch or mouse interaction. |
Dual analog mode (stylus) | Whether the game uses the stylus as a dual analog control. When this is enabled, the right analog stick of the gamepad will automatically reset as it reaches the end of the screen. This greatly simplifies playing dual-analog based games (typically FPS games). |
Battery-backed SRAM
Some Nintendo DS cartridges include battery-backed SRAM as a means of preserving state between sessions. The Nintendo DS application supports persisting this SRAM state into the browser's local storage or optionally to cloud-based storage. The SRAM contents will be persisted to storage whenever the pause screen is displayed (or the game is exited). Therefore, the menu should be displayed periodically for games that support battery-backed SRAM to ensure the state is properly persisted.
Feed
This section details how Nintendo DS application instances can be added to feeds.
Type
The type name for the Nintendo DS application is retro-melonds
.
Note
The alias nds
also currently maps to this application. In the future, the nds
alias may be mapped
to another Nintendo DS (different emulator implementation) if it is determined to be a
more appropriate default.
Feed Properties
The table below contains global Nintendo DS feed properties. These properties must be specified in the props
object of the feed's Feed Object.
Property | Type | Required | Details |
---|---|---|---|
ds_bios | Array of URLs | No | (optional) An array of URLs to Nintendo DS BIOS files (see BIOS Files). |
ds_nickname | String | No | (optional) An optional nickname (the default name) to use when games require a name to be entered. This is only applicable if Nintendo DS BIOS files have been specified. |
Item Properties
The table below contains the properties that are specific to the Nintendo DS application. These properties are
specified in the props
object of a feed item.
Property | Type | Required | Details |
---|---|---|---|
rom | URL | Yes | URL to a Nintendo DS ROM file, or a ZIP file containing one. |
screenLayout | String | No | Initial layout of the Nintendo DS screens. This can be changed after the game starts.
|
screenGap | Boolean | No | Whether to display a gap between the screens (only applicable to vertical layouts and book mode). |
bookMode | Boolean | No | Whether to display the screens as if the entire DS is rotated sideways, typically used for "book"-based games. |
dualAnalog | Boolean | No | Whether the game uses the stylus as a dual analog control. When this is enabled, the right analog stick of the gamepad will automatically reset as it reaches the end of the screen. This greatly simplifies playing dual-analog based games (typically FPS games). |
microphone | Boolean | No | Indicates whether the game uses the microphone. Displays a microphone icon for touch or mouse interaction. |
zoomLevel | Numeric | No | A numeric value indicating how much the display image should be zoomed in (0-40). |
Example
The following is an example of a complete feed that consists of a single Nintendo DS application instance (type
value of nds
). The rom
property value is a URL that points to a Dropbox location that contains the excellent game WolveSlayer by Firehazard Studio.
{
"title": "Nintendo DS",
"categories": [
{
"title": "Nintendo DS Games",
"items": [
{
"title": "WolveSlayer",
"type": "nds",
"props": {
"rom": "https://dl.dropbox.com/scl/fi/stazkmx80wk4p8ixge5lq/wolveslayer.nds?rlkey=bp3phtt51znjvz4a66jx6s4h7&dl=1"
}
}
]
}
]
}