Huh?! @ DLDI

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

Jan 28, 2007

Huh?! @ DLDI by [M]artin at 2:28 PM (11,178 Views / 0 Likes) 13 replies

  1. [M]artin
    OP

    Member [M]artin .

    Joined:
    Nov 7, 2006
    Messages:
    3,658
    Country:
    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

    Member khan GBAtemp Maniac

    Joined:
    Mar 17, 2003
    Messages:
    1,320
    Country:
    Pakistan
    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:

    http://scdev.org/forum/viewtopic.php?t=8608
     
  3. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,745
    Country:
    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 ( http://www.pineight.com/gba/#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)
    http://chishm.drunkencoders.com/DLDI/

    DLDI is simple enough to use
    visit the site:
    http://chishm.drunkencoders.com/DLDI/
    download the dldi file
    download the patcher (I will detail the command line one as I find it simple enough)
    The syntax is:
    CODEdlditool
    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

    Code:
    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):
    http://forum.gbadev.org/viewtopic.php?t=12146
     
  4. Costello

    Administrator Costello Headmaster

    Joined:
    Oct 24, 2002
    Messages:
    12,031
    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: http://chishm.drunkencoders.com/DLDI/index.html

    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

    Newcomer Rhuarc Member

    Joined:
    Feb 11, 2008
    Messages:
    34
    Country:
    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?

    Thanks!
     
  6. arctic_flame

    Member arctic_flame GBAtemp ATMEGA8 Fan

    Joined:
    Nov 4, 2006
    Messages:
    2,840
    Location:
    England land
    Country:
    United Kingdom
    I think it autopatches homebrew on the fly, so it's not necessary.
     
  7. Urza

    Member Urza hi

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

    Newcomer Rhuarc Member

    Joined:
    Feb 11, 2008
    Messages:
    34
    Country:
    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

    Member arsehat GBAtemp Regular

    Joined:
    Jun 12, 2007
    Messages:
    155
    Country:
    Australia
    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

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    Why not use http://chishm.drunkencoders.com/DLDI/downl...l-win32-gui.zip and not that hard to use one?
     
  11. krazykirk

    Member krazykirk GBAtemp Fan

    Joined:
    Jul 17, 2007
    Messages:
    399
    Location:
    Australia
    Country:
    Australia
    Real men use the command line [​IMG]
     
  12. Raestloz

    Member Raestloz GBATemp's Lone Wolf

    Joined:
    Feb 7, 2008
    Messages:
    1,775
    Location:
    The World of Illusion
    Country:
    Indonesia
    Well, smart men use the easy way [​IMG]

    Just kiddin' :;
     
  13. Searinox

    Member Searinox Just a taste~ ;3

    Joined:
    Dec 16, 2007
    Messages:
    1,626
    Location:
    NastyBadPlace Pingas: Yes sir!
    Country:
    Romania
    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

    Member arctic_flame GBAtemp ATMEGA8 Fan

    Joined:
    Nov 4, 2006
    Messages:
    2,840
    Location:
    England land
    Country:
    United Kingdom
    Not really.
     

Share This Page