Jump to content


  • Please log in to reply

DLDI Tutorial

Opium Post #1 Posted 23 February 2007 - 07:58 AM

    PogoShell it to me ™


  • Group: Former Staff
  • Posts: 8,152
  • Member No.: 9,099
  • Joined: 22-December 02
  • Location: Australia

  •  



Official DLDI Website
Linux DLDI Tutorial

What is DLDI? (how did it come about?)

DLDI stands for ‘Dynamically Linked Device Interface’. It is an interface for libfat that homebrew developers attached to their projects.

I’ll break it down to more understandable terms. Let’s say a homebrew developer makes a DS game where you can draw a picture and save the image to your flash cart. To save this image on the flash cart the developer would have to know the specific piece of code that allows you to write things to the cart. And if you wanted to read the image so you can edit it again you’d need access to the read capabilities of the flash cart. This forms the read/write commands which are essentially what libfat is.

There is a big problem however. Every flash cart uses different read/write commands. That would mean to get your game working on four different flashcarts you’d need to code it with all four different write/write methods. This is a big hassle for developers and flash cart owners a like. Under the old system homebrew projects that used read/write commands (FAT access) only worked on the flashcarts they were specifically coded for. As there are so many flash carts on the market many were left out because to keep your homebrew project working on 15 + different kits would be a nightmare!

Along came DLDI. This interface developed by Chishm unifies everything. It is a single interface that homebrew developers attach to their projects. The developers don’t have to worry about making their project compatible with a whole range of different carts. Instead each flashcart has a specific DLDI patch made for it which houses all the read/write commands. You would then simply patch the homebrew game or application with your cart’s DLDI patch and it will work on your cart. So if you have an R4 DS you apply the R4 DS DLDI patch to the homebrew .nds file. The beauty is that once a DLDI patch has been made for your cart it’ll be compatible with every piece of homebrew that has DLDI support.


What carts are supported?

As of the time of writing the following carts have a DLDI patch:

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

You can download DLDI patches from the official site here.

Important note: many of the current slot-1 flashcarts now patch homebrew automatically, so you won't need to patch anything (providing you have the latest firmware/loader/updates for your cart). These carts feature automatic DLDI patching: CycloDS evolution, R4, M3 Simply, and other might add up to this list later.


What Homebrew games/apps do I need to patch?[/color]

Any homebrew game or application that uses FAT access and supports DLDI. Homebrew games/apps that do not read or write to your card do not need to be patched.


[size=7]How do I patch my homebrew games/apps?


1. Download a DLDI patcher from the homepage. I recommend this one.
2. Download the appropriate DLDI patch for your flash cart.
3. Select the DLDI file you want to use.
4. Select the homebrew you want to patch in the ‘binaries’ section.
5. Click ‘Patch’ and you’re done.



Note: EZ-Flash V users will need to use a separate DLDI patcher to make DLDI work. If you have an EZ-Flash V please use this DLDI patcher. No other files are needed, simply drag and drop the homebrew onto the exe file.



Azimuth Post #2 Posted 23 February 2007 - 08:12 AM

    Chicken Teriyaki Boy!

  • PipPipPipPipPip

  • Group: Members
  • Posts: 637
  • Member No.: 36,995
  • Joined: 23-February 06

  •  

for the sake of tidying things up, could you link this Linux tutorial in the guide. If someone could find the mac guide post that too.

Edit: wrong link to guide

Edited by Azimuth, 23 February 2007 - 08:13 AM.


Satangel Post #3 Posted 23 February 2007 - 09:41 AM

    BEAST


  • Group: Members
  • Posts: 8,503
  • Member No.: 56,479
  • Joined: 27-November 06
  • Location: Bruges, Belgium

  •  

Nice one, it confused me at the start too, but Ive found it out myself. I'm glad I'm not doing it wrong, I do it exactly the way you guys do!

BTW does it any harm if you patch a homebrew that doesnt need DLDI?

Edited by Satangel, 23 February 2007 - 09:48 AM.


DEF- Post #4 Posted 23 February 2007 - 10:33 AM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 168
  • Member No.: 10,340
  • Joined: 25-February 03
  • Location: Sweden

  •  

Nice little guide, will help alot of users for sure.

I myself prefer to read about DLDI and find out how it works by myself. But thats just geeky me tongue.gif


blizeH Post #5 Posted 23 February 2007 - 10:47 AM

    GBAtemp Fan

  • PipPipPipPip

  • Group: Members
  • Posts: 464
  • Member No.: 34,603
  • Joined: 21-December 05
  • Location: UK

  •  

Great explanation etc, thank you!

Just wondering where can I get a DLDI for my card though? It's a G6 Lite, doesn't seem to mention it anywhere above.

Thanks again!


rest0re Post #6 Posted 23 February 2007 - 10:52 AM

    GBAtemp Advance Fan

  • PipPipPipPipPip

  • Group: Members
  • Posts: 756
  • Member No.: 59,895
  • Joined: 23-December 06
  • Location: WINLAND

  •  

QUOTE(blizeH @ Feb 23 2007, 12:47 PM)
Great explanation etc, thank you!

Just wondering where can I get a DLDI for my card though? It's a G6 Lite, doesn't seem to mention it anywhere above.

Thanks again!

lol owned wink.gif


Sentient Post #7 Posted 23 February 2007 - 11:19 AM

    Member

  • Pip

  • Group: Newcomers
  • Posts: 17
  • Member No.: 31,642
  • Joined: 22-September 05
  • Location: Frozen North

  •  

Very nice! I'm going to get this going on some homebrew for my R4.

Edited by Sentient, 23 February 2007 - 11:19 AM.


fli_guy84 Post #8 Posted 23 February 2007 - 01:23 PM

    GBAtemp Fan

  • PipPipPipPip

  • Group: Members
  • Posts: 320
  • Member No.: 55,308
  • Joined: 20-November 06

  •  

Nice guide Opium, but why did you leave out DS-X?

Is it because it's listed as 'No' under 'Tested?'


alcaholjunkie Post #9 Posted 23 February 2007 - 01:51 PM

    GBAtemp Regular

  • PipPipPip

  • Group: Members
  • Posts: 101
  • Member No.: 63,539
  • Joined: 13-January 07
  • Location: England

  •  

QUOTE(blizeH @ Feb 23 2007, 09:47 AM)
Just wondering where can I get a DLDI for my card though? It's a G6 Lite, doesn't seem to mention it anywhere above.

G6 and G6-lite are the exact same thing, just different shells for the carts. happy.gif


adgloride Post #10 Posted 23 February 2007 - 02:30 PM

    Its A Wii Wario


  • Group: Members
  • Posts: 2,259
  • Member No.: 11,369
  • Joined: 02-April 03

  •  

Great Tutorial explaining about DLDI. I've always thought that it was so easy to use, you never needed a tutorial.


blizeH Post #11 Posted 24 February 2007 - 12:13 AM

    GBAtemp Fan

  • PipPipPipPip

  • Group: Members
  • Posts: 464
  • Member No.: 34,603
  • Joined: 21-December 05
  • Location: UK

  •  

Awesome, thank you ^ smile.gif


thegame07 Post #12 Posted 24 February 2007 - 03:07 AM

    I just can't get enough... doo doo doo


  • Group: Members
  • Posts: 3,728
  • Member No.: 51,503
  • Joined: 16-October 06

  •  

thanks i understand it now biggrin.gif

Edited by thegame07, 24 February 2007 - 03:08 AM.


Verocity Post #13 Posted 25 February 2007 - 12:51 AM

    Ö!

  • PipPipPipPipPip

  • Group: Members
  • Posts: 727
  • Member No.: 56,219
  • Joined: 26-November 06
  • Location: Georgia

  •  

Great, but whas the watermark of gbatemp.net on the top image really necessary?

Anyway good job!


imgod22222 Post #14 Posted 13 March 2007 - 11:27 PM

    GBAtemp's Original No-faced Member


  • Group: Members
  • Posts: 1,555
  • Member No.: 44,155
  • Joined: 05-July 06

  •  

quick suggestion, when you say the binary,you might want to make clear whether to use the .nds, or the .gba.ds file.


jjkm4a1 Post #15 Posted 16 March 2007 - 06:03 PM

    Member

  • Pip

  • Group: Newcomers
  • Posts: 24
  • Member No.: 67,900
  • Joined: 26-February 07

  •  

Thanks, this tutorial helped me. yaynds.gif







Users browsing this topic

3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users