efremigio

Videojuegos, Gadgets3 May, 2008 21:03

Lo que va a continuación es la traducción de un artículo en inglés que escribió James Zawacki (Lynx), trata sobre la historia de los inicios de la escena homebrew (software casero) de Nintendo DS. Son 10 páginas con fuente de 12 por lo que puede hacerse algo pesada su lectura para los no iniciados. Personalmente disfruté un montón realizando la traducción ya que entendí muchas cosas de la escena, la cual viví un poco desde la lejanía en su día.

He aquí el artículo:

El PassMe
Passme
Cuando llegué a la escena, había unas seis personas con caros entornos de desarrollo FPGA que eran capaces de ejecutar aplicaciones caseras de Nintendo DS. DarkFader (Rafael Vuijk) fue la primera persona en mostrar una Nintendo DS ejecutando código hackeado cuando cambió el texto de la demo de Metroid Prime. Tuve la suficiente suerte para encontrarme en medio de la fase del diseño del PassMe y recibir una copia del diseño del circuito impreso (PCB) de mano de Natrium42 (Alexei Karpenko). Él había publicado los planos en Internet, y entonces Sparkfun.com, quien ofrecía PCBs para aficionados, me preguntaban cosas, como por qué había pedido esa placa, haciéndome creer que yo era la primera persona que las pedía. Hubo algunos problemas aquí y allá con el formato del momento,ŋ Natrium42 me ayudó a resolverlos y los PCBs fueron pedidos.

El código que el PassMe usaba era un sencillo hack de inserción. EL CPLD se colocaba entre el slot de la Nintendo DS y el juego comercial de DS. Cuando la Nintendo DS arrancaba, debería comunicarse con el juego buscando autentificación. Una vez completada la autentificación, el juego de Nintendo DS debería cargarse en los 4MB de RAM de la DS y la cabecera debería decir a la DS desde qué dirección de memoria debería empezar a ejecutar código. Ya que el Slot de GBA (Slot-2) de la Nintendo DS era accesible directamente como direcciones de memoria en la DS, el CPLD recogería la información de la cabecera y la pasaría a la Nintendo DS como si estuviera cargando. Y cuando encontrara la dirección de inicio insertaría su propia dirección para que la DS la cargase, que se esperaba que fuera la dirección de memoria para iniciar la ejecución del juego comercial de Nintendo DS. Este cambio de dirección sería el Slot de GBA desde donde el código sin licencia (aplicaciones caseras) podría ser ejecutado.

Después de unas pocas semanas, y de que llegara el primer PCB a mi escritorio. Llegó el primer aviso de Natrium42, era necesario cortar una pista por culpa de un error en el PCB. Una vez corté la pista, empecé a soldar el CPLD y los condensadores en el PCB junto con algunos pins extraídos de una ranura PCI de una placa base de un ordenador, para hacer un “socket” en el que insertar el juego de Nintendo DS.

Después de no conseguir hacer funcionar la placa, y frustrado ya que hasta se quemaron los condensadores, que estaban ordenados, o algo así, hice una segunda sin condensadores. Esa noche, DarkFader y Natrium42 hackearon el código del CPLD para ejecutar aplicaciones caseras desde mi cartucho Flash de GBA “EZF Advanced III”. Dejé un corto mensaje en gbadev.org mostrando que el PassMe estaba vivo y era real. Y me fui a la cama sintiéndome genial.

A la mañana siguiente, me desperté con mi nombre en todas las páginas de la escena de NDS así como en muchas páginas sobre tecnología. El sentimiento fue abrumador, fue la principal razón por la que continué en la escena. Nunca me adjudiqué los créditos del PassMe, siempre los dí a DarkFader por el código y a Natrium42 por el hardware del PassMe. Sólo me adjudiqué el ser la primera persona con una versión de PassMe funcional. Y aunque yo sólo era la canalización para ese gran y emocionante acontecimiento, el sentimiento de triunfo al lograrlo estaba ahí.

Durante ese tiempo, en el IRC, Kraln (Jeff Katz) decidió que iba a venderlo. Se echaron cuentas y 15 dólares fue el precio más razonable que pensamos para un PassMe. Kraln pensó que era innecesario incluir un socket para insertar un juego comercial de NDS en el PassMe, argumentando que simplemente se podía soldar. Mi idea era que si un usuario final podía soldar el juego al PassMe, también podría comprar las partes y hacer él mismo el PassMe. Por aquellas fechas, Natrium42 había decidido que él no quería venderlo, por lo que me figuré que yo también podría empezar a venderlos. Decidí hacerlo con el diseño original de Natrium42 con algunos pins para conectar el juego comercial a la tarjeta. Kralh quería hacerlo con una placa de una sola cara para aminorar costes (o para maximizar beneficios, no sé) y le dijo a Natrium42 si podría crear una versión de una sola cara. Natrium42 siendo el gran tío que es, le pasó a Kraln los archivos Eagle para una versión de una cara.

La siguiente cosa que supe es que Kraln estaba vendiendo PassMes en Kraln.com… Hizo modificaciones en la placa que paralizarían el diseño, pero la parte más despreciable fue que se adueñó del PassMe.

No fue mucho antes de que sus PassMes Frankenstein fueran vendidos en su web. Me senté y me reí a carcajadas cuando vi fotos de las PCBs con placas perforadas pegadas en la parte posterior. Una de las modificaciones que incluyó en su PassMe no deberían ser un gran problema cuando piensas que tus usuarios van a soldar su juego a tu placa, pero de nuevo, para abaratar costes, redujo el tamaño del PassMe. Sacó el área vacía donde los pins eran soldados en la PCB. Este área era necesaria para sostener el juego comercial que sería insertado en el PassMe. Al parecer se dio cuenta de que los usuarios no querían soldar sus juegos al PassMe y paró de vender PassMe’s con este diseño. No resultó ser buena idea.

Por otra parte, Natrium42 estaba diseñando una nueva versión de la PCB que aceptada un conector cortado de Game Boy (GBC). Con una búsqueda rápida en la red deberíamos encontrar conectores por 2 dólares la unidad. Por otra parte, alguien en el IRC nos intentó vender socketes para juegos de Nintendo DS por unos 6 dólares, tanto Natrium42 como yo pasamos del tema.

Parece ser que estos fueron los sockets que serían usados por el conocido equipo de NeoFlash (que no eran conocidos de momento), que estaban en proceso de usar el código de DarkFader y el diseño del PCB de Natrium42. Natrium42 y yo colaboramos, negocié con un fabricante de China y gasté sobre 2.500 dólares en un pedido de GBCs. Fue cuando aprendí sobre impuestos y pedidos internacionales. Cuando pides 2.500 dólares en pequeñas piezas de plástico, tienes que hacer frente a los impuestos. 400 dólares por el envío y un intermediario que no hacía más que cubrir unos cuantos papeles. Pero, de todos modos, los GBCs seguían siendo más baratos de este modo que comprándolos por 2 dólares la unidad. Envié unos 500 a Natrium42 y empecé a cortarlos yo mismo. Cortar los GBCs de la manera que necesitábamos fue una tarea aburrida. Había que cortar dos pins para que la sierra pudiese cortar a través del plástico.

Después de eso, debíamos arreglar las imperfecciones producidas al cortar el plástico. Una vez que esos pasos estuvieron hechos, el GBC cortado estaba listo para tener sus 17 pins introducidos en el PassMe y soldarlo. Soldar fue la parte fácil. La mayor parte de los PassMes que vendí con GBCs cortados se vendieron en navidades. Eso implicó cortar cientos de GBCs en mi garaje en pleno invierno. Los inviernos de Chicago pueden ser horribles y pasé muchas noches con las manos adormecidas cortando GBCs para satisfacer los pedidos de PassMes. A día de hoy, tengo cerca de 2.300 GBCs almacenadas en mi garaje. Vendí unas cuantas cortadas, otras sin cortar, pero no hace falta decir que no tienen una gran demanda.

PassMe2
Passme2

Nintendo se dio cuenta del error que cometieron y decidieron añadir una comprobación de rango de direcciones a la NDS. Ahora, después de la autentificación con el juego insertado, el firmware sólo cargaría en el rango de las direcciones de los 4MB de la Nintendo DS. Esto hizo que los PassMes (a partir de ahora referidos como PassMe1s) dejasen de funcionar ya que no podían ejecutar código directamente del slot de GBA. Loopy/Olimar (Neal Tew) respondió a la llamada y se puso manos a la obra.

El proceso del PassMe2 requería código CPLD específico al juego insertado en el PassMe2. Por ejemplo, con la demo del Metroid Prime que vino en muchas Ds’s vendidas, fue código cargado en los 4MB de RAM que hizo la llamada a la SRAM del slot de GBA. De este modo, el PassMe2 seguiría cambiando la dirección de ejecución de la cabecera del juego como si estuviera cargado en memoria, pero lo redirigiría directamente a una llamada SRAM dentro de esos 4MB de memoria que son cargados del juego original de Nintendo DS. Estando en la SRAM del slot de GBA, redirigiría a ejecutar la dirección del rango del slot de GBA de nuevo, permitiéndonos ejecutar aplicaciones caseras. Para muchos, el mayor problema con esta solución era que el dispositivo más barato para ejecutar aplicaciones caseras fue el GBA Movie Player. Esto era un adaptador Compact Flash a GBA sin SRAM de ningún tipo. Este dispositivo no funcionarían con el PassMe2 y por lo tanto requería un dispositivo GBA más caro para ejecutar aplicaciones caseras.

Dicho y hecho, vendí sobre 1.000 PassMe1/2s. De cada unidad que vendí, envié un dólar a DarkFader y otro a Natrium42. Esa fuera la petición de DarkFader en su página web y lo mínimo que podía hacer fue respetar esta pequeña petición. Natrium42 también siguió esta solicitud y también envió a DarkFader 1 dólar por cada PassMe que vendió. A fecha de este escrito, confirmo que no puedo decir lo mismo de otros que vendieron PassMes.

WiFiMe


WiFiMe usaba un proceso similar al PassMe pero lo hacía con la cabecera de el Wireless Multiboot (WMB). FireFly (Tim Schuerewegen) lanzó un driver especial para tarjetas Wifi con chipset RT2500 o RT2560 para manipular los datos que serían transmitidos.

Antes de que continuemos, me gustaría puntualizar el hecho de que debería haberse llamado NiFiMe, ya que usaba el NiFi (la implementación WiFi de Nintendo), y no el estándar 802,11 de WiFi. Esa fue la razón por la que el WiFiMe sólo funcionaba con un chipset específico. Veamos, la mayoría de los chipsets están diseñados para no permitirte el envío de paquetes no estándar. Pero, para poder comunicarse con el NiFi, es necesario hardware que no intente corregir los datos que está enviando. Esto también requería que la tarjeta usara drivers que la hicieran una tarjeta NiFi. La tarjeta (con los drivers WiFiMe) no sería posible usarla como tarjeta WiFi estándar. Se convertiría en un dispositivo completamente nuevo. El WiFiMe fue a la par del PassMe1. Nintendo también corrigió la cabecera del WMB a sí que, después de esto, este método no pudo ser usado para ejecutar aplicaciones caseras desde el slot 2 (GBA).

WiFi Bounty

wifi boundy Al principio el WiFi Bounty lo fue todo para mi. Fue mi primer trabajo con StoneCypher (John Haugeland) y no sería el último. Había donado unos 200 dólares al principio. Después de la donación, StoneCypher me invitó a #realdsdev. Un canal “secreto” para los “verdaderos” desarrolladores de aplicaciones caseras para NDS. Fue entonces cuando me dí cuenta de que no todo era lo que parecía en la comunidad de desarrolladores de aplicaciones caseras.

Fue la división entre los desarrolladores “de arriba” y el resto de la multitud. Realmente no fue una sorpresa, pero mi verdadero despertar llegó cuando me dí cuenta que desarrolladores eran parte de este canal. Partiendo de que no soy capaz de contribuir con código aunque me costase la vida, podría entender que otros en el grupo no contribuyeran a la comunidad de DS en ningún sentido. Sólo puestos en su posición porque habían participado en la escena en los tiempos de la GBA. Pero, para mi, que entré escena con la Nintendo DS, no eran nadie. Entre estos “nadies” estaba también StoneCypher. Aparentemente había estado en el mundillo desde hace mucho tiempo atrás, pero todas mis interacciones con él fueron negativas. No necesariamente negativas hacia mi, también negativas hacia muchas personas del canal. Cuando empezaron a ir las cosas mal fue cuando SgStair (Stephen Stair, ganador de la WiFi Bounty en todas las categorías) dijo que había dado un buen regalo a la comunidad al ganar la WiFi Bounty. Bien, StoneCypher pensaba de otra manera, y dijo que no era un regalo, que él estaba pagando por ello. Desde luego, no estoy de acuerdo con esto, ya que sólo 250 dólares de la recompensa eran suyos.

En ese punto, yo había donado 300 dólares y había muchos otros que habían donado grandes sumas de dinero para la recompensa. Como mucho, la comunidad estaba pagando a SgStair por acceder al hardware WiFi. En conversaciones privadas con StoneCypher, rápidamente me dí cuenta de que el tío no estaba del todo bien. Vivía en algún tipo de mundo de fantasía. Con algunos de los desarrolladores “de arriba” de su lado, el tío continuamente faltaba al respeto a otros de la escena sin repercusiones. Parecía que era intocable. Abusando descaradamete de sus poderes de operador de canal en #dsdev, con otros “respetados” operadores permitiéndoselo sin hacer nada al respecto. Este fue sólo el inicio de la división.

Después de que SgStair ganara el WiFi Bounty, la página de la recompensa continuó sin cambios un largo tiempo. Cualquiera persona que llegara a ella no sabría que ya se había entregado la recompensa. Cualquiera que donara no sería añadido a la lista de personas que donaron. Lo sé porque tenía un amigo que donó para ver que pasaba. Nada cambió.

Numerosos intentos de contactar con StoneCypher sugiriéndole que actualizara la página cayeron en oídos sordos así como las donaciones que continuaban realizándose. Hasta que hubo ciertos rumores de conspiración StoneCypher no “encontró tiempo” para actualizar la página y mostrar la recompensa como completamente pagada. Pero, aún a día de hoy, el botón de donar sigue allí. Que alguien diga que no tiene 30 segundos para cambiar unos pocos números y enviarlo es ridículo. Algunas de las teorías conspiranoicas decían que StoneCypher estaba destinando dinero de la recompensa en pagar a Nintendo. Fue una buena, me reí un montón…

Otra teoría fue que SgStair y StoneCypher estaban juntos, manejando la recompensa. Incluso si fuera cierto, ¿realmente importaría? La recompensa era para pagar por una biblioteca WiFi casera… y la conseguimos. A quién le importa a donde fue el dinero. La recompensa influenció directamente la biblioteca WiFi, y sin ella, nadie estaría dispuesto a asumir la tarea, o a lanzar algo. Incluso si decimos que SgStair tenía todo funcionando y sólo estaba esperando a que la recompensa creciera para lanzarlo, ¿eso importaría? Para nada. Lo único que atrajo mi atención fue el hecho de que StoneCypher podría haber sacado dinero de lo que debería ser pagado a SgStair. Es el único que podría hacerlo sin que nadie se enterase, y la única manera de probarlo sería con los logs de las transacciones de las cuentas de PayPal de ambos. Sería fácil para alguien aceptar dinero en su cuenta de PayPal y no hacerlo público. Y no sólo eso, si la cuenta de PayPal es usada para otras transacciones, las de la WiFi Bounty podrían confundirse por error. Quiero decir, lleva mucho tiempo actualizar una página, ¿cuánto tiempo tiene para filtrar las donaciones?

Desde luego, todo esto son teorías. Después de donar 300 dólares a la recompensa, la recompensa reclamada y la biblioteca lanzada al público, decidí iniciar una competición de aplicaciones caseras WiFi para anunciar al mundo que la recompensa había sido entregada, para intentar dar las gracias a la comunidad por todo lo que ofrecieron y por el éxito de las ventas del PassMe. Unos 500 dólares fueron invertidos en premios. Con sólo cuatro entradas, la competición fue una decepción. En vez de ofrecer sólo los tres premios, los cuatro participantes recibieron un premio.

La gente decía la encriptación de los juegos no podría ser crackeada y el tema era tachado como pérdida de tiempo. Fue discutido por un tiempo y se hicieron números que decían que se tardarían décadas en crackearla. Yo decía que se podía crackear en diez segundos… sólo necesitaba una suposición y mucha suerte. Bien, DarkFader se puso con el reto y creó un pequeño programa que permitiría a la comunidad crear un ataque de cracking a nivel global. A parte de eso, se convirtió en un concurso de fuerza bruta, ya que el programa enviaba a una web las estadísticas de los cálculos procesados por cada usuario.

Al poco tiempo todo el mundo estaba ejecutando este programa en sus PCs por dos razones. La meta principal, desde luego, fue ayudar a crackear la encriptación de un juego comercial de Nintendo DS, pero la meta real de muchos era luchar por aparecer en el top de la lista de procesamiento. Conseguir el crackeo llegó más rápido de lo que cualquiera esperaba, y al 82% de completar la tarea, la encriptación fue crackeada. Fue crackeada tan rápido, que muchos no tuvieron la oportunidad de instalar el programa. Afortunadamente, la ingeniería inversa aplicada a los volcados del firmware permitieron que el resultado del crackeo fuese útil.

Después de que la encriptación fuera crackeada, la información sobre el proceso de crear tu propio juego autentificado se pasó a unos pocos elegidos. Cómo hacerlo nunca fue hecho público de manera oficial (que yo sepa) pero la información para hacerlo está disponible, y si sabes como usar la información, podrías crear tu propio juego en el slot-1 que no necesitase un PassMe1/2 y que funcionaría en cualquiera Nintendo DS. Esto dio paso al “NoPass”. Ya que este proceso no pasaba ninguna información desde juego comercial, permitía al NoPass ser del mismo tamaño que la tarjeta del juego así que nada quedaba fuera de la Nintendo DS. El primer NoPass que llegó al mercado que yo recuerde fue el Datel Max Media Launcher. Básicamente hacía lo mismo que hacía el PassMe. Después de autentificarse con la Nintendo DS, eran redirigida al slot de GBA, permitiendo al GBA MP y otros dispositivos sin SRAM ser válidos de nuevo. En este punto, apareció también el FlashMe el cual permitía depender de un dispositivo NoPass nunca más. Así que, hablemos sobre el FlashMe…

FlashMe
FlashMe

FlashMe es un firmware hackeado del firmware original de la Nintendo DS que añadió algunas cosas. La primera, añadió código de recuperación al primer bloque del firmware. Esta sección era segura, y es la razón por lo que era necesario puentear el jumper SL1 para instalarlo. Junto con el código que forzaba a la DS a ejecutar código desde el slot-2 y después, al slot-1, añadiendolo al final del firmware. En un principio, esta zona “vacía” situada al final del firmware tenía un uso desconocido. No tardó mucho en llegar al mercado el primer juego que contaba con capacidades WiFi, y encontramos que este área era para ello. Era usado para guardar la configuración de la WiFi.

Afortunadamente, el código de recuperación permitió a cualquiera que hubiera instalado el FlashMe en su Nintendo DS recuperarel firmware original después de ejecutar un juego con capacidades WiFi. Pero, ¿ahora qué? ¿En dónde pondríamos el código extra que necesitábamos? Bien, Olimar/Loopy fue capaz de recomprimir el firmware. Esto le permitió poner el código adicional en la misma área que el firmware principal así que no habría más sorpresas en el futuro. Más tarde, cuando la encriptación de los juegos fue crackeada, la única razón para instalar el FlashMe fue para el código de recuperación. Incluso hoy, es buena idea instalar el FlashMe para añadir el código de recuperación sólo por si se da el caso de que alguien lanzase algún programa malicioso que corrompiese el firmware. También se añadió la “característica” de eliminar la molesta pantalla de advertencia de salud al iniciar la consola.

Otra excelente característica del FlashMe fue el hecho de que eliminaba la comprobación RSA en las descargas del WMB. Esto permitiría usar el mismo hardware para el WiFiMe, pero para enviar una aplicación o juego casero. Esta es una forma fácil para testear aplicaciones caseras, en vez de sacar la tarjeta de la Nintendo DS, ponerla en el ordenador, escribir los archivos actualizados, sacarla del ordenador, meterla de nuevo en la Nintendo DS y encender de nuevo la consola. Haz esto 50 veces en un día… y verás como incrementas el desgaste de la Nintendo DS y del hardware que alberga la aplicación que testeas.

Nota 1: SL1 es lo que necesitas puentear en la Nintendo DS para permitir el acceso en modo escritura a la zona segura del firmware de la Nintendo DS. Este se puede encontrar abriendo la tapa de la batería y quitando una pequeña pegatina cuadrada.

PAlib contra El Mundo

Palib es una biblioteca de “ayuda” para comunicarse con el hardware de la Nintendo DS, usada por algunos desarrolladores para crear software casero. Este es otro factor en el que se ve como las personas la comunidad interactúan entre ellas. Gente que usa Palib, y gente que la odia, y los que intentan usarla. El tercer grupo, y uno mucho más pequeño, se dieron cuenta de que la biblioteca no era tan buena como debería ser, pero que también entienden por qué existe y por qué la gente elige el usarla. Como dije al principio, no podría programar aunque me costase la vida, a sí que uso Palib.

Pero, los programadores más profesionales también usan bibliotecas de “ayuda” para comunicarse con el hardware todos los días en sus carreras profesionales. Esto es porque el trabajo de un programador es programar, no gastar seis meses de un proyecto aprendiendo los entresijos del hardware para el que están programando. No sólo eso, debe haber alguien que ya conoce los entresijos del hardware, a sí que ¿para qué reinventar la rueda? Pero, ¿eso ayuda? Probablemente, pero realmente depende del proyecto. Si está diseñado para ser ejecutado en diferente hardware, entonces aprender a programar para un hardware en concreto es una pérdida de tiempo. Si sólo eres un desarrollador casero, con mucho tiempo libre en tus manos, podría ser divertido aprender los entresijos de la Nintendo DS y sólo usar libnds y la herramienta DevkitPro. Pero, alguna gente tiene vida y no puede dedicar horas de su tiempo a estudiar el hardware de la Nintendo DS. ¿Debería esa gente no poder escribir aplicaciones caseras para la Nintendo DS? Por supuesto que no. También, hay gente no tiene la intención de convertirse en programador profesional. No tienen deseos de aprender el hardware de la Nintendo DS, o perder el tiempo intentándolo.

Otra negativa usual es la calidad de las aplicaciones producidas usando Palib. Bien, esto va por dos caminos. Desde luego que haciendo algo lo suficientemente fácil que hasta yo pueda escribir un juego casero, provocará que montones de personas como yo, que no saben programar, escriban aplicaciones. Así que, habrá un montón de aplicaciones realmente malas que usan PALib. Pero, también hay algunos juegos caseros muy buenos que usan Palib, porque el programador sabe lo que está haciendo y Palib es sólo la interfaz para llegar a la Nintendo DS. Creo que parte del problema es que la gente parece que no tiene una idea clara de lo que es programar y de lo que es hardware. Uno de los errores más comunes que se ve es en referencia a la Nintendo DS como programación embebida. Sí, es verdad, la programación que estás haciendo es para un sistema embebido. Pero cuando veo el problema es cuando te dicen que puedes o no puedes hacer algo, o que la forma en la que lo estás haciendo es incorrecta, porque no es como se hace en los sistemas embebidos. La forma corrcto de verlo es algo como, “Esa no es la manera de hacerlo en consolas de videojuegos portátiles”. Mira, embebido sólo significa que el sistema tiene una tarea primaria. En el caso de la Nintendo DS, es el ser una consola.

En el caso de un sistema industrial con el que trabajo, es controlar presas hidráulicas. Por lo tanto, decir que los sistemas embebidos deben tener direcciones de memoria directas u otros sinsentidos es sólo mostrar carencias en el conocimiento de los sistemas embebidos. Pero, esto no quiere decir que lo que dicen no es verdad. Pero lo que normalmente quieren decir es que es “para la Nintendo DS”, en lugar de para “sistemas embebidos”.

NDSHB.com

Empecé NDSHB.com con la idea de ser capaz de mantenerla con aplicaciones y juegos caseros, y crear un lugar centralizado para las descargas. Trabajé en ello un año, pero a medida que más y más aplicaciones salían, se volvió extremadamente difícil de mantener actualizado el nuevo software. El lado positivo sobre la página es el hecho de que cada aplicación casera tenía un enlace actualizado a la página del autor, o un post de un foro del autor. Ojalá hubiera suficiente gente ayudando a encontrar las últimas versiones del software. Después, Phoenix Rising y yo lanzamos la prueba conceptual de SLURP, que era una aplicación casera con el propósito de navegar y descargar aplicaciones y juegos caseros desde NDSHB.com. Tenía la posibilidad de que los autores incluyesen un código de “comprobar última versión” en sus aplicaciones.

El único problema fue, que nunca acabamos de actualizar NDSHB.com para usar el nuevo formato con el que estábamos trabajando. Como la mayoría de los proyectos caseros, SLURP cayó en el olvido. Pero, el código fuente fue publicado y está disponible en sourceforge.net como “ndshbhive”. Tal vez algún día ndshb.com sea mantenida por la comunidad como fue planeado en un inicio. La única persona en incluir la posibilidad de descartar las últimas versiones de sus aplicaciones fue DragonMindeds (Shaun Taylor) en su DS Organize. Y creo que esta función estaba disponible incluso antes de lanzar SLURP/NDSHBhive.

La caída (La comunidad se divide)

De cómo una prueba de concepto de un Troyano confundió y dividió la comunidad aun más. DarkFader era conocido por azotar la escena de maneras inusuales de vez en cuando. Él filtró el emulador inédito HyperDS, que en mi opinión (que sólo es eso, una opinión, porque yo no he visto el emulador oficial de Nintendo que se filtró llamado Ensata) el HyperDS probablemente fue tan sólo una versión crackeada del Ensata, por lo que nunca fue anunciado públicamente (DarkFader confirma que esta información es incorrecta. HyperDS fue una aplicación diferente y no tenía nada que ver con el emulador oficial. Las especulaciones dicen que FireFly no lo hizo público para sacarse de encima a Nintendo). Estuvo calmado durante un tiempo hasta que salió a la luz el Troyano para PSP. DarkFader mencionó en el IRC que podría pasar lo mismo en la Nintendo DS. Todos estábamos de acuerdo que con la mayoría de las Nintendo DS con el firmware inseguro, no se tardaría mucho en crear un Troyano. Pero a la vez, nadie lo escuchó realmente, yo seguía predicando el uso del FlashMe sólo por los beneficios que ofrece el código de recuperación del firmware. Todo eso tan sólo fue charla.

Discusiones abiertas como estas tienden a que alguien vaya un paso más adelante para probar que el mundo se equivoca. Un ejemplo de esto fue que el GBA Movie Player Compact Flash era suficientemente rápido para ejecutar roms piratas. Todo el mundo sostenía que no era posible hacerlo. Chishm (Michel Chisholm), el creador del firmware hackeado del GBA MP que permitía al dispositivo ejecutar aplicaciones caseras, probó que todo el mundo se equivocaba creando una versión que además ejecutase roms ilegales. Pero, a diferencia de la mayor parte de la gente de la escena, tuvo la integridad de mantenerlo en privado. Creó un código de desbloqueo en él que se comprobaba la dirección MAC de la Nintendo DS y pondría el código (Proporcionado por Chishm, si fueras uno de los pocos afortunados) después de su nombre en el firmware. Si el código estuviese ahí, permitiría jugar con roms piratas. Recuerdo el día que me habló claramente de ello. Me conecté a los foros de gbadev.org y tenía un mensaje privado de él. Pensó que me decepcionara por crear el proyecto. Me proporcionó un código y lo probé por mi mismo. Creé un vídeo para mostrar que funcionaba con mi tarjeta original de Nintendo DS. Honestamente, le comenté la posibilidad de hacerlo público. No para beneficiar la escena pirata, si no para todo lo contrario. En aquel tiempo, compañías como NeoFlash se estaban haciendo ricas vendiendo hardware un valor de 100 dólares por más de 300 dólares porque podía ejecutar roms ilegales. Vi esto como una oportunidad para vencer al fuego con fuego y lanzar algo que permitiría a un dispositivo de 25 dólares hacer lo mismo que estaba haciendo uno de 300 dólares. Chishm, siendo un hombre con sus ideales, decidió no lanzarlo y la idea desapareció rápido. Pasaría un año y medio antes de que apareciese un programa para el GBA MP que permitiera jugar con roms ilegales.

De todos modos, DarkFader decidió crea un Troyano que devastaría la comunidad del desarrollo casero y romperla en dos grupos. Aquellos que pensaban que eran mejor que todos los demás, y los que no entraban en ese grupo. Encabezando el primer grupo estaban StoneCypher y WinterMute (Dave Murphy). Muchos de nosotros intentábamos mantenernos neutrales.

Yo no estaba de acuerdo con lo que hiciera DarkFader, pero tampoco pensaba que debiera ser condenado por la comunidad. Yo tenía la visión de que él sólo proporcionó un programa que de hecho podría existir. Y para ser honesto sobre el tema, creo que es la razón por la que Nintendo decidió hacer seguro el resto del firmware, para protegerlo contra programas maliciosos en un futuro. Hasta que no se probó lo que se podía hacer, la gente no se lo tomó en serio. Fue mencionado muchas veces en muchos medios desde foros a IRC. DarkFader probó que era real. Y lo que pasó no fue nada comparado con lo que podría haber pasado. Hubiera bastado con que un desarrollador con algo de temperamento tuviera un programa casero con amplio mercado para causar un daño devastador a la escena de Nintendo DS. Sería fácil hacer una bomba de tiempo en su programa sin que nadie supiera que estaba allí. En cualquier momento alguien podría detonarla cuando iniciases el programa o juego y destruir un gran número de Nintendo DS’s. Creo que si no fuera por esta prueba de concepto, Nintendo no habría asegurado el firmware del todo y cualquiera que no tuviera instalado el FlashMe y ejecutara programas caseros estaría en riesgo aun hoy en día.

Después de la caída, había dos canales de IRC. #dsdev controlado por el grupo “principal”, y #mellowdsdev donde todos recibían estado de operador. Básicamente era lo contrario de #dsdev. La gente era libre para hablar sin ser humillado o criticado por la falta de conocimientos. Los que intentábamos mantenernos neutrales estábamos en los dos canales, hablando libremente sin problema. Hasta que tuve más encaramientos con StoneCypher no me dí cuenta de que estaba completamente chiflado. Si era un maestro en algo, era en su habilidad para dar la vuelta a tus palabras en el sentido contrario a lo que estabas diciendo. #mellowdsdev parecía haberse convertido en el canal odiado de StoneCypher. Era donde la gente debería ir a quejarse de lo que StoneCypher dijo o les hizo.

Durante una de mis conversaciones privadas con StoneCypher, empezó a decirme los inicios de la escena casera de Nintendo DS y como las cosas fueron a peor. Aparentemente nadie le dijo que yo estaba allí cuando empezó, así que empezó a decirme una historia completamente diferente de la verdad. Según él, Kraln fue la primera persona en hacer el PassMe. Según sus palabras, Kraln fue también el que lo diseñó. Fue en ese momento cuando decidí que no volvería a habar con StoneCypher.

No tardé demasiado en ser baneado de #dsdev por denunciar las faltas de respeto de StoneCypher hacia otros usuarios del canal. Estuve alejado de ellos un largo tiempo, hasta que un día vi un post de WinterMute en el que anunciaba que su ordenador principal se había averiado. Él era el mantenedor del entorno de programación DevkitPro, el cual era usado por todos los desarrolladores caseros, me puse en contacto con él para ver si le podía comprar un nuevo equipo. Después de enterarme de que los ordenadores en su país costaba lo doble que en Estados Unidos, doné 250 dólares para un nuevo equipo. De repente, ya era amigo suyo y del canal #dsdev. WinterMute me había invitado a volver a entrar él. Tuvimos muchas conversaciones sobre la comunidad y sobre lo que iba mal en ella. Por alguna razón, WinterMute no veía el daño que StoneCypher había causado.

Yo creía en ese momento, que StoneCypher seguía siendo operador del canal sólo para que WinterMute no pareciese que estaba equivocado en mantenerlo como operador. Si le sacaba ahora el privilegio de administrador, probaría que el resto del mundo tenía razón. Y eso no podía ser. Poco después #dsdev empezó a recibir spam. Empezando con dibujitos ASCII como “DE-OP SC” y con enlaces a posts con conversaciones de IRC entre SC y otros usuarios del canal. La verdadera pregunta es, ¿cómo puede estar tanta gente equivocada, y una sola persona tener razón? Estaría de acuerdo con WinterMute si sólo fuera yo, y tal vez un puñado de gente que no aguantara a StoneCypher. Las personalidades chocan y esas cosas pasan. Pero, si alguien creara una encuesta de gente que hubiese tenido una experiencia negativa con este tío… ¡sería una lista extremadamente larga! Y lo siento, pero los números no mienten. Simplemente no pude entender el concepto de cómo puede estar “bien” faltar el respeto a alguien que tiene un comportamiento normal, y ser yo el chico malo por decir esto.

Estuve un largo tiempo sin entrar en #dsdev, y por lo que escuché, la actitud de StoneCyphers no había cambiado. Seguía lanzando su peso por todos lados como un luchador de sumo. La última vez que fui baneado de #dsdev, dije una sola palabra. “Guay”. En referencia a otra conversación en la que StoneCypher decidiera actuar como un crío por no llamarle de otro modo. Parece ser que ese comportamiento era aceptable, pero para mi no. Para ser honesto, estoy contento por estar baneado del canal. Me gusta estar alejado de los problemas. Está muy bien… pero no te das cuenta hasta que te banean… o simplemente te vas.

Piratería y NeoFlash contra DarkFader

NeoFlash
Normalmente, ni siquiera mencionaría este tema porque realmente no me importa. Pero hay una relación directa entre el desarrollo casero y la piratería. Si no fuera por la piratería, los fabricantes no invertirían tiempo y dinero en un producto que tiene tan poca audiencia como la comunidad de desarrollo casero. El beneficio demasiado pequeño, llegaría a muy largo plazo y con un alto riesgo. Sin fabricantes haciendo sus dispositivos para piratear, seguiríamos usando PassMe ½ para el desarrollo casero en Nintendo DS, y si fuésemos afortunados, podríamos comprar una tarjeta de memoria casera que costase más aun que una comercial, o peor, hacerla nosotros mismos con la información publicada de alguna página web.

Como vi como todo esto en el IRC, voy a comentar un poco lo que he visto. Todo esto son rumores. Nada es apoyado por hechos. Tan sólo es mi interpretación de lo que pudo haber pasado. Siendo NeoFlash el innovador en la escena pirata de Nintendo DS, rápidamente contrataron a DarkFader para hacer el trabajo sucio. Como la mayoría de las compañías comerciales en la escena, parecía que no tenían ninguna habilidad técnica en absoluto. Todo lo producido comercialmente parece que es creado por un desarrollador casero contratado, o directamente robado de él sin su permiso. Como DarkFader fue el primero en dumpear un juego de Nintendo DS, es obvio que debería ser él el que tomara las riendas de crear el sistema que sólo permitiera jugar a esas roms piratas en su hardware. Así que, NeoFlash realmente no desarrolló nada nuevo, tan sólo tomaron prestado el hardware que ya estaba disponible. Pero, lo que sí hicieron fue crear un “grupo” llamado “Golden Sun Team” (GTS) para dumpear roms y parchearlas para que sólo funcionasen en su hardware. Su hardware era el XG Flash con una nueva etiqueta y con una versión comercial del PassMe.

La gente no tardó mucho en darse cuenta de eso y el fabricante de XG cambió el hardware para ser lo suficientemente diferente para que estas roms de GTS no funcionaran más con el hardware XG. Tampoco tardó mucho en emerger un nuevo “grupo”. Esta vez, llamado “Silver Moon Team” (SMT) y lanzarían un dumpeador comercial al público. Hasta entonces sólo GTS podían dumpear y lanzar una rom que sólo pudiera funcionar en el hardware NeoFlash. Pero, para hacerlo “guay”, estas nuevas roms usando el dumpeador SMT serían inútiles, ya que aun no había ningún hardware excepto el NeoFlash que permitiera jugar con estas roms ilegales. Pero, ya que todo el mundo era capaz de dumpear roms, esto permitiría al GST concentrarse en parchear estas roms y conseguir que su catálogo creciera de manera exponencial incrementando las razones pagar más de 300 dólares por el hardware. Es difícil vender un objeto de 300 dólares que sólo puede ejecutar 80 dólares (dos juegos) de software robado. Pero, desde luego, no se tardaría demasiado en poder jugar con estas roms en otro hardware.

Al final DarkFader fue odiado por NeoFlash. Me conecté al canal de IRC #neoflash para ver un mensaje de odio haica DarkFader en el tema del canal. DarkFader se puso en contra NeoFlash y lanzó un parcheador que permitiría a cualquiera con un Flash Cart de GBA jugar con estas roms piratas. Err, quiero decir, SMT lanzó un parcheador que permitiría a cualquiera con un Flash Cart de GBA jugar con estas roms piratas ;)

Este boom de roms piratas, conduciría a las empresas comerciales a producir productos que permitieron adentrarse a más gente en el desarrollo casero. En este punto Datel crearía el “Game Construction Kit” que más tarde se comvertiría en el “Games N Music” llegando a las estanterías de importantes distribuidores cercanos a todos. En ese punto, podías salir de un Walmart después de gastar 20 dólares más impuestos y ejecutar aplicaciones caseras en tu Nintendo DS. El producto es un poco lento, no ejecutaría roms ilegales, pero es el dispositivo ideal para introducirse en el mundo del desarrollo casero y ver si estás interesado en él sin gastar un montón de dinero.

Pensamientos finales

Espero que después de leer todo eso, tengas un poco más de información sobre los antecedentes del desarrollo casero de Nintendo DS. Hacia donde se dirige ya depende de ti.

Sin categoría, Gadgets20 December, 2006 12:02

GPS
El que compré hace poco para mi funciona a las mil maravillas con el TomTom. Mejor dicho, funciona a las mil maravillas en mi coche. En el de mis padres me encontré con que no había forma de captar un señal óptima con casi ningún satélite. Probé a mover el receptor GPS por todo el salpicadero, siempre obteniendo poca señal. Cansado de las pruebas lo di por imposible. Gracias a internet me entero de que la mayoría de coches más o menos recientes tienen luna/cristal delantero atérmico. Esto quiere decir que en un día muy soleado, este cristal atérmico evita que entre demasiado calor al interior del vehículo.

Si tenemos GPS bluetooth la solución podría ser colocarlo en la bandeja trasera, ya que los cristales traseros no suelen ser atérmicos. Otra solución puede ser adquirir una antena externa. Y la que yo he usado y me dio resultado es la siguiente:

Los vehículos con cristales atérmicos suelen tener una zona sin apantallar para permitir que entre la señal de los telepeajes, que podemos aprovechar también para los dispositivos GPS. Esta zona del cristal es en la que estaría el espejo retrovisor interior. A sí que, todos los que tenemos un GPS de los “normalitos” debemos atarlo al retrovisor. Y los que tengáis en mente comprarlo en un futuro, documentaos antes, ya que hay buenos GPSs que no tiene problemas con este tipo de lunas.

GNU/Linux, Gadgets10 October, 2006 02:33

DsLinux

Me acabo de encontrar con un wiki en el que se puede consultar una lista con las aplicaciones que incluye DSLinux: DSLinux wiki. Faltan algún programa que me suena verlo por ahí…

Ahora que consiguieron usar los flashcards como memoria RAM la cosa se puede poner interesante, ya se habla de un entorno gráfico más complejo que el Nano-X que tenemos ahora.

Informática/internet, Gadgets11 September, 2006 14:34

PDA Pocket PC: Dell axim x3

Por casualidades de la vida me hice con una PDA Dell Axim x3 baratita con tarjeta wifi SD y teclado externo. Típico cacharro que si lo buscas a buen precio no lo encuentras ni de coña.

Además me hice con un cargador para mechero de coche y una batería de 2000 mAh ya que la que trae de serie es de 950 mAh. (Ahora he de estudiar el tema del GPS).

No tengo mucha experiencia con PDAS pero la máquina está bonita: pesa poco, pantalla correcta y el teclado externo me ha enamorado. Por lo que he leído no se puede actualizar a windows mobile 2005, me tendré que quedar con el 2003 y además andan trabajando en una distro de Linux que aún no está lista.

De momento no le saqué todo el jugo, entre otros probé lo siguiente con resultados satisfactorios: agile messenger para chatear por GTalk y MSN, Opera para navegación web, pocket scummvm para las aventuras gráficas de lucasarts (estoy jugando al Monkey Isaland ^_^), pocketirc para conectar a redes IRC, un par de programas de astronomía…

Algunas carácterísitcas técnicas de Dell Axim x3:

Procesador: Intel XScale, 400 Mhz
Memoria ROM: 64 MB
Memoria RAM: 64 MB
Sistema operativo: Microsoft Windows Mobile 2003
Peso (con batería): 136 g (con la que compré de 2000 mAh algo más porque es más grande)
Tamaño: 117 x 77,2 x 14,9 mm (alto x ancho x grosor)
Pantalla: 3.50 pulgadas, 240 x 320 píxeles, 65536 colores.
Infrarojos.
Puertos de expansión: SDIO (SD Card / MMC)

Gadgets31 July, 2006 10:05

Mi pobre Motorola c550 cercano a los dos años estaba pidiendo la jubilación a vibraciones (a gritos no, porque no sonaba). Desde la semana pasada las llaves tienen nuevo compañero de bolsillo: Un flamante Sharp 770SH:

sharp 770sh

Cuenta con cámara de 1 mpx, bluetooth, grabación de audio y vídeo, reproducción mp3s, tarjetas microSD-transflash de 64MB(no miniSD como me informaran en la tienda)…

Las primeras impresiones están siendo buenas: el teclado muy preciso aunque se me hace algo grande; cómodo de transportar ya que es bastante fino, una vez abierto parece grande; amplia pantalla y los menús del sistema responden rápido.

Por otro lado tiene algunos defectos: Las melodías para los tonos tienen que ser copiadas a la memoria interna, no tiene botón para ir pasando de fotos sin volver a la galería y es algo lento en arrancar. Espero que en un futuro salga algún firmware alternativo al que está instalando Vodafone.

39€ al hacer portabilidad a contrato de Vodafone.

Actualizo: Sí que tiene teclas para pasar de fotos sin volver al administrador de archivos, * y #.

Videojuegos, Gadgets28 April, 2006 17:59

nintendo ds lite
Soy conocido como un gran idolatrador incondicional de Nintendo. No estoy en desacuerdo del todo. Cuando compré mi primera Hobby Consolas (la número 2) algo tiró de mi hacia la compañia del panzudo bigotudo. Soñaba con tener una NES, pero mis padres no estaban de acuerdo, supongo que por ignorar de que se trataba. Entonces mis sueños migraron a la pequeña de la casa, la Game Boy. Después de mucho rogar a mi madre, mi hermano y yo conseguimos que nos la dejara comprar/comprara (no recuerdo si fuera con nuestro dinero). TETRIS, vicio y más vicio. Peleas por quien le tocaba jugar. Más vicio aún. Tiempo después compramos una Super Nintendo. ¡Que gran consola!. A día de hoy la tengo en el pedestal de ser la consola que más me ha gustado y que más he disfrutado. Luego fue Nintendo 64, otra que disfruté a fondo, sobre todo por el juego multijugador entre 4 señores. La Game Cube ya no fue lo mismo. Compré una muy barata casi por tenerla y jugué poquísimo, varios domingos con tres colegas y poco más.

Llegamos a la Nintendo DS. Con ella es otro nivel, no sólo juegos (que los hay muy buenos). Últimamente estoy jugando a Mario Kart, Tetris y Animal Crossing, un poco cada día, tal vez ni una hora al día. Pero la DS va conmigo a todas partes prácticamente. Para mi, más que una simple consola se ha convertido en un gadget multiuso:

- Juegos: Los que ya dije arriba.
- Emuladores: Funcionan más que decentemente de NES, Master System, Game Boy Color, MSX, 2600, Super NES (algunos juegos)…
- Despertador: El móvil lo tengo jodido xd
- Reproductor mp3/ogg/wav: Con moonshell. Básicamente para el coche, enganchada al aparato de radio por un casette.
- Visor de imágenes/.txt: Con moonshell o DSorganize.
- Agenda, calendario y direcciones: Con DSorganize, que además es visor de imágenes.
- Controlar el PC remotamente: Pointy Remote o Win2DS. Poco lo uso pero está ahí.
- Usar la DS como si fuera un pad para los juegos: Con DS2Key.

Recientemente han apareciendo cosas como cliente de email; linux con navegador web modo texto, IRC, FTP, etc; tracker estilo fasttracker para hacer música electrónica; programa de dibujo con soporte para guardar/cargar a la tarjeta SD…

Esto no es nada si tenemos en cuenta lo que puede llegar, ya que las librerías DSWifi desde hace unos días ya soportan WEP, TCP y DHCP.

Al ser “incondicional” de Nintendo puede que si digo que la DS es una maravilla quede como una opinión no válida de un fanático más, pero a las pruebas expuestas arriba me remito.

Videojuegos, Gadgets22 January, 2006 18:54

Nintendo DS
La de va viento en popa últimamente. Acaba de aparecer algo muchos esperábamos ver algún día en nuestras DSs: PointyRemote por cortesía de Pointless. Se trata de un programa que permite tomar el control de un PC con windows via . El programa muestra el escritorio en la pantalla inferior, pudiendo hacer zoom sobre él pulsando un botón.

De momento la cosa está muy verde: Los colores son malos, es muy lento por no usar compresión, es muy incómodo a la hora de movernos por la pantalla, no se puede hacer click derecho…

El autor no tiene intención de mejorar demasiado el programa hasta que las bibliotecas dswifi estén acabadas y pueda usar tcp para la comunicación. Ahora mismo está usando udp por lo que puede haber pérdida de información en el envío de de información entre el PC y la DS.

- Descarga: PointyRemote.
- Tutorial de DS2Key, por su similitud con PointyRemote puede ser usado como referencia para su configuración.

Videojuegos, Música, Gadgets20 January, 2006 21:57

En el anterior post puse un tutorial para usar la Nintendo DS como mando para los juegos de PC. Esta vez se trata de controlar el reproductor multimedia winamp.

Con este pequeño archivo .bat y el DS2Key podemos controlar el winamp desde la Nintendo DS:

cls
@echo off
echo A - Play
echo B - Pausa
echo X - Sop
echo Y - Saltar a archivo
echo R/L - Siguiente/Anterior canción.
echo ARRIBA/ABAJO - Control del volumen
echo DERECHA/IZQUIERDA - Avanzar/Retroceder
ds2key.exe 192.168.1.2 9501 45 46 47 36 44 48 28 56 200 208 203 205

Ponemos nuestra IP en vez de la que está en negrita y copiamos el código anterior en un archivo de texto, lo guardamos como winampDS.bat. En vez de ejecutar el DS2Key con su DS2Key.bat original, lo arrancamos ejecutando winampDS.bat. Sólo falta tener el winamp abierto y encima de otras aplicaciones para que tenga el foco del teclado y…

A controlar la música desde cualquier parte de la casa!!!! :D

Videojuegos, Gadgets 19:00

El código fuente del programa para testear las bibliotecas DSwifi está disponible para todo el mundo. Gracias a eso se ha conseguido hacer que la Nintendo DS se comporte como un pad inalámbrico para usarlo en nuestros PCs con windows.

Para conseguir esto necesitamos el DS2Key. El programa se divide en dos: un programa que ejecutaremos en el PC y otro que ejecutarmos en nuestras Nintendo DS con el método de carga de sofware casero de cada uno, ya sea SuperCard, M3, flash de GBA clásico…

Lo que hace realmente este programa es enviar las teclas presionadas en la consola al programa que ese está ejecutando en el PC y éste se encarga de “emular el teclado”, o sea: que cada botón de la Nintendo DS equivale a una tecla del teclado del ordenador.

Estos son los pasos que hay que seguir para hacer funcionar el DS2Key:

0. Bajar el DS2Key de aquí: http://www.4shared.com/dir/202337/2eef80fe/DS2Key.html

1.1 Necesitamos saber un para de IPs para más adelante. Vamos a Inicio>ejecutar y ponemos: cmd , nos saldrá una ventana de ms-dos en la que teclearemos: ipconfig, con el siguiente resultado:

1.2 Una vez descomprimido el contenido del DS2Key.zip hacemos click derecho encima del archivo DS2Key.bat y seleccionamos editar:
ds2key

1.3 Tenemos que cambiar la IP que viene por defecto poniendo la que hemos visto en rojo en el punto 1.1:

1.4 Ya tenemos configurada la parte del PC. Ahora ejecutamos el DS2Key haciendo doble click en DS2Key.bat, se abrirá una ventana de ms-dos como esta:

2.1 Lo siguiente será ejecutar en la DS el DS2Key.nds o el DS2Key.ds.gba dependiendo que método de carga de software casero usemos. Una vez ejecutado, en la primera pantalla iremos a la opción “Connect to an AP” y tendremos la siguiente pantalla en la que pincharemos en “Search for an AP”:

2.2 En este punto irá mostrando las redes inalámbricas disponibles. Seleccionamos la nuestra y pinchamos en “Accept”:

2.3 Este paso es bastante delicado e importante, vamos a configurar la red mediante la cual se van a comunicar la DS y el PC:

- IP Address: Esta será la IP de la DS en la red. En el punto 1.1 vimos la IP de nuestro PC en el cuadro rojo: 192.168.1.2, pues la IP de la DS deberá ser 192.168.1.algo (en algo poned un número que sea diferente de la IP del PC y también diferente del punto de acceso, por ej: 189)

-Gateway: Aquí pondremos la IP que aparece en verde en el punto 1.1.

- DNS 1: Ponemos la misma IP que en Gateway.

- El resto de las opciones las dejamos tal como vienen por defecto.

Nota: Hay que asegurarse de que no tenemos activada la encriptación WPA ni WEP en nuestro AP ya que de lo contrario no podremos conectar, aunque el programa nos diga que sí.

Una vez configuradas las IPs pinchamos en “Connect”:

2.4 Una vez que estamos conectados, seleccionamos “UDP Test” y tendremos la siguiente pantalla para seleccionar el puerto por el que se hará la comunicación DS-PC. Dejamos el puerto 9501 que viene por defecto y pinchamos en “Accept”:

2.5 En la siguiente pantalla pinchamos “Edit”:

2.6 Nos encontraremos con teclado para introducir la IP de nuestro ordenador. Introducimos la IP que tenemos en el punto 1.1 encuadrada en rojo y pinchamos “Accept”:

2.7 Y se acabó. Si todo fue bien, podemos abrir el bloc de notas y ver como aparecen letras según vamos pulsando los botones de la DS:

Sólo falta configurar las teclas en el juego correspondiente para disfrutar del “mando inalámbrico” :)

ordenador portatil | arquitectura 3d