Hacking Huh?! @ DLDI

[M]artin

.
OP
Member
Joined
Nov 7, 2006
Messages
3,658
Trophies
0
Age
34
XP
995
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...
blink.gif
 

khan

Well-Known Member
Member
Joined
Mar 17, 2003
Messages
1,320
Trophies
0
Age
53
Website
Visit site
XP
355
Country
Pakistan
QUOTE([M) said:
artin,Jan 28 2007, 08:28 PM]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... 
blink.gif

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
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
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
 

Costello

Headmaster
Administrator
Joined
Oct 24, 2002
Messages
14,201
Trophies
4
XP
19,707
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
smile.gif


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

Rhuarc

Active Member
Newcomer
Joined
Feb 11, 2008
Messages
34
Trophies
0
XP
47
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!
 

Rhuarc

Active Member
Newcomer
Joined
Feb 11, 2008
Messages
34
Trophies
0
XP
47
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.
 

arsehat

Well-Known Member
Member
Joined
Jun 12, 2007
Messages
155
Trophies
0
Website
Visit site
XP
69
Country
Urza said:
DSTT (and most carts now) have auto-DLDI patching; so manual patching is all but obsolete.

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

playallday

Group: GBAtemp Ghost
Member
Joined
May 23, 2008
Messages
3,767
Trophies
1
Location
[@N@[)@
Website
Visit site
XP
494
Country
Canada
FAST6191 said:
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
Why not use http://chishm.drunkencoders.com/DLDI/downl...l-win32-gui.zip and not that hard to use one?
 

krazykirk

Well-Known Member
Member
Joined
Jul 17, 2007
Messages
399
Trophies
0
Age
33
Location
Australia
Website
Visit site
XP
136
Country
playallday said:
FAST6191 said:
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
Why not use http://chishm.drunkencoders.com/DLDI/downl...l-win32-gui.zip and not that hard to use one?
Real men use the command line
wink.gif
 

Searinox

"Dances" with Dragons
Member
Joined
Dec 16, 2007
Messages
2,073
Trophies
1
Age
36
Location
Bucharest
XP
2,199
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.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: Hello @realtimesave.