DLDI: Difference between revisions

From GameBrew
No edit summary
Tag: visualeditor
No edit summary
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox DS Homebrews
{{Infobox DS Homebrews
|title=DLDI
|title=DLDI
|image=Nds.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
|lastupdated=2008/09/10
|type=PC Utility
|type=ROM Patchers
|version=10 Sept 2008
|version=2008
|license=Mixed
|license=Mixed
|download=https://www.chishm.com/DLDI/index.html#patches
|download=https://www.chishm.com/DLDI/index.html#patches
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><a href="https://dlhb.gamebrew.org/dshomebrew/DLDIdefault.zip">SRC</a></td><td>Chishm</td><td>-/-</td><td>-</td><td><a href="http://chishm.drunkencoders.com">Chishm</a></td><td>2007-01-12</td><td></td></tr>
<tr><td>AceKard+</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/acek.dldi">DLDI</a></td><td>---</td><td>AceKard</td><td>R/W</td><td>Yes</td><td><a href="http://www.acekard.com/">AceKard</a></td><td>2007-01-31</td><td></td></tr>
<tr><td>CycloDS Mini/Micro</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/cyds.dldi">DLDI</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/gmtf.dldi">DLDI v1</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/gmtf.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Yes</td><td rowspan="2"><a href="http://us.codejunkies.com/Products/NDS-Games-n-Music__EF000155.aspx">Datel</a></td><td>2007-07-04</td><td>Slower but more compatible</td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/gmtf2.dldi">DLDI v2</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/gmtf2.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Yes</td><td>2007-07-05</td><td>Faster but requires an SDHC card, see <a href="http://forum.gbadev.org/viewtopic.php?p=136847#136847">this gbadev forum thread</a></td></tr>
<tr><td rowspan="4">DSLink (microSD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlms.dldi">DLDI v1</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlms.zip">SRC</a></td><td>Rudolph (ported by Lick)</td><td>R/W</td><td>Failed</td><td rowspan="4"><a href="http://www.ds-link.net/english/">DSLink</a></td><td>2006-12-26</td><td></td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlms_moon.dldi">Moonshell DLDI/a&gt;</a></td><td>---</td><td>MoonLight</td><td>R/?</td><td>Yes</td><td>2006-12-30</td><td>Moonshell version</td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlms3.dldi">DLDI v3</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlms3.zip">SRC</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/dlms4.dldi">DLDI v4</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlms4.zip">SRC</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/dsx.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dsx.zip">SRC</a></td><td>DS-Xtreme Team</td><td>R/W</td><td>Yes</td><td><a href="http://www.ds-x.com/">DS-X</a></td><td>2007-02-12</td><td>The DS-Xtreme does a form of auto-patching <a href="#auto_patching">[2]</a></td></tr>
<tr><td>Ewin2 (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/ewsd.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/ewsd.zip">SRC</a></td><td>Moonlight</td><td>R/W</td><td>Yes</td><td><a href="http://www.ewinflash.net/">Ewin flash</a></td><td>2006-12-29</td><td></td></tr>
<tr><td>EZ Flash 4 (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/ezsd.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/ezsd.zip">SRC</a></td><td>Rudolph (Original by EZ Team (aladdin))</td><td>R/W</td><td>Yes</td><td><a href="http://www.ezflash.cn/en/default.asp">EZ Flash</a></td><td>2006-12-27</td><td></td></tr>
<tr><td rowspan="2">EZ Flash 5</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/ez5s.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/ez5s.zip">SRC</a></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</a></td><td>2008-09-10</td><td>Can be used for Wireless MultiBoot, etc.</td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/ez5sdhc.dldi">SDHC DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/ez5sdhc.zip">SRC</a></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+ <a href="#requires_init">[1]</a>. For usage in EZ-V+, copy both EZ5 drivers into the moonshl folder.</td></tr>
<tr><td>G6 Flash (version 0.19)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/g6fl.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/g6fl.zip">SRC</a></td><td>viruseb</td><td>R/W</td><td>Yes</td><td><a href="http://www.g6flash.com">G6 Flash</a></td><td>2007-04-12</td><td></td></tr>
<tr><td>G6 Real</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/g6real.dldi">DLDI</a></td><td>---</td><td>G6 Team</td><td>R/W</td><td>No</td><td><a href="http://www.g6flash.com">G6 Flash</a></td><td>2007-07-12</td><td>Also known as G6DS. This device supports automatic patching <a href="#auto_patching">[2]</a>.</td></tr>
<tr><td>M3 Adapter (Compact Flash)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/m3cf.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/m3cf.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Fail</td><td><a href="http://www.m3adapter.com">M3 Adapter</a></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 <a href="#auto_patching">[2]</a>.</td></tr>
<tr><td rowspan="2">M3 Adapter (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/m3sd.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/m3sd.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Yes</td><td rowspan="2"><a href="http://www.m3adapter.com">M3 Adapter</a></td><td>2006-12-25</td><td></td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/m3sd_alt.dldi">Alt</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/m3sd_alt.zip">SRC</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/mmcf.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/mmcf.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Yes</td><td><a href="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</a></td><td>2007-01-07</td><td></td></tr>
<tr><td>GBA Movie Player (Compact Flash)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/mpcf.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/mpcf.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Yes</td><td><a href="http://movieadvance.com/index.htm">Movie Advance</a></td><td>2006-12-25</td><td></td></tr>
<tr><td>GBA Movie Player (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/mpsd.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/mpsd.zip">SRC</a></td><td>ps2aich (Original by Movie Advance)</td><td>R/W</td><td>No</td><td><a href="http://movieadvance.com/sd_en/index.htm">Movie Advance</a></td><td>2007-08-09</td><td>Driver only works when the patched application is booted via the GBAMP SD itself <a href="#requires_init">[1]</a></td></tr>
<tr><td>NEO Flash MK2 &amp; MK3 (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/nmmc.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/nmmc.zip">SRC</a></td><td>NEO Flash Team</td><td>R/W</td><td>Yes</td><td><a href="http://www.neoflash.com/">NEO Flash</a></td><td>2006-12-25</td><td></td></tr>
<tr><td>NEO Flash MK5 (NAND Flash)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/mk5n.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/mk5n.zip">SRC</a></td><td>NEO Flash Team</td><td>R/-</td><td>No</td><td><a href="http://www.neoflash.com/">NEO Flash</a></td><td>2007-02-07</td><td></td></tr>
<tr><td rowspan="2">NEO2 (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/nsd2.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/nsd2.zip">SRC</a></td><td>NEO Flash Team</td><td>R/W</td><td>Yes</td><td rowspan="2"><a href="http://www.neoflash.com/">NEO Flash</a></td><td>2006-12-28</td><td></td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/nsd2v2.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/nsd2v2.zip">SRC</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/njsd.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/njsd.zip">SRC</a></td><td>NinjaMod team</td><td>R/W</td><td>Yes</td><td><a href="http://www.ninjads.com/">NinjaDS</a></td><td>2006-12-25</td><td></td></tr>
<tr><td>Ninjapass X9</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/x9sd6.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/x9sd6.zip">SRC</a></td><td>CJ Bell</td><td>R/W</td><td>Yes</td><td><a href="http://www.ninjapass.com/">Ninjapass</a></td><td>2007-10-23</td><td></td></tr>
<tr><td rowspan="2">R4(DS) - Revolution for DS<br>M3 Simply compatible</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/r4tf.dldi">DLDI v1</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/r4tf.zip">SRC</a></td><td>R4DS</td><td>R/W</td><td>Yes</td><td rowspan="2"><a href="http://www.r4ds.net/index.htm">R4 (R4DS) - Revolution for DS</a></td><td>2006-12-25</td><td>Does not support ARM7. This device supports automatic patching <a href="#auto_patching">[2]</a>.</td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/r4tf_v2.dldi">DLDI v2</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/r4tf_v2.zip">SRC</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/sccf.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/sccf.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Yes</td><td><a href="http://eng.supercard.cn/">SuperCard</a></td><td>2006-12-26</td><td></td></tr>
<tr><td rowspan="3">SuperCard DS (One)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/scds.dldi">DLDI v0</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/scds.zip">SRC</a></td><td>SuperCard Team (ported by Lick)</td><td>R/?</td><td>Yes</td><td rowspan="3"><a href="http://eng.supercard.cn/">SuperCard</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/scds1.dldi">DLDI v1</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/scds1.zip">SRC</a></td><td>cluny</td><td>R/W</td><td>Yes</td><td>2007-05-01</td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/scds2.dldi">DLDI v2</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/scdssdhc.dldi">DLDI v0</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/scdssdhc.zip">SRC</a></td><td>SuperCard Team</td><td>R/?</td><td>Failed</td><td rowspan="2"><a href="http://eng.supercard.cn/">SuperCard</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/scdssdhc1.dldi">DLDI v1</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/scdssdhc1.zip">SRC</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/scsd.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/scsd.zip">SRC</a></td><td>Chishm</td><td>R/W</td><td>Yes</td><td rowspan="2"><a href="http://eng.supercard.cn/">SuperCard</a></td><td>2006-12-25</td><td></td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/scsd_moon.dldi">Alt</a></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. <a href="#requires_init">[1]</a></td></tr>
<tr><td>SuperCard Lite (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/sclt.dldi">DLDI</a></td><td><a href="https://dlhb.gamebrew.org/dshomebrew/sclt.zip">SRC</a></td><td>brisssou</td><td>R/W</td><td>Yes</td><td><a href="http://eng.supercard.cn/">SuperCard</a></td><td>2007-01-19</td><td></td></tr>
<tr><td>SuperCard Rumble (SD Card)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/scrb.zip">DLDI</a></td><td>---</td><td>Barni</td><td>R/W</td><td>Yes</td><td><a href="http://eng.supercard.cn/">SuperCard</a></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><a href="https://github.com/devkitPro/dstools/tree/master/src/dlditool">GitHub</a></td><td>2007-08-02</td><td>1.24</td><td>Chishm, <a href="http://davejmurphy.com/">WinterMute</a>, SmileyDude</td><td></td></tr>
<tr><td>Win32 CLI</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlditool-win32.zip">Download</a></td><td>2007-02-05</td><td>1.23</td><td>Chishm</td><td><a href="#dlditool">dlditool CLI instructions</a></td></tr>
<tr><td rowspan="2">Win32 GUI</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlditool-win32-gui.zip">Download</a></td><td>2007-01-13</td><td>1.23</td><td>Adam Hodson (bob_fossil) / Maxim</td><td rowspan="2"><a href="win32gui.html">Detailed instructions</a></td></tr>
<tr><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlditool-win32-gui-Simplified-Chinese-0.31.zip">Simplified Chinese Download</a></td><td>2007-01-13</td><td>1.22</td><td>Translation by yeyezai</td></tr>
<tr><td>Win32 Right Click</td><td><a href="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><a href="dldirc.html">Detailed information</a></td></tr>
<tr><td>Linux i686 CLI</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlditool-linux-i686.zip">Download</a></td><td>2007-08-02</td><td>1.24</td><td><a href="http://davejmurphy.com/">WinterMute</a></td><td><a href="#dlditool">dlditool CLI instructions</a></td></tr>
<tr><td>Linux x86_64 CLI</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlditool-linux-x86_64.zip">Download</a></td><td>2007-08-02</td><td>1.24</td><td><a href="http://davejmurphy.com/">WinterMute</a></td><td><a href="#dlditool">dlditool CLI instructions</a></td></tr>
<tr><td>Linux GUI</td><td><a href="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</a></td><td>2008-04-13</td><td>1.0</td><td><a href="http://www.return1.net/">Lucas van Dijk (Sh4wn)</a></td><td><a href="linuxgui.html">Detailed information</a></td></tr>
<tr><td>Linux GUI (alternative)</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dldi-linux-gui-s0l1dsnak3123.zip">Download</a></td><td>2007-07-15</td><td>1.0</td><td>s0l1dsnak3123</td><td><a href="#linuxguialt">Linux GUI (alternative) instructions</a></td></tr>
<tr><td>Nautilus script</td><td><a href="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><a href="https://code.google.com/archive/p/quirkysoft/">Richard Quirk (Quirky)</a></td><td><a href="#nautilusscript">Nautilus Script</a></td></tr>
<tr><td>MacOS X CLI</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dlditool-osx.zip">Download</a></td><td>2007-08-02</td><td>1.24</td><td>WinterMute</td><td><a href="#dlditool">dlditool CLI instructions</a></td></tr>
<tr><td>MacOS X DLDI Drop</td><td><a href="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</a></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><a href="https://dlhb.gamebrew.org/dshomebrew/dldi-noap-cli.zip">Download</a></td><td>2007-08-12</td><td></td><td>PsychoWood</td><td><a href="#no_auto_patch">No auto-patch instructions</a></td></tr>
<tr><td>No auto-patch GUI</td><td><a href="https://dlhb.gamebrew.org/dshomebrew/dldi-noap-gui.zip">GUI</a></td><td>2007-08-12</td><td></td><td>Nphinity</td><td><a href="#no_auto_patch">No auto-patch instructions</a></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: