4/2/08

Info: DevKits Nintendo

DevKit

También conocido como: Kit de Desarrollo o Development Kit.

Este término es aveces visto como kit de desarrollo de software (Software Development Kit: SDK). Definiéndose como un conjunto de programas usados por un programador para desarrollar o escribir nuevos programas de aplicación, juegos, etc. Normalmente, un SDK incluye un constructor para la pantalla de visualización, un editor, un compilador, un enlazador, y aveces otras utilidades. El término es usado por Microsoft, Sun Microsystems, y una serie de otras empresas.

Desde el punto de vista del desarrollo de dispositivos electrónicos, se define como una herramienta, llámese placa de pruebas, circuito de pruebas, protoboard, etc., con la cual, el desarrollador, es capaz de hacer pruebas de campo del circuito y de sus funciones.

Actualmente existen muchos de estos kits que contienen circuitos integrados programables como PICs y Microprocesadores que se enlazan con otros accesorios dependiendo de la aplicación. Anteriormente estos circuitos requerían de costosos programadores o accesorios para ser programados, pero los más recientes, además de ser más rápidos y pequeños cada día, son capaces de comunicarse con una PC directamente por serial o USB.

Así pues un DevKit para el Nintendo DS comprende ambos aspectos: software y hardware.

Aunque la mayoría de estos dispositivos tienen más inclinación hacia el desarrollo de software para aplicaciones o juegos "Homebrew" por ser el NDS un dispositivo bastante completo en cuanto a hardware, también existen algunos dispositivos como el RoboDS o el DSerial2 más orientados al hardware y al control de dispositivos o adquisición de datos mediante puertos seriales, PWM, convertidores ADC, giroscopios, GPS, etc. Algo bastante interesante para cualquier aficionado de la electrónica.

En principio, cuando los devkits se desarrollaban para consolas de cartucho como el GBA se les dio el nombre de "FlashCarts" por ser cartuchos con memoria flash interna regrabable, y eran parte de un Kit para desarrolladores (devkit) que incluía el flashcart y un lector/escritor especial que también se utiliza para hacer ROMDUMP de cartuchos originales. Así se podia descargar el ROM del cartucho original (ROMDUMP) para editarlo, examinarlo, copiarlo, o hacer de el lo que quisieras en una computadora y una vez terminado cargarlo nuevamente en el flashcart vacio.

SLOT-1 & SLOT-2

Enfocándonos únicamente en devkits para el Nintendo DS, tenemos una buena selección de donde escoger ya sea para desarrollo de hardware o software. Pero los podemos dividir en 2 subcategorías dependiendo de la "ranura" o "slot" que utilice el devkit para comunicarse con la consola.

Siendo así, para el caso del Nintendo DS tenemos 2 ranuras o slots:

SLOT-2:

El slot 2 en cambio es un puerto incluido en la consola NDS para hacerla retro-compatible con juegos de Game Boy Advance. De esta manera se pueden usar cartuchos de GBA en la nueva consola. Claro que solo se utiliza parte de una pantalla del NDS para mostrar los juegos de GBA por motivos de resolución, y no son utilizadas otras características del NDS.

Este slot fue el primero en ser explotado debido a que era en general una tecnología ya conocida e investigada por los mismos desarrolladores que habian creado devkits para el GBA. Y actualmente, aun existen ciertas funciones que hacen uso de cartuchos especiales para slot-2 como serían "Rumble" (vibración), RAM (memoria RAM extra para el navegador de internet) o GBA (actualmente la ejecución de ROMs de juegos GBA desde devkits para slot-1 requiere una tarjeta especial en el slot-2).

Este slot presentaba ciertas dificultades en la ejecución de ROMs de NDS debido a que la consola estaba programada de fábrica para ejecutar juegos de NDS desde el slot-1, donde se introducen los juegos de NDS, y juegos de GBA desde e slot-2 donde se introducen juegos de GBA.

En estas condiciones, para cualquier devkit slot-2 era más facil emular un cartucho de GBA que uno de NDS. Por este motivo los devkits fabricados para slot-2 requieren reprogramación del firmware del NDS para lograr que la consola lea código para NDS desde un slot creado para leer código de GBA.

SLOT-1:

El slot-1, como se puede encontrar identificado en la misma consola, no es más que el puerto en el que se introducen los cartuchos utilizados únicamente por el Nintendo DS, o sea los juegos que vienen identificados para NDS y que no se pueden usar en otras consolas.

El desarrollo de devkits para slot-1 fue una carrera de tiempo entre los fabricantes ansiosos por acaparar este mercado en la nueva consola. Y digo acaparar el mercado porque el solo hecho de brindar la posibilidad a cualquier persona, con o sin conocimientos avanzados en el tema, de poder correr código homebrew desde su NDS sin necesidad de flashearlo o mejor dicho reprogramarle el firmware era en si una gran ventaja.

Las cosas se dieron gradualmente y en la actualidad todos los devkits slot-1 son muy similares en software y casi idénticos en hardware, incluso dandose quejas de copia entre fabricantes que luego de trabajar meses en desarrollar cierta característica exclusiva para su producto, la veian en una actualización del competidor a los dias de haberla lanzado.

Dando un vistazo rápido a las diferentes tarjetas se pueden notar leves diferencias:

  • Memoria: Algunas tarjetas flashcarts (devkits) slot-1 tienen memoria interna mientras otras utilizan memorias externas microSD o TransFlash.
Los devkits de Memoria interna pueden ser más baratas que los devkits de memoria externa incluyendo el precio de una memoria similar por separado y en teoría hay menos problemas de compatibilidad entre memoria y hardware. Pero pueden dar problemas ya que requieren de un lector/escritor para manejo de los archivos en la memoria interna y algunos vendedores simplemente venden las tarjetas como "22 juegos en 1" sin incluir el adaptador de lectura/escritura ni tomar en cuenta la memoria utilizada para juegos salvados, lo que aveces tranca la tarjeta por problemas de memoria llena y no permite al usuario manejar sus archivos ni cambiar los ROMs. Y no se puede cambiar o expandir la memoria.

Las de memoria externa utilizan una ranura en la que se puede introducir una tarjeta microSD de uso común entre dispositivos electrónicos como celulares. Las memorias externas microSD o TransFlash TF comunes tienen una capacidad de hasta 4GB de memoria, pero las nuevas tarjetas - devkits vienen actualizadas para utilizar tanto las memorias comunes como memorias SDHC (alta capacidad) que pueden ampliarse hasta 32GB de memoria; aunque actualmente solo están a la venta hasta 8GB pero seguirán apareciendo memorias de más capacidad y los precios tienden a bajar con el tiempo.

Tienen la ventaja de poder utilizar la memoria en otros dispositivos como cámaras, reproductores de mp3, celulares, etc. sin tener que comprar varias memorias. Es más fácil manejar los archivos dentro de la tarjeta pudiendo borrar o agregar archivos al gusto usando un lector USB de fácil adquisición que generalmente se incluye en el paquete del devkit. Al poder manejar más fácil los archivos se pueden usar funciones homebrew como reproductores de mp3, videos, visor de imágenes, etc. con el NDS.

La desventaja con los devkits de memoria externa es que algunas veces pueden dar problemas de compatibilidad con la memoria utilizada a la hora de correr algunos ROMs o aplicaciones homebrew y esto es principalmente debido a la baja calidad y velocidad de la memoria que se pretende usar en el devkit. Otra desventaja podrían ser los contactos de la ranura microSD sucios o gastados pero esto es muy poco común.

Por lo general se recomienda usar las memorias recomendadas y probadas, pues no solo es cuestión de marca, habiendo casos como el de las memorias Kingston hechas en Taiwan, que son de una velocidad y calidad considerablemente menor que las memorias Kingston hechas en Japón, estas últimas considerándose de alta velocidad y calidad y con excelente desempeño en varias flashcarts.

Esto no quiere decir que las memorias o el devkit estén defectuosos, es simplemente cuestión de velocidades de transferencia entre ambos dispositivos y qué tanto, afecta o beneficia una mejor trasferencia de datos al desempeño de diferentes juegos y aplicaciones. Igualmente es mejor seguir las recomendaciones de personas que hayan hecho pruebas y no guiarse de marcas o anuncios de alta velocidad.

  • Sistema Operativo:

Actualmente las principales diferencias entre tarjetas - devkits son respecto al software, básicamente el sistema operativo que ejecuta todas las funciones del devkit que puede diferenciarse en diseños, interfaz de usuario, utilidades incluidas, compatibilidad con ROMs y aplicaciones Homebrew, etc.

Como base todos los fabricantes tratan de cubrir la principal característica de una tarjeta -devkit la cual es compatibilidad con ROMs, es así que la mayoria ofrece actualizaciones en el sistema operativo (OS) para hacer la tarjeta siempre compatible con los ROMs conforme van apareciendo en la base de datos. Así pues, dentro de las descripciones de la actualización se pueden encontrar detalles como "bugfix ROM [0334]" lo que indicaría que un problema encontrado anteriormente en la compatibilidad con el ROM #334 en la base de datos ha sido resuelto.

Es entonces que la credibilidad de un grupo desarrollador se fundamenta en la calidad del producto y en el soporte continuo que le dan al mismo. Aunque algunos grupos tienden a demorar las actualizaciones y suelen cometer el error de lanzar al mercado un producto sin probarlo completamente, lo que les perjudica una vez empiezan a recibir las quejas y denuncias de los clientes insatisfechos y aun cuando hayan resuelto los problemas, estos quedan plasmados en los foros y comentarios por mucho tiempo.

No hay comentarios: