README.md 3.63 KB
Newer Older
1
2
3
4
<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>
Arisotura's avatar
Arisotura committed
5
<a href="http://melonds.kuribo64.net/downloads.php" alt="Release: 0.7.4"><img src="https://img.shields.io/badge/release-0.7.4-%235c913b.svg"></a>
6
7
8
<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>
Roger's avatar
Roger committed
9
DS emulator, sorta
10

11
The goal is to do things right and fast, akin to blargSNES (but hopefully better). But also to, you know, have a fun challenge :)
12
<hr>
13

Roger's avatar
Roger committed
14
## How to use
StapleButter's avatar
StapleButter committed
15
16
17
18

melonDS requires BIOS/firmware copies from a DS. Files required:
 * bios7.bin, 16KB: ARM7 BIOS
 * bios9.bin, 4KB: ARM9 BIOS
19
 * firmware.bin, 128/256/512KB: firmware
20

21
22
23
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.

Roger's avatar
Roger committed
24
25
### Possible firmware sizes

26
27
28
29
 * 128KB: DSi/3DS DS-mode firmware (reduced size due to lacking bootcode)
 * 256KB: regular DS firmware
 * 512KB: iQue DS firmware

30
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.
StapleButter's avatar
StapleButter committed
31

32
As for the rest, the interface should be pretty straightforward. If you have a question, don't hesitate to ask, though!
33

Roger's avatar
Roger committed
34
## How to build
StapleButter's avatar
StapleButter committed
35

Roger's avatar
Roger committed
36
### Linux:
37

38
39
40
41
42
43
44
45
* Install dependencies:

```sh
sudo apt-get install libpcap0.8-dev libcurl4-gnutls-dev libsdl2-dev gtk+-3.0
```

* Compile:

Roger's avatar
Roger committed
46
47
48
49
50
51
52
```sh
mkdir -p build
cd build
cmake ..
make
```

53
54


Roger's avatar
Roger committed
55
### Windows:
s1nka's avatar
s1nka committed
56
57

 * use CodeBlocks
StapleButter's avatar
StapleButter committed
58

59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#### MSYS2 and CMake

1. Install [MSYS2](https://www.msys2.org/)
2. Open the **MSYS2 MingW 64-bit** terminal
3. Update the packages using `pacman -Syu` and reopen the terminal if it asks you to
4. Install dependencies: `pacman -S mingw-w64-x86_64-{toolchain,SDL2,cmake} make git`
5. Run the following commands
   ```bash
   git clone https://github.com/Arisotura/melonDS.git
   cd melonDS
   mkdir build
   cd build
   cmake .. -G "MSYS Makefiles"
   make -j5
   ../msys-dist.sh
   ```

If everything went well, melonDS and the libraries it needs should now be in the `dist` folder.
StapleButter's avatar
StapleButter committed
77

Roger's avatar
Roger committed
78
## TODO LIST
79

80
 * improve libui and the emulator UI
81
 * hardware renderer for 3D (w/ upscaling and fancy shit)
82
 * support for rendering screens to separate windows
StapleButter's avatar
StapleButter committed
83
 * emulating some fancy addons
StapleButter's avatar
StapleButter committed
84
 * other non-core shit (debugger, graphics viewers, cheat crapo, etc)
85

Roger's avatar
Roger committed
86
### TODO LIST FOR LATER
StapleButter's avatar
StapleButter committed
87

StapleButter's avatar
StapleButter committed
88
 * better wifi
StapleButter's avatar
StapleButter committed
89
 * maybe emulate flashcarts or other fancy hardware
90
91
 * big-endian compatibility (Wii, etc)
 * LCD refresh time (used by some games for blending effects)
92
 * any feature you can eventually ask for that isn't outright stupid
93

Roger's avatar
Roger committed
94
## Credits
StapleButter's avatar
StapleButter committed
95
96
97
98

 * 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
99
100
101
102
103
104
105
106

## 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.