DLDI: Difference between revisions

From GameBrew
No edit summary
No edit summary
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = DLDI
|title=DLDI
| image       =  
|image=Dldi3.png
| type        = PC Utilities
|description=Patch that allows you to run homebrew programs on different flashcarts.
| version    = 1.24
|author=Michael "Chishm" Chisholm
| licence    = Mixed
|lastupdated=2008/09/10
| author     = Michael "Chishm" Chisholm
|type=ROM and Homebrew tools
| website    = https://www.chishm.com/DLDI/index.html
|version=2008
| download    = https://www.chishm.com/DLDI/index.html#patches
|license=Mixed
| source      =
|download=https://www.chishm.com/DLDI/index.html#patches
}}  
|website=https://www.chishm.com/DLDI/index.html
 
}}
DLDI is the Dynamically Linked Disc Interface for Game Boy Advance and Nintendo DS. It works as a part of libfat to allow homebrew programs to read and write files on the memory card inserted into one of the system's slots. It has also been implemented for GBA_NDS_FAT and DSLinux.
DLDI is the Dynamically Linked Disc Interface for Game Boy Advance and Nintendo DS. It works as a part of libfat to allow homebrew programs to read and write files on the memory card inserted into one of the system's slots. It has also been implemented for GBA_NDS_FAT and DSLinux.


It is an addon/patch that enable different flashcarts to read and run homebrew programs on the NDS.
Mostly required for homebrew programs that rely on libfat to load external files (such as source ports and emulators), implement save/load features and record high scores for different flashcarts.


==User guide==
==User guide==
Line 43: Line 43:


DLDI patches for different flashcarts are available from the [https://www.chishm.com/DLDI/index.html official site].
DLDI patches for different flashcarts are available from the [https://www.chishm.com/DLDI/index.html official site].
===DLDI Device patches===
<table><tr><th>Device</th><th>Download</th><th>Source</th><th>Author</th><th>Read/Write</th><th>Tested?</th><th>Manufacturer</th><th>Last Modified</th><th>Notes</th></tr>
<tr><td>Default (No device)</td><td>[https://dlhb.gamebrew.org/dshomebrew/default.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/DLDIdefault.zip SRC]</td><td>Chishm</td><td>-/-</td><td>-</td><td>[http://chishm.drunkencoders.com Chishm]</td><td>2007-01-12</td><td></td></tr>
<tr><td>AceKard+</td><td>[https://dlhb.gamebrew.org/dshomebrew/acek.dldi DLDI]</td><td>---</td><td>AceKard</td><td>R/W</td><td>Yes</td><td>[http://www.acekard.com/ AceKard]</td><td>2007-01-31</td><td></td></tr>
<tr><td>CycloDS Mini/Micro</td><td>[https://dlhb.gamebrew.org/dshomebrew/cyds.dldi DLDI]</td><td>---</td><td>Team Cyclops</td><td>R/W</td><td>No</td><td>CycloDS</td><td>2007-06-25</td><td></td></tr>
<tr><td rowspan="2">Datel Games 'n' Music</td><td>[https://dlhb.gamebrew.org/dshomebrew/gmtf.dldi DLDI v1]</td><td>[https://dlhb.gamebrew.org/dshomebrew/gmtf.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Yes</td><td rowspan="2">[http://us.codejunkies.com/Products/NDS-Games-n-Music__EF000155.aspx Datel]</td><td>2007-07-04</td><td>Slower but more compatible</td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/gmtf2.dldi DLDI v2]</td><td>[https://dlhb.gamebrew.org/dshomebrew/gmtf2.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Yes</td><td>2007-07-05</td><td>Faster but requires an SDHC card, see [http://forum.gbadev.org/viewtopic.php?p=136847#136847 this gbadev forum thread]</td></tr>
<tr><td rowspan="4">DSLink (microSD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlms.dldi DLDI v1]</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlms.zip SRC]</td><td>Rudolph (ported by Lick)</td><td>R/W</td><td>Failed</td><td rowspan="4">[http://www.ds-link.net/english/ DSLink]</td><td>2006-12-26</td><td></td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/dlms_moon.dldi Moonshell DLDI]</td><td>---</td><td>MoonLight</td><td>R/?</td><td>Yes</td><td>2006-12-30</td><td>Moonshell version</td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/dlms3.dldi DLDI v3]</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlms3.zip SRC]</td><td>Diddl</td><td>R/W</td><td>Yes</td><td>2007-03-02</td><td>This version does not work in DSLINUX because of an swiDelay() call. There is a bug that makes writes unpredictable.</td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/dlms4.dldi DLDI v4]</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlms4.zip SRC]</td><td>Amadeus</td><td>R/W</td><td>Yes</td><td>2007-05-20</td><td>Fixes the bugs present in version 3</td></tr>
<tr><td>DS-X</td><td>[https://dlhb.gamebrew.org/dshomebrew/dsx.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/dsx.zip SRC]</td><td>DS-Xtreme Team</td><td>R/W</td><td>Yes</td><td>[http://www.ds-x.com/ DS-X]</td><td>2007-02-12</td><td>The DS-Xtreme does a form of auto-patching </td></tr>
<tr><td>Ewin2 (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/ewsd.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/ewsd.zip SRC]</td><td>Moonlight</td><td>R/W</td><td>Yes</td><td>[http://www.ewinflash.net/ Ewin flash]</td><td>2006-12-29</td><td></td></tr>
<tr><td>EZ Flash 4 (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/ezsd.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/ezsd.zip SRC]</td><td>Rudolph (Original by EZ Team (aladdin))</td><td>R/W</td><td>Yes</td><td>[http://www.ezflash.cn/en/default.asp EZ Flash]</td><td>2006-12-27</td><td></td></tr>
<tr><td rowspan="2">EZ Flash 5</td><td>[https://dlhb.gamebrew.org/dshomebrew/ez5s.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/ez5s.zip SRC]</td><td>Cory1942, ps2aich</td><td>R/W</td><td>Yes</td><td rowspan="2"><a href="http://www.ezflash.cn/en/default.asp EZ Flash]</td><td>2008-09-10</td><td>Can be used for Wireless MultiBoot, etc.</td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/ez5sdhc.dldi SDHC DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/ez5sdhc.zip SRC]</td><td>Cory1942, ps2aich</td><td>R/W</td><td>Yes</td><td>2008-09-10</td><td>Can only be used when booting up via EZ-V+. For usage in EZ-V+, copy both EZ5 drivers into the moonshl folder.</td></tr>
<tr><td>G6 Flash (version 0.19)</td><td>[https://dlhb.gamebrew.org/dshomebrew/g6fl.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/g6fl.zip SRC]</td><td>viruseb</td><td>R/W</td><td>Yes</td><td>[http://www.g6flash.com G6 Flash]</td><td>2007-04-12</td><td></td></tr>
<tr><td>G6 Real</td><td>[https://dlhb.gamebrew.org/dshomebrew/g6real.dldi DLDI]</td><td>---</td><td>G6 Team</td><td>R/W</td><td>No</td><td>[http://www.g6flash.com G6 Flash]</td><td>2007-07-12</td><td>Also known as G6DS. This device supports automatic patching.</td></tr>
<tr><td>M3 Adapter (Compact Flash)</td><td>[https://dlhb.gamebrew.org/dshomebrew/m3cf.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/m3cf.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Fail</td><td>[http://www.m3adapter.com M3 Adapter]</td><td>2007-05-05</td><td>Fails read alignment test. The built-in M3CF driver works fine so this DLDI may not be needed.</td></tr>
<tr><td rowspan="2">M3 Adapter (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/m3sd.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/m3sd.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Yes</td><td rowspan="2">[http://www.m3adapter.com M3 Adapter]</td><td>2006-12-25</td><td></td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/m3sd_alt.dldi Alt]</td><td>[https://dlhb.gamebrew.org/dshomebrew/m3sd_alt.zip SRC]</td><td>agentq</td><td>R/W</td><td>Yes</td><td>2007-01-20</td><td></td></tr>
<tr><td>Max Media Dock (Compact Flash)</td><td>[https://dlhb.gamebrew.org/dshomebrew/mmcf.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/mmcf.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Yes</td><td>[http://us.codejunkies.com/shop/product.asp?c=US&amp;cr=USD&amp;cs=$&amp;r=1&amp;l=1&amp;ProdID=750 Code Junkies]</td><td>2007-01-07</td><td></td></tr>
<tr><td>GBA Movie Player (Compact Flash)</td><td>[https://dlhb.gamebrew.org/dshomebrew/mpcf.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/mpcf.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Yes</td><td>[http://movieadvance.com/index.htm Movie Advance]</td><td>2006-12-25</td><td></td></tr>
<tr><td>GBA Movie Player (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/mpsd.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/mpsd.zip SRC]</td><td>ps2aich (Original by Movie Advance)</td><td>R/W</td><td>No</td><td>[http://movieadvance.com/sd_en/index.htm Movie Advance]</td><td>2007-08-09</td><td>Driver only works when the patched application is booted via the GBAMP SD itself</td></tr>
<tr><td>NEO Flash MK2 &amp; MK3 (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/nmmc.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/nmmc.zip SRC]</td><td>NEO Flash Team</td><td>R/W</td><td>Yes</td><td>[http://www.neoflash.com/ NEO Flash]</td><td>2006-12-25</td><td></td></tr>
<tr><td>NEO Flash MK5 (NAND Flash)</td><td>[https://dlhb.gamebrew.org/dshomebrew/mk5n.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/mk5n.zip SRC]</td><td>NEO Flash Team</td><td>R/-</td><td>No</td><td>[http://www.neoflash.com/ NEO Flash]</td><td>2007-02-07</td><td></td></tr>
<tr><td rowspan="2">NEO2 (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/nsd2.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/nsd2.zip SRC]</td><td>NEO Flash Team</td><td>R/W</td><td>Yes</td><td rowspan="2">[http://www.neoflash.com/ NEO Flash]</td><td>2006-12-28</td><td></td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/nsd2v2.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/nsd2v2.zip SRC]</td><td>NEO Flash Team &amp; Chishm</td><td>R/W</td><td>Yes</td><td>2006-12-28</td><td>Faster reads than version 1</td></tr>
<tr><td>Ninja DS (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/njsd.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/njsd.zip SRC]</td><td>NinjaMod team</td><td>R/W</td><td>Yes</td><td>[http://www.ninjads.com/ NinjaDS]</td><td>2006-12-25</td><td></td></tr>
<tr><td>Ninjapass X9</td><td>[https://dlhb.gamebrew.org/dshomebrew/x9sd6.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/x9sd6.zip SRC]</td><td>CJ Bell</td><td>R/W</td><td>Yes</td><td>[http://www.ninjapass.com/ Ninjapass]</td><td>2007-10-23</td><td></td></tr>
<tr><td rowspan="2">R4(DS) - Revolution for DS<br>M3 Simply compatible</td><td>[https://dlhb.gamebrew.org/dshomebrew/r4tf.dldi DLDI v1]</td><td>[https://dlhb.gamebrew.org/dshomebrew/r4tf.zip SRC]</td><td>R4DS</td><td>R/W</td><td>Yes</td><td rowspan="2">[http://www.r4ds.net/index.htm R4 (R4DS) - Revolution for DS]</td><td>2006-12-25</td><td>Does not support ARM7. This device supports automatic patching.</td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/r4tf_v2.dldi DLDI v2]</td><td>[https://dlhb.gamebrew.org/dshomebrew/r4tf_v2.zip SRC]</td><td>R4DS, modified by Chishm</td><td>R/W</td><td>Yes</td><td>2007-12-27</td><td>Supports ARM7</td></tr>
<tr><td>SuperCard (Compact Flash)</td><td>[https://dlhb.gamebrew.org/dshomebrew/sccf.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/sccf.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Yes</td><td>[http://eng.supercard.cn/ SuperCard]</td><td>2006-12-26</td><td></td></tr>
<tr><td rowspan="3">SuperCard DS (One)</td><td>[https://dlhb.gamebrew.org/dshomebrew/scds.dldi DLDI v0]</td><td>[https://dlhb.gamebrew.org/dshomebrew/scds.zip SRC]</td><td>SuperCard Team (ported by Lick)</td><td>R/?</td><td>Yes</td><td rowspan="3">[http://eng.supercard.cn/ SuperCard]</td><td>2006-12-25</td><td rowspan="3">To use these files with the auto dldi patching feature: download the dldi, rename to dldi.bin and place it into the "scshell" folder of your microSD replacing the existing file. </td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/scds1.dldi DLDI v1]</td><td>[https://dlhb.gamebrew.org/dshomebrew/scds1.zip SRC]</td><td>cluny</td><td>R/W</td><td>Yes</td><td>2007-05-01</td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/scds2.dldi DLDI v2]</td><td>---</td><td>Barni</td><td>R/W</td><td>Yes</td><td>2007-09-14</td></tr>
<tr><td rowspan="2">SuperCard DS (One) SDHC</td><td>[https://dlhb.gamebrew.org/dshomebrew/scdssdhc.dldi DLDI v0]</td><td>[https://dlhb.gamebrew.org/dshomebrew/scdssdhc.zip SRC]</td><td>SuperCard Team</td><td>R/?</td><td>Failed</td><td rowspan="2">[http://eng.supercard.cn/ SuperCard]</td><td>2007-08-09</td><td rowspan="2">To use these files with the auto dldi patching feature: download the dldi, rename to dldi.bin and place it into the "scshell" folder of your microSD replacing the existing file. </td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/scdssdhc1.dldi DLDI v1]</td><td>[https://dlhb.gamebrew.org/dshomebrew/scdssdhc1.zip SRC]</td><td>cluny</td><td>R/W</td><td>Yes</td><td>2007-12-07</td></tr>
<tr><td rowspan="2">SuperCard (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/scsd.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/scsd.zip SRC]</td><td>Chishm</td><td>R/W</td><td>Yes</td><td rowspan="2"><a href="http://eng.supercard.cn/">SuperCard]</td><td>2006-12-25</td><td></td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/scsd_moon.dldi Alt]</td><td>---</td><td>MoonLight</td><td>R/W</td><td>Yes</td><td>2007-02-14</td><td>Based on code from MoonShell. Works on newer Supercards that may fail with other DLDIs. Must be booted from Supercard firmware. </tr>
<tr><td>SuperCard Lite (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/sclt.dldi DLDI]</td><td>[https://dlhb.gamebrew.org/dshomebrew/sclt.zip SRC]</td><td>brisssou</td><td>R/W</td><td>Yes</td><td>[http://eng.supercard.cn/ SuperCard]</td><td>2007-01-19</td><td></td></tr>
<tr><td>SuperCard Rumble (SD Card)</td><td>[https://dlhb.gamebrew.org/dshomebrew/scrb.zip">DLDI]</td><td>---</td><td>Barni</td><td>R/W</td><td>Yes</td><td>[http://eng.supercard.cn/ SuperCard]</td><td>2007-08-28</td><td>May work for other SuperCard devices that use SD cards</td></tr></table>
===Patching Tools===
<table class="downloads">
<tr><th>Executable Type</th><th>Download</th><th>Last Modified</th><th>Version</th><th>Creator</th><th>More Information</th></tr>
<tr><td>Source</td><td>[https://github.com/devkitPro/dstools/tree/master/src/dlditool GitHub]</td><td>2007-08-02</td><td>1.24</td><td>Chishm, [http://davejmurphy.com/ WinterMute], SmileyDude</td><td></td></tr>
<tr><td>Win32 CLI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlditool-win32.zip Download]</td><td>2007-02-05</td><td>1.23</td><td>Chishm</td><td>[#dlditool dlditool CLI instructions]</td></tr>
<tr><td rowspan="2">Win32 GUI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlditool-win32-gui.zip Download]</td><td>2007-01-13</td><td>1.23</td><td>Adam Hodson (bob_fossil) / Maxim</td><td rowspan="2">[https://www.chishm.com/DLDI/win32gui.html Detailed instructions]</td></tr>
<tr><td>[https://dlhb.gamebrew.org/dshomebrew/dlditool-win32-gui-Simplified-Chinese-0.31.zip Simplified Chinese Download]</td><td>2007-01-13</td><td>1.22</td><td>Translation by yeyezai</td></tr>
<tr><td>Win32 Right Click</td><td>[https://dlhb.gamebrew.org/dshomebrew/DLDIrcSetup.exe DLDIrcSetup.exe</a> (<a href="http://psychowood.altervista.org/getDLDIrc.html">Web page</a>)</td><td>2007-10-17</td><td>0.93</td><td>PsychoWood</td><td>[dldirc.html">Detailed information]</td></tr>
<tr><td>Linux i686 CLI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlditool-linux-i686.zip Download]</td><td>2007-08-02</td><td>1.24</td><td>[http://davejmurphy.com/ WinterMute]</td><td>[#dlditool">dlditool CLI instructions]</td></tr>
<tr><td>Linux x86_64 CLI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlditool-linux-x86_64.zip Download]</td><td>2007-08-02</td><td>1.24</td><td>[http://davejmurphy.com/ WinterMute]</td><td>[#dlditool">dlditool CLI instructions]</td></tr>
<tr><td>Linux GUI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dldi-linux-gui_1.0-1_i386.deb deb package</a> or <a href="https://dlhb.gamebrew.org/dshomebrew/dldi-linux-gui-1.0.tar.gz">source]</td><td>2008-04-13</td><td>1.0</td><td>[http://www.return1.net/ Lucas van Dijk (Sh4wn)]</td><td>[linuxgui.html">Detailed information]</td></tr>
<tr><td>Linux GUI (alternative)</td><td>[https://dlhb.gamebrew.org/dshomebrew/dldi-linux-gui-s0l1dsnak3123.zip Download]</td><td>2007-07-15</td><td>1.0</td><td>s0l1dsnak3123</td><td>[#linuxguialt">Linux GUI (alternative) instructions]</td></tr>
<tr><td>Nautilus script</td><td>[https://dlhb.gamebrew.org/dshomebrew/nautilus-script.tar.gz Download</a> (<a href="http://quirkysoft.googlecode.com/files/patch-dldi-1.0.tar.gz">Direct</a>)</td><td>2007-04-24</td><td>1.0</td><td>[https://code.google.com/archive/p/quirkysoft/">Richard Quirk (Quirky)]</td><td>[#nautilusscript">Nautilus Script]</td></tr>
<tr><td>MacOS X CLI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dlditool-osx.zip Download]</td><td>2007-08-02</td><td>1.24</td><td>WinterMute</td><td>[#dlditool">dlditool CLI instructions]</td></tr>
<tr><td>MacOS X DLDI Drop</td><td>[https://dlhb.gamebrew.org/dshomebrew/dldi_drop.zip Local copy</a> or <a href="http://www.blogadresse.de/2007/01/29/dldi-drop-dldi-patcher-the-mac-way/ Web page]</td><td>2007-01-30</td><td>1.23</td><td>Jan Kampling</td><td>Read <a href="http://gdgts.de/dldi-drop-dldi-patcher-the-mac-way/">Jan's blog</a> (<a href="https://web.archive.org/web/20140627165551/http://gdgts.de/dldi-drop-dldi-patcher-the-mac-way/">Internet Archive copy</a>)</td></tr>
<tr><td>No auto-patch CLI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dldi-noap-cli.zip Download]</td><td>2007-08-12</td><td></td><td>PsychoWood</td><td>[#no_auto_patch">No auto-patch instructions]</td></tr>
<tr><td>No auto-patch GUI</td><td>[https://dlhb.gamebrew.org/dshomebrew/dldi-noap-gui.zip GUI]</td><td>2007-08-12</td><td></td><td>Nphinity</td><td>[#no_auto_patch">No auto-patch instructions]</td></tr>
</table>


===How to use===
===How to use===
Line 55: Line 129:
Once you have patched the .nds or .gba file, you can copy it to your memory card and run it from your DS.
Once you have patched the .nds or .gba file, you can copy it to your memory card and run it from your DS.


'''DLDIrc:'''
===DLDIrc===
Alternatively you can use [https://www.chishm.com/DLDI/dldirc.html DLDI Right Click] (DLDIrc) written by PsychoWood.


Alternatively you can use [https://www.chishm.com/DLDI/dldirc.html DLDI Right Click] (DLDIrc), which is a tool written by PsychoWood.  
It is an automatic DLDI patching program that adds itself to your right-click menu for .nds and/or .gba files.  


It is an automatic DLDI patching program that adds itself to your right-click menu for .nds and/or .gba files.  
The programs installer includes most DLDI driver files for most flash kits, allowing you to click any .nds (and also .gba or .bin, if you wish) file within Windows and patches it with the DLDI file of your choice, without the needs to download the DLDI patch files separately.


The programs installer includes most DLDI driver files for most flash kits, allowing you to click any .nds (and also .gba or .bin, if you wish) file within Windows and patch it with the DLDI file of your choice, without the needs to download the dldi patch files separately.
==External links==
* Author's website - https://www.chishm.com/DLDI/index.html


<br>
[[Category:DS homebrew applications]]
[[Category:DS homebrew applications]]
[[Category:PC utilities for DS]]
[[Category:PC utilities for DS]]

Revision as of 06:22, 15 January 2022

DLDI
File:Dldi3.png
General
AuthorMichael "Chishm" Chisholm
TypeROM and Homebrew tools
Version2008
LicenseMixed
Last Updated2008/09/10
Links
Download
Website

DLDI is the Dynamically Linked Disc Interface for Game Boy Advance and Nintendo DS. It works as a part of libfat to allow homebrew programs to read and write files on the memory card inserted into one of the system's slots. It has also been implemented for GBA_NDS_FAT and DSLinux.

Mostly required for homebrew programs that rely on libfat to load external files (such as source ports and emulators), implement save/load features and record high scores for different flashcarts.

User guide

Supprted cartridges

DLDI support is defined as, at a minimum, the ability to patch a .nds file for a specific cartridge. Virtually all cartridges support DLDI either officially or via third-party intervention. Most cart developers have advanced beyond manual DLDI patching in various ways, such as automatic DLDI patching. Some carts that are compatible with the interface include the following:

AceKard+
DSLink
DS-Xtreme
Ewin2
EZ-Flash IV
EZ-Flash V
G6-Flash (Lite)
M3 Adapter (CF)
M3 Adapter (SD)
Max Media Dock
GBA Movie Player (CF)
GBA Movie Player (SD)
NEO flash MK2 & MK3
NEO2
Ninja DS
NinjaPass X9
R4 DS
M3 DS Simply
Supercard (CF)
Supercard (SD)
Supercard Lite
Supercard DS One

DLDI patches for different flashcarts are available from the official site.

DLDI Device patches

DeviceDownloadSourceAuthorRead/WriteTested?ManufacturerLast ModifiedNotes
Default (No device)DLDISRCChishm-/--Chishm2007-01-12
AceKard+DLDI---AceKardR/WYesAceKard2007-01-31
CycloDS Mini/MicroDLDI---Team CyclopsR/WNoCycloDS2007-06-25
Datel Games 'n' MusicDLDI v1SRCChishmR/WYesDatel2007-07-04Slower but more compatible
DLDI v2SRCChishmR/WYes2007-07-05Faster but requires an SDHC card, see this gbadev forum thread
DSLink (microSD Card)DLDI v1SRCRudolph (ported by Lick)R/WFailedDSLink2006-12-26
Moonshell DLDI---MoonLightR/?Yes2006-12-30Moonshell version
DLDI v3SRCDiddlR/WYes2007-03-02This version does not work in DSLINUX because of an swiDelay() call. There is a bug that makes writes unpredictable.
DLDI v4SRCAmadeusR/WYes2007-05-20Fixes the bugs present in version 3
DS-XDLDISRCDS-Xtreme TeamR/WYesDS-X2007-02-12The DS-Xtreme does a form of auto-patching
Ewin2 (SD Card)DLDISRCMoonlightR/WYesEwin flash2006-12-29
EZ Flash 4 (SD Card)DLDISRCRudolph (Original by EZ Team (aladdin))R/WYesEZ Flash2006-12-27
EZ Flash 5DLDISRCCory1942, ps2aichR/WYes<a href="http://www.ezflash.cn/en/default.asp EZ Flash]2008-09-10Can be used for Wireless MultiBoot, etc.
SDHC DLDISRCCory1942, ps2aichR/WYes2008-09-10Can only be used when booting up via EZ-V+. For usage in EZ-V+, copy both EZ5 drivers into the moonshl folder.
G6 Flash (version 0.19)DLDISRCvirusebR/WYesG6 Flash2007-04-12
G6 RealDLDI---G6 TeamR/WNoG6 Flash2007-07-12Also known as G6DS. This device supports automatic patching.
M3 Adapter (Compact Flash)DLDISRCChishmR/WFailM3 Adapter2007-05-05Fails read alignment test. The built-in M3CF driver works fine so this DLDI may not be needed.
M3 Adapter (SD Card)DLDISRCChishmR/WYesM3 Adapter2006-12-25
AltSRCagentqR/WYes2007-01-20
Max Media Dock (Compact Flash)DLDISRCChishmR/WYesCode Junkies2007-01-07
GBA Movie Player (Compact Flash)DLDISRCChishmR/WYesMovie Advance2006-12-25
GBA Movie Player (SD Card)DLDISRCps2aich (Original by Movie Advance)R/WNoMovie Advance2007-08-09Driver only works when the patched application is booted via the GBAMP SD itself
NEO Flash MK2 & MK3 (SD Card)DLDISRCNEO Flash TeamR/WYesNEO Flash2006-12-25
NEO Flash MK5 (NAND Flash)DLDISRCNEO Flash TeamR/-NoNEO Flash2007-02-07
NEO2 (SD Card)DLDISRCNEO Flash TeamR/WYesNEO Flash2006-12-28
DLDISRCNEO Flash Team & ChishmR/WYes2006-12-28Faster reads than version 1
Ninja DS (SD Card)DLDISRCNinjaMod teamR/WYesNinjaDS2006-12-25
Ninjapass X9DLDISRCCJ BellR/WYesNinjapass2007-10-23
R4(DS) - Revolution for DS
M3 Simply compatible
DLDI v1SRCR4DSR/WYesR4 (R4DS) - Revolution for DS2006-12-25Does not support ARM7. This device supports automatic patching.
DLDI v2SRCR4DS, modified by ChishmR/WYes2007-12-27Supports ARM7
SuperCard (Compact Flash)DLDISRCChishmR/WYesSuperCard2006-12-26
SuperCard DS (One)DLDI v0SRCSuperCard Team (ported by Lick)R/?YesSuperCard2006-12-25To use these files with the auto dldi patching feature: download the dldi, rename to dldi.bin and place it into the "scshell" folder of your microSD replacing the existing file.
DLDI v1SRCclunyR/WYes2007-05-01
DLDI v2---BarniR/WYes2007-09-14
SuperCard DS (One) SDHCDLDI v0SRCSuperCard TeamR/?FailedSuperCard2007-08-09To use these files with the auto dldi patching feature: download the dldi, rename to dldi.bin and place it into the "scshell" folder of your microSD replacing the existing file.
DLDI v1SRCclunyR/WYes2007-12-07
SuperCard (SD Card)DLDISRCChishmR/WYes<a href="http://eng.supercard.cn/">SuperCard]2006-12-25
Alt---MoonLightR/WYes2007-02-14Based on code from MoonShell. Works on newer Supercards that may fail with other DLDIs. Must be booted from Supercard firmware.
SuperCard Lite (SD Card)DLDISRCbrisssouR/WYesSuperCard2007-01-19
SuperCard Rumble (SD Card)">DLDI---BarniR/WYesSuperCard2007-08-28May work for other SuperCard devices that use SD cards

Patching Tools

Executable TypeDownloadLast ModifiedVersionCreatorMore Information
SourceGitHub2007-08-021.24Chishm, WinterMute, SmileyDude
Win32 CLIDownload2007-02-051.23Chishm[#dlditool dlditool CLI instructions]
Win32 GUIDownload2007-01-131.23Adam Hodson (bob_fossil) / MaximDetailed instructions
Simplified Chinese Download2007-01-131.22Translation by yeyezai
Win32 Right ClickDLDIrcSetup.exe</a> (<a href="http://psychowood.altervista.org/getDLDIrc.html">Web page</a>)2007-10-170.93PsychoWood[dldirc.html">Detailed information
Linux i686 CLIDownload2007-08-021.24WinterMute[#dlditool">dlditool CLI instructions]
Linux x86_64 CLIDownload2007-08-021.24WinterMute[#dlditool">dlditool CLI instructions]
Linux GUIdeb package</a> or <a href="https://dlhb.gamebrew.org/dshomebrew/dldi-linux-gui-1.0.tar.gz">source2008-04-131.0Lucas van Dijk (Sh4wn)[linuxgui.html">Detailed information]
Linux GUI (alternative)Download2007-07-151.0s0l1dsnak3123[#linuxguialt">Linux GUI (alternative) instructions]
Nautilus scriptDownload</a> (<a href="http://quirkysoft.googlecode.com/files/patch-dldi-1.0.tar.gz">Direct</a>)2007-04-241.0[https://code.google.com/archive/p/quirkysoft/">Richard Quirk (Quirky)[#nautilusscript">Nautilus Script]
MacOS X CLIDownload2007-08-021.24WinterMute[#dlditool">dlditool CLI instructions]
MacOS X DLDI DropLocal copy</a> or <a href="http://www.blogadresse.de/2007/01/29/dldi-drop-dldi-patcher-the-mac-way/ Web page2007-01-301.23Jan KamplingRead <a href="http://gdgts.de/dldi-drop-dldi-patcher-the-mac-way/">Jan's blog</a> (<a href="https://web.archive.org/web/20140627165551/http://gdgts.de/dldi-drop-dldi-patcher-the-mac-way/">Internet Archive copy</a>)
No auto-patch CLIDownload2007-08-12PsychoWood[#no_auto_patch">No auto-patch instructions]
No auto-patch GUIGUI2007-08-12Nphinity[#no_auto_patch">No auto-patch instructions]

How to use

By default, homebrew that utilizes the DLDI framework will probably work on a specific device (the one the author uses) but can be patched to work with any device listed in the devices section.

Some devices will patch the homebrew for you automatically when it is loaded. Just try the ROM to see if it works with your device. If it does, then great. If not, you will need to patch the file before transfering it to your device. In this case, after downloading the DLDI-enabled homebrew, you need to patch the .nds or .ds.gba depending on what device you are using.

First you need to download the DLDI driver patch for your device. Go to the devices section, find your device and download the .dldi file.

Next you need to obtain a patcher that can run on your computer's operating system. Go to the tools list and download your prefered tool and follow the given instructions.

Once you have patched the .nds or .gba file, you can copy it to your memory card and run it from your DS.

DLDIrc

Alternatively you can use DLDI Right Click (DLDIrc) written by PsychoWood.

It is an automatic DLDI patching program that adds itself to your right-click menu for .nds and/or .gba files.

The programs installer includes most DLDI driver files for most flash kits, allowing you to click any .nds (and also .gba or .bin, if you wish) file within Windows and patches it with the DLDI file of your choice, without the needs to download the DLDI patch files separately.

External links

Advertising: