Huh?! @ DLDI

Discussion in 'NDS - Flashcarts and Accessories' started by [M]artin, Jan 28, 2007.

  1. [M]artin

    [M]artin .

    Nov 7, 2006
    United States
    Could someone please explain to me what DLDI is? I've seen many a homebrew apps being released with "DLDI Support". No idea what it is... [​IMG]
  2. khan

    khan GBAtemp Maniac

    Mar 17, 2003
    DLDI is a very small piece of programme that has all the patches for all sort of slot-1/slot-2 carts so developers do not have to add those patches into their apps separately so now they only have to support DLDI interface.

    More below:
  3. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United Kingdom
    Some have likened DLDI to the cure for many woes, in truth it serves to help eliminate the issues that arise from having several different cards around with mutually incompatible drivers.

    Originally when DS homebrew first appeared people stuck with using file systems created to contain stuff for GBA (many of you will have heard of GBFS ( ) or moonshells imfs).
    Eventually it was found that you could read data right off the card, naturally every card decided to be different and not work with each others access routines.
    As card access is fairly low level programming libraries were made so as to delegate cart reading to the libraries, the eponymous gba_nds_fat by Chism (now superseded by libfat) probably being the most renowned of the lot (there are other libraries and the DSlinux project uses their own).
    Naturally not every card had access routines and sources necessary and well as the ability to play nice with other cards meaning they were not supported in the libraries and consequently homebrew that uses it.
    This caused a lot of headaches on the card owners end, card reviewers end, forum viewers end, app programmers end (see all the versions of DSOrganise around) as things would have to be recompiled with new libraries (something end users are loathe to do) and it was all a mess.

    Now Moonshell uses the method of having a windows installer which the user makes into a useable file for their flashcart and very recently chism added similar fuctionality to his libraries (a new version of gba_nds_fat was also made despite being an discontinued project) meaning that any app made using the new libraries has some blank space added will merely have to be patched on the users end to support their cart.
    There are already versions of moonshell, DSdoom and a couple of other apps using DLDI going around and this is just one of them.
    Patchers (all three major OS') and libraries required (see GBAdev and your carts support forum for prototype library discussion and downloads if one does not exist on the link below)

    DLDI is simple enough to use
    visit the site:
    download the dldi file
    download the patcher (I will detail the command line one as I find it simple enough)
    The syntax is:
    That is to say if I were to patch a file called a.nds for the R4 I would first make sure a.nds was in the same directory as r4tf.dldi and the patcher called dlditool.exe, then type

    dlditool r4tf.dldi a.nds
    Hit enter and a few seconds later a patched app would appear, copy this to your card and do whatever else is needed for the app (copy films, roms, isos, music, pictures....)

    Here is a thread with a bunch of old apps that have now had dldi support added, most apps compiled recently have dldi support added (check their forums for betas and gbatemp does a good line in posting news):
  4. Costello

    Costello Headmaster

    Oct 24, 2002
    Dynamically Linked Device Interface for libfat

    The DLDI is a library the developpers can include in their projects and that enable compatibility with most flashcarts.
    list of supported flashcarts here:

    to make a homebrew that supports DLDI compatible with your flashcart, you need to patch the .nds with the proper DLDI patcher, the one that fits your flashcart.

    The reason why some flashcarts don't support DLDI is because their manufacturer didn't release the "libfat" (library to exploit the hardware)
    There is a GUI patcher that can be found in the homebrew news [​IMG]

    edit: wow the two of you guys beat me to it.
  5. Rhuarc

    Rhuarc Member

    Feb 11, 2008
    United States
    Anyone have any idea is there is a DLDI available for the DSTT? The site mentioned doesn't list one, but I have also heard that the DSTT is from the same company that made the Neo Flash. Could I use that one instead?

  6. arctic_flame

    arctic_flame GBAtemp ATMEGA8 Fan

    Nov 4, 2006
    England land
    I think it autopatches homebrew on the fly, so it's not necessary.
  7. Urza

    Urza hi

    Jul 18, 2007
    United States
    DSTT (and most carts now) have auto-DLDI patching; so manual patching is all but obsolete.
  8. Rhuarc

    Rhuarc Member

    Feb 11, 2008
    United States
    There are still a few homebrew apps that haven't implemented auto patching in their software, I think. I can't get them to run on the DSTT.
  9. arsehat

    arsehat GBAtemp Regular

    Jun 12, 2007
    Not quite, especially if you want to play with building things that boot on the bare card like a replacement firmware.

    Google is your friend! Yasu has a ttio.dldi at his site, but there are some claims that it might not be working. If it *does* work, I'll have to have a poke at DS-DOS and DSBrowser over the weekend, and see if there's some way to get one or the other to invoke the DSTT loader...
  10. playallday

    playallday Group: GBAtemp Ghost

    May 23, 2008
    Why not use and not that hard to use one?
  11. krazykirk

    krazykirk GBAtemp Fan

    Jul 17, 2007
    Real men use the command line [​IMG]
  12. Raestloz

    Raestloz GBATemp's Lone Wolf

    Feb 7, 2008
    The World of Illusion
    Well, smart men use the easy way [​IMG]

    Just kiddin' :;
  13. Searinox

    Searinox Dances with Dragons

    Dec 16, 2007
    DLDI is pretty much the DirectX of NDS ain't it? It standardizes APIs to work on all the different microSD and slashcart hardware.
  14. arctic_flame

    arctic_flame GBAtemp ATMEGA8 Fan

    Nov 4, 2006
    England land
    Not really.