Los bugs imposibles – La desesperacion del programador.

Amanece una vez mas y empieza otro dia en la feliz vida del programador amateur. El esta encantado con sus proyectos, la vida le sonrie y todo lo ve de color de rosa. Pero ese dia sera diferente. El mundo de la programacion, como en cualquier otro no esta excento de bromas cosmicas. Lo que siempre ha funcionado de una manera, de un dia a otro se tuerce sin motivo aparente y se convierte en tu mayor pesadilla. Con toda la ilusion, tu has compartido un proyecto con todos, pero para algunos de estos todos, cual irreductibles galos, se resisten y por mucho que lo intenten son incapaces de disfrutar  de tu maravilloso proyecto.
 
Pues muy adornado y poetico, pero eso es lo que me ha sucedido esta semana.
Para los que seais mas novatos en el tema, debeis saber que la DS puede usar dos tipos de dispositivo FLASHCARD, los primeros que salieron al mercado y actualmente cada vez mas en desuso, llamados dispositivos de SLOT-2 y que se colocan en la ranura de juegos para GBA y otros mas recientes, del mismo tamaño que un juego de DS, llamados dispositivos de SLOT-1 y que se colocan en la ranura para juegos de DS.
 
El problema ha sobrevenido en estos primeros, los de SLOT-2. Por algun motivo oculto y (de momento) desconocido. La cosa ha sido que ha medida que mi ultimo proyecto ha crecido y tienes mas archivos, sencillamente ha dejado de funcionar en estos dispositivos. Sencillamente, mientras funciona a la perfeccion en flashcards actuales y en el emulador no$gba, no hay manera de que funcione correctamente en los antiguos.
 
Y el problema es de lo mas divertido. Como todo buen programador que se precie, sabe que su peor enemigo es el mismo, vamos, que cuando algo no funciona el 99% de las veces es porque has metido la pata. Por ese motivo siempre dotas a tu codigo de ciertas funciones para que en el caso de que se te vaya la olla, saberlo antes de perder el tiempo buscando errores. Hasta ahi mi codigo funciona, es decir, muestra un error (supuestamente de codigo) el cual nos dice que no puede encontrar un archivo. Y ahi empieza el chiste. El archivo existe y esa misma rom compilada, funciona en otro flashcard y en el emulador. ¿Entonces? Pues es cuando hace acto de presencia el 1% restante de las veces que algo no va. Los famosos bugs imposibles.
 
Digamos que un bug imposible es cuando tu sabes que los has hecho bien, repasas tu codigo y esta bien, lo vuelves a repasar todo y esta bien, pero, no funciona. Pero es que antes si y ahora no. Y lo unico que has hecho ha sido ir añadiendo archivos.
 
Pues en ese punto la cosa pinta mal, por que el problema es que dependes de un kit no oficial y de unas librerias hechas con la mejor intencion del mundo (pero que raramente comprenderas al 100% como funcionan internamente), con un sistema de archivos apañado y para rematar, solo puedes ejecutarlo en dispositivos de dudosa compatibilidad.
 
Asi que por desgracia, poco arreglo tiene. Despues de una semana peleandome y comentandolo con otros compañeros, parece ser que el firmware de estos dispositivos tiene algunas limitaciones que no tienen ni el emulador ni los flashcard slot-1, supongo que llegado a cierto numero de archivos, no puede leer mas, o alguna ruta de archivo es demasiado larga, o vete tu a saber.
 
Asi que sintiendolo mucho y de momento, lamento informar que mi ultimo proyecto para Nintendo DS (Mind Maze), a dia de hoy no es compatible con flashcards slot-2. Seguire investigando, pero lo dicho, al tratarse de un bug en el sistema de archivos con estos dispositivos (o de una limitacion del firmware de estos), poco puedo hacer para solucionarlo. De todos modos, si encontrara una solucion, se comunicaria de inmediato.
 
Desde aqui recordaros que si alguno de vosotros, ejecutando alguno de mis juegos recibe un error de sistema, estare encantado de que me lo comente. Normalmente no son bugs, si no errores preparados para detectar estos problemas con varios modelos de flashcards. Normalmente son solucionables. Pero Murphy es mucho Murphy y en este caso… ajo y agua.
 
Un cordial saludo a todos los bloggeros y como siempre, gracias por apoyar mi blog.
 
Se despide cordialmente de vosotros

NightFox