libfat (con una l minúscula ) es una biblioteca FAT creada por Michael "Chishm" Chisholm para Nintendo DS [1] para codificar aplicaciones de Nintendo DS Homebrew . Es el sucesor de la biblioteca dual GBA NDS FAT , que también se utilizó, como libfat, para codificar aplicaciones caseras de Nintendo DS . Está empaquetado como parte de DevKitARM, un kit de desarrollo de software, o Devkit para microprocesadores ARM, a saber, los núcleos ARM7TDMI (-S) [2] y ARM946E-S [3] utilizados en la Nintendo DS . [4]
DLDI
DLDI (o Interfaz de dispositivo enlazado dinámicamente) [5] es una tecnología creada por Michael "Chishm" Chisholm como una interfaz para libfat que los desarrolladores adjuntan a sus proyectos. libfat está programado en un solo idioma, pero diferentes flashcarts, como el R4DS , usan diferentes comandos de lectura / escritura. El parche DLDI corrige esto, como se explica a continuación.
Sin DLDI, libfat recibe comandos cifrados del flashcart y no puede actuar en consecuencia, por lo que envía un error al homebrew explicando que no puede entender los comandos, que luego presenta esta información al flashcart y al usuario, en forma de un pantalla en negro.
Con el parche DLDI correcto [6] [7] aplicado al homebrew, [8] el parche DLDI actúa como una interfaz entre el flashcart / usuario y el homebrew. Desencripta los comandos de lectura / escritura específicos de flashcart y los convierte en un lenguaje de programación específico de libfat, que libfat puede entender y presentar el homebrew con información que luego puede pasarse al flashcart / usuario.
Usando libfat
libfat , como cualquier biblioteca FAT , usa un archivo fuente principal. Las operaciones de la biblioteca se llevan a cabo mediante un solo archivo fat.h en el archivo fuente con el código:
#include
libfat se puede programar de forma única para usar las ranuras en la Nintendo DS [9] La ranura 1 es la ranura principal del cartucho DS, la ranura 2 es la ranura GBA en la Nintendo DS y DS Lite, y la ranura para tarjeta SD en la DSi y DSiXL. libfat puede usar o arrancar desde dos ranuras al mismo tiempo, como al tomar información de un dispositivo SLOT 2 mientras se ejecuta el programa principal desde SLOT 1. Esto se puede programar usando los siguientes códigos:
fat: -- the default device
fat0: -- same as fat:
fat1: -- the device in Slot-1 of the NDS
fat2: -- the device in Slot-2 of the NDS
fat3: -- a custom mounted device
Referencias
- ^ Chisholm, Michael. "sitio libfat" . Archivado desde el original el 12 de abril de 2009 . Consultado el 10 de abril de 2010 .
- ^ http://www.arm.com/products/processors/classic/arm7/arm7tdmi.php
- ^ http://www.arm.com/products/processors/classic/arm9/arm946.php
- ^ http://www.nintendo.com/ds
- ^ "Copia archivada" . Archivado desde el original el 22 de junio de 2010 . Consultado el 12 de abril de 2010 .CS1 maint: copia archivada como título ( enlace )
- ^ "Copia archivada" . Archivado desde el original el 5 de agosto de 2009 . Consultado el 12 de abril de 2010 .CS1 maint: copia archivada como título ( enlace )
- ^ "Copia archivada" . Archivado desde el original el 4 de septiembre de 2009 . Consultado el 12 de abril de 2010 .CS1 maint: copia archivada como título ( enlace )
- ^ http://hive.ndshb.com/
- ^ "libfat en ndscene" . Archivado desde el original el 27 de julio de 2011.