What is FatLib

Discussion in 'NDS - ROM Hacking and Translations' started by -KangaRod-, Feb 19, 2007.

Feb 19, 2007

What is FatLib by -KangaRod- at 2:05 PM (769 Views / 0 Likes) 1 replies

  1. -KangaRod-
    OP

    Member -KangaRod- GBAtemp Fan

    Joined:
    Aug 9, 2006
    Messages:
    313
    Location:
    Winnipeg, Manitoba
    Country:
    Canada
    Hey guys,
    I've got a Ezflash V + EzFlash IV. I'm fairly confident in using both these tools and using computers, but I have no experience modifing code or programming or anything of the sort. That said, I'm definitely not afraid to try and learn. I'd just like to ask some questions.

    1) What is FatLib and what are its advantages.
    Near as I can tell its a way of organizing the information on the SD cart. Like Fat32 or NTFS. If that is the case, what are its advantages, and why would I want to turn it on.

    2) How do i turn it on.

    3) What is dldi and why do some homebrew programs require it?

    4) Is there a good walkthrough on here (I searched quickly; but couldn't find anything) that basically starts at square one, and could help me along catching on. It seems as though all the stuff that refrences homebrew assumes you have the basic knowledge of how it works; which I don't.

    Thanks in advance guys!
     
  2. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,731
    Country:
    United Kingdom
    1) The fatlib deals with reading and writing to the memory cards in various devices as well as acessing the file system (normally FAT16 or FAT32) to read stuff making it in some cases nicer than a self contained GBA style file (imagine having something like DSFTP without the ability to write to the card).
    As this is fairly low level programming indivuals or the companies released libraries and/or sources so programmers could delegate reading and writing to them.

    2) They are libraries and a lot are different but they tend to work like any other library in whatever (computer) language you are using.

    3) Dynamically linked device interface is the technique used originally by moonshell and now by Chism's libfat with legacy support for gba_nds_fat.
    Before Christmas every card had a different library meaning they all had to be recompiled for different card and then troubleshooting and it was a mess, DLDI adds 32kb of space which the user then patches with a patch made for their cart to get it to run.
    Read more here
    http://gbatemp.net/index.php?showtopic=43288
    I highly suggest/endorse use of this over any other fatlib.
    Read this thread for DLDI programming discussion:
    http://forum.gbadev.org/viewtopic.php?t=10289

    4) If you are new to DS programming I would suggest palib and then moving to libnds/devkitpro for most programming. Knowledge of the hardware is not essential but it sure helps.

    GBADev for libnds, devkitpro and DLDI
    http://forum.gbadev.org/index.php
    Palib site
    http://www.palib.info/
    GABTek for GBA and DS hardware:
    http://nocash.emubase.de/gbatek.htm
     

Share This Page