2008-09-28 10 views
25

Estaba leyendo this respondiendo anteriormente y me interesó comprar una Nintendo DS Lite para aprender a programar dispositivos incorporados. Antes de salir y derrochar en un DS tuve algunas preguntas:Programación en una Nintendo DS

  1. ¿Hay alguna restricción sobre lo que puede programar? La publicación que indiqué antes parecía decir que no, pero la aclaración sería agradable.

  2. ¿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.

  3. Estoy pensando en obtener una tarjeta CycloDS Evo, ¿hay alguna opción mejor para homebrew?

  4. ¿Cuáles son los mejores recursos para aprender sobre el desarrollo de DS?

Gracias por su tiempo, si usted tiene un DS y el programa en él, me gustaría que escuche su opinión, o, alternativamente, si usted tiene una idea mejor, me gustaría escucharlo también.

Gracias =]

Respuesta

19
  1. No, en realidad no es mucho de una limitación más allá del hardware , e incluso que se puede superar con el suficiente esfuerzo. Quake ha sido portado a DS, por ejemplo, y se han realizado juegos de partículas que utilizan ambos procesadores . No también ha sido la discusión sobre cómo hacer escenas 3D de mayor calidad utilizando un procesador de doble paso. Hay recursos múltiples en la sección Nintendo DS del GBADev forums.

  2. I diría que el DS es un ruta excelente para sistemas embebidos de desarrollo; hay una comunidad activa grande y que está dispuesta a responder preguntas y dar soporte, y hay tanto hardware integrado directamente en la cosa. Ahorra en el momento de crear un sistema para la prueba .

  3. El CycloDS La evolución es una buena tarjeta y es bastante común, por lo no debería ser difícil - si necesario en absoluto - para 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 prácticamente lo mismo.Tengo un TTDS, y funciona bien, pero no fuera de la caja. Yo recomendaría los otros tres mencionados.

  4. En cuanto a comenzando devving DS, lo haría Reccommend mirando las ejemplos básicos que se encuentran en la carpeta examples de devkitPro y leyendo el GBA tutorial TONC, que cubre muchos de los conceptos que se utilizan tanto en GBA y DS desarrollo. Un tutorial más orientado a DS , Patater's Introduction to Nintendo DS Programming, ayudará a los principiantes a ponerse en camino en el mundo de DS. También hay un very comprehensive documentation spec for the GBA and DS known as GBATek.

3

No se puede decir nada acerca de 1,2, o 3. Pero el recurso utilizo para la programación GBA también tiene DS Info:

http://nocash.emubase.de/gbatek.htm (y esto es una técnica en lo más profundo documento de especificaciones, pero me gusta para eso)

También: http://www.devkitpro.org/ para los compiladores y esas cosas.

4

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 puede obtener en línea: Programming the 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!

3
  1. Las restricciones son 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).

  2. La variedad de hardware es por lo que me gusta también. 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.

  3. No tengo uno yo mismo, así que supongo que solo marque here. Se ve bien, sin embargo.
    Edit: La única queja que elegiría es que intercambiará mucho la tarjeta SD entre PC y NDS, mientras que un carro con una toma USB incorporada le daría un tiempo de respuesta ligeramente más rápido.

  4. Los mejores recursos son los ejemplos libnds, y luego el gbadev forums.

7

He hecho un poco de programación en el 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 desarrollar utilicé

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.

+0

Sí, dswifi sigue siendo el modo de infraestructura solamente, no ad-hoc. Pero puede * simplemente arrojar paquetes 802.11 sin procesar, si solo necesita hablar con otros NDS. –

2

¡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 Mike F's # 3, en realidad hay un FTP server for 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.

1

Honestamente, me encontré con la Nintendo DS y la comunidad homebrew mientras asistía a un curso de Sistemas Integrados en la universidad, y me di cuenta de las similitudes entre el kit basado en ATmega32 estaba programación para la clase y el hardware nivel de desarrollo de la Nintendo DS a través de libnds, y me enganché.

Personalmente, vengo de un fuerte fondo C++, pero poder caminar con algo en el bolsillo que programé ha sido un objetivo mío desde que tuve mis manos en una TI-83 Plus calculadora ... Ahora puedo realizar 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.

1

He hecho ambos, 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 es el que yo recomiendo, no requiere soldadura y puede comenzar a usarlo 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.

Anteriormente 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.

+0

lo siento, mal el armmite pro requiere la pequeña placa de ftdi para el poder y de serie a usb. incluso con eso sigue siendo un precio atractivo. –

Cuestiones relacionadas