para - Programación en una Nintendo DS
nintendo dsi (8)
Las restricciones son restricciones de hardware: hay 4Mb de RAM, el hardware 3D puede manejar X polys por trama y más. Aparte de eso, es solo un montón de hardware con el que puedes hacer lo que quieras. La cadena de herramientas es compatible con C / C ++ y el ensamblador (ARM).
La variedad de hardware es la razón por la que también me gusta. Entender cada pieza del rompecabezas es lo que hace que el DS sea divertido: cada pedacito de hardware tiene su propio conjunto de trucos para aprovecharlo al máximo.
No tengo uno yo mismo, así que supongo que solo mira aquí . Se ve bien, sin embargo.
Editar: El único detalle que elegiría es que intercambiarás mucho la tarjeta SD entre PC y NDS, mientras que un carro con una toma USB integrada te daría un tiempo de respuesta ligeramente más rápido.Los mejores recursos son los ejemplos de libnds, y luego los foros de gbadev .
Estaba leyendo esta respuesta anteriormente y me interesó comprar una Nintendo DS Lite para aprender a programar dispositivos integrados. Antes de salir y derrochar un DS, tuve algunas preguntas:
¿Hay alguna restricción sobre lo que puedes programar? La publicación que indiqué antes parecía decir que no, pero la aclaración sería agradable.
¿Sería mejor comprar un arduino (o similar) y seguir esa ruta? Me gusta el DS porque ya tiene un montón de hardware incorporado.
Estoy pensando en obtener una tarjeta CycloDS Evo, ¿hay una mejor opción para homebrew?
¿Cuáles son los mejores recursos para aprender sobre el desarrollo de DS?
Gracias por su tiempo. Si tiene un DS y un programa, me encantaría que escuche su opinión, o si tiene una mejor idea, me gustaría escucharla también.
Gracias =]
¡Acabo de recibir una CycloDS Evolution el otro día, y me encanta! DSOrganize es como un mini-SO que agrega un montón de cosas con las que estaba deseando que venga el DS, ¡como una aplicación de calendario real!
Para abordar el # 3 de Mike F, en realidad hay un servidor FTP para DS , que puede usar para transferir archivos a su DS de forma inalámbrica. Sin embargo, no lo he intentado solo, ya que mi red usa WPA y el DS solo parece ser compatible con WEP.
He hecho un poco de programación en DS Lite hace aproximadamente 1 año. La principal limitación de hardware que tuve fue trabajar con el hardware WiFi. Descubrí que la comunicación DS-DS no era posible con las bibliotecas homebrew en ese momento. No estoy seguro de si eso ha cambiado. También descubrí que no se podía formar una conexión Ad-Hoc con otro dispositivo. Tuve que conectarme a una red 802.11b en modo de infraestructura y tuve que transmitir el SSID.
Para el desarrollo que utilicé
- PALib (bibliotecas de ayuda): http://www.palib.info/wiki/doku.php?id=day1
- DevKitPro (cadena de herramientas): http://www.devkitpro.org/
- no $ gba (Emulador DS) - http://nocash.emubase.de/gba.htm
- Supercard Lite (hardware para ejecutar aplicaciones homebrew) - http://www.realhotstuff.com/-c-32_81.html
No recomiendo la Supercard Lite, ya que requiere el uso de la ranura GBA y DS de la DS. En el momento esta era la única opción. Ahora hay soluciones de ranura solo DS, como el R4. Tengo un amigo que usa el R4 y tiene bastante éxito con él, aunque yo no lo he usado.
No puedo decir nada acerca de 1,2 o 3. Pero el recurso que uso para la programación de GBA también tiene información de DS:
http://nocash.emubase.de/gbatek.htm (y este es un documento de especificaciones técnicas en el fondo, pero me gusta para eso)
También: http://www.devkitpro.org/ para los compiladores y esas cosas.
No he hecho ninguna programación en el DS, pero he hecho algo de desarrollo en el GBA (Game Boy Advanced). Si lo que estás buscando hacer es aprender cómo programar dispositivos integrados, esa podría ser una buena opción para ti (y ciertamente una más barata). Incluso hay un libro gratis que puedes obtener en línea: Programación de Nintendo Gameboy Advanced . Sugiero el GBA porque, como he visto, hay muchos más recursos en línea para aprender cómo programarlo. Una desventaja es que no tiene wifi, lo que significa que no podrá hacer tantas cosas geniales como lo haría con el DS, ¡pero sin duda es un comienzo!
Honestamente, encontré el Nintendo DS y la comunidad homebrew mientras asistía a un curso de Embedded Systems en la universidad, y me di cuenta de las similitudes entre el kit basado en ATmega32 que estaba programando para la clase y el desarrollo a nivel de hardware de la Nintendo DS vía Libras, y yo estaba enganchado.
Personalmente, vengo de un sólido fondo de C ++, pero poder caminar con algo en el bolsillo que programé ha sido un objetivo mío desde que tuve acceso a una calculadora TI-83 Plus ... Ahora puedo cumplir ese objetivo debido a la Nintendo DS.
De todos modos, espero que se divierta tanto en el desarrollo de DS como lo he hecho en los últimos meses, y le deseo suerte en sus esfuerzos.
He hecho ambas cosas, más GBA que DS. Yo recomendaría GBA primero y luego pasar a DS porque duplica la complicación. El ezflash V gba tamaño 3 en 1 es una buena carta. Tengo un gestor de arranque para el gba que escribí en la tarjeta usando un NDS y un programa que descargué que no recuerdo el nombre de la mano. Una vez que el gestor de arranque estaba trabajando con un cable serie, me permitía depurar programas y cargarlos en ram. esa tarjeta también te permite cargar en ram en la tarjeta y ejecutarla desde allí aprovechando el buffer de captación previa y un programa más grande. Para el NDS he probado muchas de las cartas. Los cíclodos son buenos para el uso diario, pero no tanto para el desarrollo. Creo que me gustó más el Acekard 2, o el R4. piense en la cantidad de veces que saca la tarjeta, extraiga la tarjeta sd y cárguela en una computadora. Es muy doloroso que desee una tarjeta con una ranura para tarjetas SD que puede obtener sin tener que sacar la tarjeta de la ranura. los cyclods no lo son. Una muy buena carta para el NDS. No creo que funcione en el NDSi donde lo hace el acekard 2. Tanto para nds como para gba puedes mojarte los pies con simuladores como visualboyadvance, no son completamente precisos y muy comunes que los programas que funcionan en el simulador no funcionen en hardware real, los programas que funcionan en hardware real generalmente funcionan en el simulador aunque. quitar la tarjeta de desarrollo, reprogramar y reemplazar es muy doloroso, los cargadores de arranque, WiFi o cualquier otra forma que pueda evitar que bien valga la pena.
Los Arduinos son divertidos e interesantes, el lilypad y el usb al serial son los que recomiendo, no se requiere soldadura y puedes comenzar a usarlos para una gran inversión. Me gusta más el armero pro, arduino como huella pero basado en el brazo (el único lpc que compraría, no un fan de lpc en este momento). Y no necesita comprar la cosa de serie, solo un cable usb normal y un puente (tal vez un clip hasta que suelde en un puente). Acabo de pedir dos más y, hasta ahora, mi código que borró el flash enviado y me permitió cargar lo que quisiera no funciona, tengo que resolverlo. Sigo muy satisfecho con el olimex sam7-h64 y h256 (cabecera en91sam7s256), ya que con el avr atmel es muy amigable para desarrolladores con buenos documentos. Sparkfun es un buen lugar para encontrar todo lo anterior en los Estados Unidos. Sam-ba ahora tiene una versión de Linux si usas Linux como yo, la versión de Windows estuvo allí por un tiempo, bastante fácil de borrar y reprogramar, mucho más fácil que un ds o gba, a la par del arduino o armmite pro o similar.
Antes luminary micro ahora ti stellaris tiene algunos buenos tableros. como los gba / nds pero a diferencia de las otras placas que mencioné, hay pantallas y otros periféricos para jugar, usb es todo lo que necesita para programar. sin embargo, el modo pulgar. GBA prefiere el modo pulgar para el rendimiento, pero puede ir de cualquier manera. nds, no lo recuerdo, nunca llegó a comprender el ancho de los autobuses y su sincronización. Saber Nintendo y su pulgar barato es probablemente mejor / más rápido. la placa eval de lm3s811 era demasiado fácil de construir, la de 1968 no es mala. No me gusta que alejaran a los desarrolladores de la fuente y las bibliotecas preconstruidas adaptadas al rtos y al conjunto de compiladores específico.
No, en realidad no existe una limitación más allá de la del hardware, e incluso eso puede superarse con suficiente esfuerzo. Quake ha sido portado a DS, por ejemplo, y se han hecho juegos de partículas que utilizan ambos procesadores. También se ha debatido cómo hacer escenas 3D de mayor calidad utilizando un renderizador de doble paso. Hay múltiples recursos en la sección de Nintendo DS de los foros de GBADev .
Diría que el DS es una excelente ruta para el desarrollo de sistemas integrados; hay una comunidad grande y activa que está dispuesta a responder preguntas y brindar apoyo, y hay tanto hardware integrado directamente en la cosa. Le ahorra el tiempo de construir un sistema para probar.
La CycloDS Evolution es una buena carta y es bastante común, por lo que no debería ser difícil, si es necesario, hacer su homebrew compatible con otras tarjetas. Sin embargo, tenga en cuenta que otras opciones populares son la línea M3 y la línea R4, que son más o menos lo mismo. Tengo un TTDS, y funciona bien, pero no de fábrica. Recomendaría los otros tres mencionados.
En cuanto a comenzar la distribución de DS, recomendaría ver los ejemplos básicos que se encuentran en la carpeta de
examples
de devkitPro y leer el tutorial de GBA TONC , que cubre muchos de los conceptos que se utilizan en el desarrollo de GBA y DS. Un tutorial más orientado a DS, Patater''s Introduction to Nintendo DS Programming , ayudará a los principiantes a seguir su camino en el mundo de DS. También hay una especificación de documentación muy completa para GBA y DS conocida como GBATek .