2018-11-01 06:11:11 +00:00
< p align = "center" > < img src = "https://raw.githubusercontent.com/StapleButter/melonDS/master/icon/melon_128x128.png" > < / p >
< h2 align = "center" > < b > melonDS< / b > < / h2 >
< p align = "center" >
< a href = "http://melonds.kuribo64.net/" alt = "melonDS website" > < img src = "https://img.shields.io/badge/website-melonds.kuribo64.net-%2331352e.svg" > < / a >
2019-09-04 15:03:51 +00:00
< a href = "http://melonds.kuribo64.net/downloads.php" alt = "Release: 0.8.3" > < img src = "https://img.shields.io/badge/release-0.8.3-%235c913b.svg" > < / a >
2018-11-01 06:11:11 +00:00
< a href = "https://www.gnu.org/licenses/gpl-3.0" alt = "License: GPLv3" > < img src = "https://img.shields.io/badge/License-GPL%20v3-%23ff554d.svg" > < / a >
< a href = "https://kiwiirc.com/client/irc.badnik.net/?nick=IRC-Source_?#melonds" alt = "IRC channel: #melonds " >< img src = "https://img.shields.io/badge/IRC%20chat-%23melonds-%23dd2e44.svg" ></ a >
< / p >
2017-10-22 03:58:02 +00:00
DS emulator, sorta
2016-05-16 01:40:11 +00:00
2017-03-29 20:56:30 +00:00
The goal is to do things right and fast, akin to blargSNES (but hopefully better). But also to, you know, have a fun challenge :)
2018-11-01 06:11:11 +00:00
< hr >
2018-11-01 20:10:34 +00:00
2017-10-22 03:58:02 +00:00
## How to use
2017-02-07 21:23:46 +00:00
melonDS requires BIOS/firmware copies from a DS. Files required:
* bios7.bin, 16KB: ARM7 BIOS
* bios9.bin, 4KB: ARM9 BIOS
2017-08-05 17:13:55 +00:00
* firmware.bin, 128/256/512KB: firmware
2018-11-01 06:11:11 +00:00
2017-06-15 19:41:18 +00:00
Firmware boot requires a firmware dump from an original DS or DS Lite.
DS firmwares dumped from a DSi or 3DS aren't bootable and only contain configuration data, thus they are only suitable when booting games directly.
2017-10-22 03:58:02 +00:00
### Possible firmware sizes
2017-08-05 17:13:55 +00:00
* 128KB: DSi/3DS DS-mode firmware (reduced size due to lacking bootcode)
* 256KB: regular DS firmware
* 512KB: iQue DS firmware
2018-10-26 19:06:46 +00:00
DS BIOS dumps from a DSi or 3DS can be used with no compatibility issues. DSi BIOS dumps (in DSi mode) are not compatible. Or maybe they are. I don't know.
2017-02-07 21:23:46 +00:00
2017-03-29 20:56:30 +00:00
As for the rest, the interface should be pretty straightforward. If you have a question, don't hesitate to ask, though!
2016-12-05 16:08:24 +00:00
2017-10-22 03:58:02 +00:00
## How to build
2017-04-30 01:46:27 +00:00
2017-10-22 03:58:02 +00:00
### Linux:
2016-12-05 16:08:24 +00:00
2018-12-27 15:27:36 +00:00
* Install dependencies:
```sh
2019-06-04 15:22:25 +00:00
sudo apt-get install gtk+-3.0 libcurl4-gnutls-dev libpcap0.8-dev libsdl2-dev
2018-12-27 15:27:36 +00:00
```
* Compile:
2017-10-22 03:58:02 +00:00
```sh
mkdir -p build
cd build
cmake ..
2019-06-04 15:22:25 +00:00
make -j$(nproc --all)
2017-10-22 03:58:02 +00:00
```
### Windows:
2017-04-02 07:33:01 +00:00
* use CodeBlocks
2017-04-30 01:46:27 +00:00
2019-05-01 04:08:00 +00:00
#### MSYS2 and CMake
1. Install [MSYS2 ](https://www.msys2.org/ )
2019-05-04 13:28:58 +00:00
2. Open the **MSYS2 MinGW 64-bit** terminal
2019-05-01 04:08:00 +00:00
3. Update the packages using `pacman -Syu` and reopen the terminal if it asks you to
2019-06-04 15:22:25 +00:00
4. Install dependencies: `pacman -S git make mingw-w64-x86_64-{cmake,mesa,SDL2,toolchain}`
2019-05-01 04:08:00 +00:00
5. Run the following commands
```bash
git clone https://github.com/Arisotura/melonDS.git
cd melonDS
mkdir build
cd build
cmake .. -G "MSYS Makefiles"
2019-06-04 15:22:25 +00:00
make -j$(nproc --all)
2019-05-01 04:08:00 +00:00
../msys-dist.sh
```
If everything went well, melonDS and the libraries it needs should now be in the `dist` folder.
2017-04-30 01:46:27 +00:00
2017-10-22 03:58:02 +00:00
## TODO LIST
2016-12-05 16:08:24 +00:00
2019-06-12 12:03:06 +00:00
* DSi emulation
* the impossible quest of pixel-perfect 3D graphics
2018-10-26 19:06:46 +00:00
* improve libui and the emulator UI
* support for rendering screens to separate windows
2017-08-29 16:17:44 +00:00
* emulating some fancy addons
2017-02-13 01:07:54 +00:00
* other non-core shit (debugger, graphics viewers, cheat crapo, etc)
2018-11-01 06:11:11 +00:00
2017-10-22 03:58:02 +00:00
### TODO LIST FOR LATER
2017-02-13 01:07:54 +00:00
2017-08-29 16:17:44 +00:00
* better wifi
2017-02-13 01:07:54 +00:00
* maybe emulate flashcarts or other fancy hardware
2017-03-12 23:45:26 +00:00
* big-endian compatibility (Wii, etc)
* LCD refresh time (used by some games for blending effects)
2017-03-29 20:56:30 +00:00
* any feature you can eventually ask for that isn't outright stupid
2018-11-01 06:11:11 +00:00
2017-10-22 03:58:02 +00:00
## Credits
2017-08-29 16:17:44 +00:00
* Martin for GBAtek, a good piece of documentation
* Cydrak for the extra 3D GPU research
* All of you comrades who have been testing melonDS, reporting issues, suggesting shit, etc
2018-11-01 06:11:11 +00:00
## License
[![GNU GPLv3 Image ](https://www.gnu.org/graphics/gplv3-127x51.png )](http://www.gnu.org/licenses/gpl-3.0.en.html)
melonDS is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.