DLDI: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox DS Homebrews
{{Infobox DS Homebrews
|title=DLDI
|title=DLDI
|image=Dldi3.png
|image=Dldi4.png
|description=Patch that allows you to run homebrew programs on different flashcarts.
|description=Patch that allows you to run homebrew programs on different flashcarts.
|author=Michael "Chishm" Chisholm
|author=Michael 'Chishm' Chisholm
|lastupdated=2008/09/10
|lastupdated=2008/09/10
|type=PC Utilities
|type=ROM Patchers
|version=2008
|version=2008
|license=Mixed
|license=Mixed
Line 13: Line 13:
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.


Mostly required for homebrew programs to implement save/load features and record high scores for different flashcarts.
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==
===Supprted cartridges===
===Supported 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:
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:


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===

Latest revision as of 06:36, 22 January 2024

DLDI
Dldi4.png
General
AuthorMichael 'Chishm' Chisholm
TypeROM Patchers
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

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

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: