11 de Febrero de 2012
Mar
12

NightFox's Lib. Eliminado el soporte para EFS. Añadido soporte para NitroFS.

Importantes novedades.
Muchos me odiareis por esto, otros estaran encantados, pero como todo en este mundo, nunca llueve al gusto de todos.
El motivo? He decidido eliminar de mi libreria el soporte para EFS.
Por que? Facil, estan OBSOLETAS, nadie las mantiene oficialmente, tardan una eternidad en inicializarse y a cada version de devkitArm van peor.
Solucion, usar las NitroFS incluidas con devkitArm, que hacen lo mismo, pero mejor.
Funcionan de manera transparente en el no$gba y en el hardware la inicializacion es casi instantanea.
La parte mala es que casi ninguna tarjeta soporta ARGV, asi que tocara lanzar la ROM desde el "Homebrew Menu", el cual y previa autorizacion de Wintermute, incluyo con la libreria.
Para la migracion de proyectos de EFS a NitroFS debereis hacer los siguientes cambios:

- Cambiar la linea:
int main(void) {
a
int main(int argc, char **argv) {
 
- Cambiar la linea:
NF_SetRootFolder("EFS");
a
NF_SetRootFolder("NITROFS");
 
- Actualizar el makefile con el de la carpeta template.
- Renombrar la carpeta "efsroot" a "nitrofiles".
- Recompilar el proyecto (make clean).
 
Con estos sencillos cambios, el proyecto ya estara listo para funcionar usando las NitroFS en vez de las EFS.
 
La descarga de la libreria aqui:
NightFox's Lib para Libnds ver. 20100312
 
Solo agradecer a Wintermute su ayuda en la migracion de mi libreria a EFS a NitroFS.
 
Aqui teneis un resumen de los cambios en esta version:
- Eliminado el soporte para EFS, dado que la libreria esta obsoleta.
- Añadido soporte para NitroFS, el cual viene de serie con el DevkitArm.
- Actualizados todos los ejemplos para que usen NitroFS en vez de EFS.
- Añadido el "Homebrew menu" para lanzar archivos NDS que usen NitroFS en flashcards no compatibles con pase de argumentos (int argc, char **argv). Puedes encontrarlo en la carpeta tools.

 
Un cordial saludo a todos y a disfrutarla!
 
NightFox
 

5
Valoración media: 5 (1 voto)

9 Comentarios:

Mmmm....

Bueno, por mi sin problema, pero necesito que me aclares esto: "La parte mala es que casi ninguna tarjeta soporta ARGV, asi que tocara lanzar la ROM desde el "Homebrew Menu", el cual y previa autorizacion de Wintermute, incluyo con la libreria." No lo he entendido, ahora hay que lanzar el susodicho homebrew en la flashcard desde OTRO homebrew ?

Por cierto...

Por cierto... enhorabuena!!! Esta es tu entrada #100 xD

Pues si, ni me habia

Pues si, ni me habia fijado.
El Homebrew menu, mas que un homebrew en si es un "lanzador" de roms desarrollado por el equipo del dekvitarm, algo asi como el SO que incorporan las flashcards, de hecho, hay varias versiones de este lanzador para substituir el propio de la tarjeta. Dado que las NitroFS requieren que a traves de parametro de argumentos (ARGV) le pase la ruta donde se encuentra y que muy pocas flashcards lo soportan en su S.O. el homebrew se encarga de solucionarlo. Otra ventaja es que lanzado desde el hombrewmenu, si nuestra aplicacion la terminamos con un return 0; esta sale y vuelve al menu, lo cual es una ventaja tambien.
La verdad es que hasta que los fabricantes de flashcards actualicen (como paso al principio con el DLDI y el autopatch) es una muy buena solucion, total, es abrir el menu, seleccionar nuestra rom y listos.
Si teneis mas dudas, no dudeis en preguntarlo.

muy bien

yo siempre que entro a tu blog me imprecion de todo lo que sabes, y disfruto mucho de estas entredas hay voy poco a poco aprendiendo gracias. 5 estrellas

Argumentos

¿Usando este sistema se le pueden poner argumentos al nds como hacemos con los .exe del ordenador?: mkdir.exe TestDir

Si y no. Digamos que algunas

Si y no. Digamos que algunas flahcards y el homebrew menu pasan como argumento al iniciar el NDS la ruta donde ese se encuentra, por eso no requiere especificar ninguna ruta o iniciarse como las EFS.

Me refiero a que si yo puedo

Me refiero a que si yo puedo decirle por ejemplo: del.nds \test.nds Y que el nds coja ese argumento que es el nombre del archivo y lo elimine.

Si, es algo parecido a lo

Si, es algo parecido a lo que hace el Homebrew menu, lo que ni idea de como le pasa el argumento.

Excelente post! interesante.

Excelente post! interesante. Saludos