Libfat
libfat (with a lower case l) is a FAT library made by Michael "Chishm" Chisholm for the Nintendo DS to code Nintendo DS Homebrew applications. It is the successor of the dual GBA NDS FAT library, which was also used, like libfat, to code Nintendo DS homebrew applications. It is packaged as part of DevKitARM, a software development kit, or Devkit for ARM microprocessor microprocessors namely the ARM7TDMI(-S) and ARM946E-S cores used in the Nintendo DS. DLDI. DLDI (or Dynamically-Linked Device Interface) is a technology created by Michael "Chishm" Chisholm as an interface for libfat that developers  attach to their projects. libfat is programmed in a single language, but different flashcarts, such as the R4DS, use different read/write commands. The DLDI Patch fixes this, as explained below. Without DLDI, libfat receives encrypted commands from the flashcart, and cannot act accordingly, so it sends an error to the homebrew explaining that it cannot understand the commands, which then presents this information to the flashcart, and the user, in the form of a black screen. With the correct DLDI patch applied to the homebrew, the DLDI patch acts as an interface between the flashcart/user and  the homebrew. It unencrypts the flashcart's specific read/write commands and converts them into a libfat-specific programming language, which libfat can understand and present the homebrew with information which can then be passed onto the flashcart/user. Using libfat. libfat, like any FAT library, uses a main source file. The library's operations are conducted by a single "fat.h" file in the source file with the code: libfat can be uniquely programmed to use the slots on the Nintendo DS Slot 1 being the main DS cartridge slot, Slot 2 being the GBA slot on the Nintendo DS  and DS Lite, and SD Card slot on the DSi and DSiXL. libfat can use or boot from two slots at the same time, as in taking information from a SLOT 2 device while running the main program from SLOT 1. This can be programmed by using the following codes: