README.md 2.01 KB
Newer Older
StapleButter's avatar
StapleButter committed
1
# melonDS
2

Roger's avatar
Roger committed
3
DS emulator, sorta
4

5
The goal is to do things right and fast, akin to blargSNES (but hopefully better). But also to, you know, have a fun challenge :)
6

7
The source code is provided under the GPLv3 license.
8

Roger's avatar
Roger committed
9
## How to use
StapleButter's avatar
StapleButter committed
10
11
12
13

melonDS requires BIOS/firmware copies from a DS. Files required:
 * bios7.bin, 16KB: ARM7 BIOS
 * bios9.bin, 4KB: ARM9 BIOS
14
 * firmware.bin, 128/256/512KB: firmware
StapleButter's avatar
StapleButter committed
15
 
16
17
18
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
19
20
### Possible firmware sizes

21
22
23
24
 * 128KB: DSi/3DS DS-mode firmware (reduced size due to lacking bootcode)
 * 256KB: regular DS firmware
 * 512KB: iQue DS firmware

25
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
26

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

Roger's avatar
Roger committed
29
## How to build
StapleButter's avatar
StapleButter committed
30

Roger's avatar
Roger committed
31
### Linux:
32

Roger's avatar
Roger committed
33
34
35
36
37
38
39
40
```sh
mkdir -p build
cd build
cmake ..
make
```

### Windows:
s1nka's avatar
s1nka committed
41
42

 * use CodeBlocks
StapleButter's avatar
StapleButter committed
43
 * or receive golden cookies if you get Cmake to work
StapleButter's avatar
StapleButter committed
44
45
46

Build system is not set in stone.

Roger's avatar
Roger committed
47
## TODO LIST
48

49
50
51
 * improve libui and the emulator UI
 * fix occasional sound crackling in games that use surround (timing issue?)
 * support for rendering screens to separate windows
StapleButter's avatar
StapleButter committed
52
 * emulating some fancy addons
StapleButter's avatar
StapleButter committed
53
54
 * other non-core shit (debugger, graphics viewers, cheat crapo, etc)
 
Roger's avatar
Roger committed
55
### TODO LIST FOR LATER
StapleButter's avatar
StapleButter committed
56

StapleButter's avatar
StapleButter committed
57
58
 * hardware renderer for 3D (w/ upscaling and fancy shit)
 * better wifi
StapleButter's avatar
StapleButter committed
59
 * maybe emulate flashcarts or other fancy hardware
60
61
 * big-endian compatibility (Wii, etc)
 * LCD refresh time (used by some games for blending effects)
62
 * any feature you can eventually ask for that isn't outright stupid
StapleButter's avatar
StapleButter committed
63
 
Roger's avatar
Roger committed
64
## Credits
StapleButter's avatar
StapleButter committed
65
66
67
68

 * 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