A dog-themed DS emulator
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A DS emulator that seeks to combine accuracy and speed. As of v0.1, it's a long way from either one, but with your support, CorgiDS will accomplish its goals.


CorgiDS requires Qt 5.9 and currently supports qmake and meson. Please report any compilation errors or other problems that happen during this process. Pull requests are welcome for CMake support.

Known issues

On Windows, builds compiled with Visual Studio fail to boot any games and display a gray screen during execution. For now, use mingw instead.

Building with qmake

cd CorgiDS/CorgiDS
qmake CorgiDS.pro

Building with meson

meson build --buildtype=release
cd build

Using the Emulator


In order to play DS games on CorgiDS, you must dump the BIOS and firmware from your DS or DS Lite. You will need three files:

  • ARM9 BIOS - 4 KB
  • ARM7 BIOS - 16 KB
  • Firmware - 256 KB

The names of these files do not matter as long as they match the given sizes. Load these files by going to Emulation -> Config or Preferences (on Mac OS X) on the menubar. From the same config window, you can also choose to either boot from the firmware or boot a game directly.

High-level BIOS emulation is in the works but currently remains in an unusable state for games. Once this is implemented, having the above files will be optional.



CorgiDS is incapable of automatically detecting what kind of save an arbitrary game uses. It is recommended to have save files corresponding with the game you want to test.

Alternatively, you may use a save database. CorgiDS supports the AKAIO (AceKard All-In-One) savelist.bin. This is configured the same way the BIOS/firmware are. Download savelist.bin here. Note that the database is outdated and may not work for newer DS games.

If neither of the above checks pass, CorgiDS defaults to a 1 MB FLASH save, under the assumption that newer games will rely on FLASH rather than EEPROM due to increased storage space.


Currently, CorgiDS only supports hardcoded key mappings. The controls are as follows:

  • X/Z: A/B
  • S/A: X/Y
  • Q/W: L/R
  • Enter/Return: Start
  • Select: Space

Other features are accessible through these keys:

  • Tab: enable/disable framelimiter
  • O: enable/disable frameskip (boosts gameplay speed at the expense of graphical smoothness)
  • P: pause/unpause emulation


If you have no coding experience but wish to contribute to CorgiDS' development, playtest as many games as possible and use the GitHub issue tracker to report problems. For v0.1, please only report egregious problems, such as ROMs not booting or major graphical glitches. Due to being relatively new, CorgiDS still has minor issues in many games, such as shadows not appearing or bad transitions in the intros of many games.


CorgiDS is licensed under the GNU GPLv3. See LICENSE for details.