[NDS]Quiero aprender a usar libfat

Pues eso, es la primera vez que voy a usar FAT en mi juego y necesito ayuda.
Tengo idea de la escritura y lectura de ficheros en C++ con Linux, open, close, fostream y fistream etc...

Pero he intentado buscar algun tipo de ejemplo con las libfat de chrism y no encuentro nada. he mirado tambien el fat.h y las funciones que hay no se para que sirven, donde estan los open, close y demas?

http://forum.gbadev.org/viewtopic.php?t=10289

Estas son las librerias, las mas nuevas, alguien puede echarme un cable, gracias y saludos :)
Para usar la libfat lo unico que tienes que hacer es incluir el archivo "fat.h" en cualquier .cpp, y en los que quieras tener acceso a la fat, incluir la libreria stdio.h (la normal de toda la vida). Eso si, solo podras tener acceso a las funciones de entrada/salida de archivos de ANSI C (fopen, fclose, fseek, fprintf, fscanf, fread, fwrite, ftell...), nada de streams de c++.
Lo mejor es que uses las fats antiguas que te dejan usar directorios.

Aunque parezca mentira, el mejor lugar de donde coger las fat es la página del ninjaDS en la sección homebrew. Ahi hay un pack con diferentes variaciones de las fat de chism. Escoge la quieras (las más usadas son la de chism, la de Sata y la de dragonmin) y haces esto:

-Si coges una que no está ya compilada (qué para mi es mejor) coges la carpeta con el código dentro y la llevas a tu proyecto.
-Abres el makefile del arm9 y en SOURCES le añades también esa carpeta
-En el proyecto tienes que incluir el gba_nds_fat.h para poder usar la libat (en todas se llama igual el archivo)
-Luego la primera llamada que tienes que hacer SIEMPRE es FAT_InitFiles();
-Luego si quieres te posiciones en el directorio que quieras con FAT_chdir("/carpeta"); ("/" es root)
-Y las demás llamadas son como las de stdio pero con FAT_ delante (de todos modos abres el gba_nds_fat y tienes todas las funciones disponibles y comentadas)
Entonces basicamente es que solo se puede leer y escribir en binario, cierto?

Pensaba que las nuevas serían mejores, pero ya veo que no :P
Las viejas son compatibles en modo lectura y escritura a todos los flashes? (el de escritura no creo que lo llegue a usar pero me interesa saberlo)

Gracias a los dos, y saludos

Edit: La pagina del NinjaDS no me va, sabeis donde puedo conseguirlas, la pagina de chrism parece desactualizada, la ultima version es de marzo de 2006
Que compatibilidad tienen las librerias >< ?

Por lo que se la de SaTa no a muy bien en M3.
Lupi escribió:Entonces basicamente es que solo se puede leer y escribir en binario, cierto?


No, puedes leer y escribir en modo texto tambien, aunque en M3SD y algun otro dispositivo el tema de escritura no funciona demasiado bien.

Lupi escribió:Edit: La pagina del NinjaDS no me va, sabeis donde puedo conseguirlas, la pagina de chrism parece desactualizada, la ultima version es de marzo de 2006


A mi tampoco me va la web de NinjaDS, pero las librerias de Chism las puedes encontrar en el foro de gbadev.org, ojo porque en el primer post hay una version que NO es la ultima, tendras que mirar casi al final, por la pagina 7 u 8 para encontrar la ultima version (que no funciona en emuladores).

lovechii5 escribió:Que compatibilidad tienen las librerias >< ?

Por lo que se la de SaTa no a muy bien en M3.


Por lo que se, funcionan bien para leer datos, para escribir falla en dispositivos que tengan tarjetas SD (M3SD y alguna mas).
¿Esas no son las nuevas?, esas no han implementado aun los directorios cierto.
Bueno, para empezar voy a probar a ver que tal.
Gracias por los links ^_^
Hola estoy interesado en desarrollar y guardar logs en mi M3 microSD que libreria para escribir y leer ficheros me recomendáis?

Gracias
7 respuestas