miércoles, 29 de junio de 2011

Adaptador de control de SNES a USB (La burra vuelve al trigo).

Como parte de los experimentos de vacaciones, he estado poniendo a prueba el adaptador de controles de SNES a USB, para comprobar algunas teorías que venían rondando mi cabeza. Afortunadamente las pruebas han arrojado dos resultados muy buenos.

La primera prueba consistió en utilizar el ATTINY2313-10PU, en lugar de la versión de 20 MHz. Al principio me pareció que hacer esta prueba era una total pérdida de tiempo, considerando que la versión de 20 MHz es bastante fácil de conseguir en la Ciudad de México, sin embargo algunos amigos me han notificado que en muchos lugares la única versión disponible es la de 10 MHz. Después de hacer algunas pruebas bastante extensas (conseguir las 96 estrellas de Super Mario World), he llegado a la conclusión que el microcontrolador ATTINY2313-10PU sirve perfectamente para hacer el adaptador. Considero que hacer la prueba fue satisfactorio, debido a que en internet hay opiniones divididas acerca de utilizar un AVR con overclock. Por un lado hay quien afirma se puede hacer un overclock aun más extremo (35 MHz) sin notar anomalías en el funcionamiento de los dispositivos. Por otro lado está quien afirma que aplicar overclock a un AVR corrompe la EEPROM, el microcontrolador funciona erráticamente y por último el chip se quema. En mis pruebas, el microcontrolador no incrementó su temperatura, no sufrió de corrupción ni en la EEPROM ni en la FLASH y en ningún momento presentó falla. Cabe aclarar que el voltaje de alimentación fue de 5V, lo cual permite al microcontrolador operar a su máxima velocidad. Tiene sentido que el AVR se haya comportado bien, debido a que tanto la versión de 20 MHz como la de 10MHz tienen el mismo núcleo.

La otra prueba, fue incrementar la frecuencia de operación del propio control de SNES. La señal de reloj de entrada que suministra el SNES al control es de 83.33kHz. El pulso que sirve para habilitar el cerrojo (latch) tiene un periodo de 24us. Las pruebas que he realizado me han permitido elevar la frecuencia de operación del control a 500kHz. Para elevar aun más la frecuencia será necesario implementar macros personalizadas, debido a que las macros contenidas en la biblioteca delay.h solo permiten operar con microsegundos (incrementar la velocidad implicaría trabajar con nanosegundos). A 500kHz el control funciona perfectamente.

El control de NES contiene un chip MC14021, el control de SNES contiene un chip personalizado conocido como v520b, que es la versión "doble" del MC14021. Según la hoja de especificaciones del CD4021 (equivalente al MC14021), la frecuencia máxima de operación del circuito, cuando es alimentado con 5V es de 3.5MHz, siendo su frecuencia típica 2.5MHz. Al parecer es posible llevar al control a una frecuencia de operación de 2MHz considerando un margen de seguridad bastante amplio, por lo que esa será la meta en las pruebas subsecuentes.

jueves, 23 de junio de 2011

Wireless o Wirelazy?

Después de un agobiante semestre en la Facultad, una de las mejores formas de despejar la mente y pasar un rato ameno (al menos de las que yo conozco) es jugar videojuegos. Estas dos semanas de vacaciones, he estado jugando Sakura Wars ~ So Long my Love para PS2. Se trata de un juego híbrido entre un RPG táctico y un simulador de citas, que en lo personal me agrada mucho. Es un juego largo, que ofrece seis rutas en total para obtener algún final, cada ruta tiene una duración promedio de veinte horas, las cuales pueden ser más si lees todos los diálogos. Debido a que no se trata de un juego de aventuras o de acción, se puede disfrutar cómodamente desde un sillón con un control inalámbrico que usaremos prácticamente sólo para avanzar los diálogos e introducir unos cuantos comandos cuando el juego los requiere (como la mayoría de los RPG).

Para jugar, utilizo un control Pelican Chameleon Wireless, el cual ya tiene bastantes años de uso, y también ya lleva bastantes reparaciones menores. En términos generales es un buen control, por lo menos para jugar RPGs, pero tiene unos cuantos detalles que a veces pueden ser algo molestos. El primero es el material del que está hecho, es un tipo de plástico transparente bastante quebradizo, si el control sufre una caída de apenas 40 cms, ten por seguro que alguna parte se habrá estrellado o roto. El segundo es que los potenciómetros de las palancas analógicas son de una pésima calidad, después de unos meses de uso se desgastan y comienzan a marcar valores de resistencia erráticos. Lo anterior le quita precisión al control, y además suele tener al control en estado de transmisión prácticamente de forma permanente. El tercer detalle que tiene es que algunos de los controles consumen mucha batería.

De los detalles del control, el que me resulta más molesto es el del consumo de las baterías debido a que los RPGs suelen exigir largas jornadas de juego. Pero por suerte, todo tiene solución. En las especificaciones de los controles inalámbricos suelen presumir la tecnología 2.4 Ghz, el alcance de 10 pies, la respuesta del control pero omiten datos técnicos que podrían ayudarnos a evaluar de forma más objetiva al control. Entre los datos que suelen omitirse (incluso en las hojas de especificaciones de los controles) es la corriente que demandan los controles. Poseeo tres tipos de controles inalámbricos, el Pelican que ya mencioné, un Dreamgear Lavaglow y el control inalámbrico del XBOX 360 y ninguno ofrece la información eléctrica mínima. En el apartado de consumo de energía ponen un enunciado de burla como: "Hasta 300 horas de juego" (en el caso del Pelican) o "Hasta 40 horas de juego" (en el caso del control del XBOX 360), lo cual es completamente inválido si le colocas al control pilas Rocket y que más que información parecen frases para comercial.

Multímetro en mano, me decidí a averiguar de una vez por todas porqué las empresas no quieren dar a conocer de forma clara el consumo de sus productos. El control de XBOX 360, en modo de operación pasiva (es decir, sin presionar teclas ni vibración) consume 70 mA, al utilizar la vibración, el transitorio de corriente se sale de la escala de los 200 mA. El Dreamgear consume en modo de operación sin los LED encendidos 20 mA. El Pelican consume en operación pasiva 3 mA, mientras que en operación activa (con botones presionados) consume 17 mA. En este caso, podemos ver que el control que funciona de forma más eficiente es el Pelican.

Uno de mis controles Pelican tenía un error de fabrica, ya que la resistencia limitadora de corriente para el LED que indica la actividad del control, en vez de tener un valor de 1000 Ohms, tenía un valor de 100 Ohms, lo cual incrementaba de forma notable el consumo del control.

Para corregir el error, y de paso ganar un poco más de autonomía en las pilas, cambié la resistencia por una de 3300 Ohms, lo cual disminuye el brillo del LED de forma notable, sin llegar a dificultar su visibilidad. Con dicha modificación el consumo del control en operación activa es de 15.24 mA, con lo cual se reduce su consumo en un 10%. A continuación pongo una tabla donde se muestran la duración de un set de baterías de 2000 [mAh] en perfecto estado en cada uno de los controles. La duración máxima se ha calculado de acuerdo a las lecturas de corriente en estado pasivo de cada control, mientras que la duración promedio se ha medido jugando con cada control.

Tiempo promedio de duración de baterías (2000[mAh])
ControlMayor duración posibleDuración promedio
XBOX 360 Wireless (X360)28 horas16 horas
Pelican Chameleon Wireless (PS2)330 horas130 horas
Dreamgear LavaGlow Wireless (PS2)100 horas80 horas


Como podemos ver, los consumos publicitados por las marcas de los controles son un truco publicitario bastante barato.

martes, 7 de junio de 2011

Entre cartones y cartoons

En esta entrada aun no publicaré nada sobre los proyectos, que andan avanzando a un ritmo un poco más lento que el previsto, sin embargo, la meta de tenerlos listos en julio aún se ve bastante realista. Mi investigación reciente me permitió percatarme de un detalle que estaba pasando por alto la primera vez que analicé la viabilidad del proyecto y ahora estoy viendo la forma de solventarlo, usando la menor cantidad de memoria posible.


Esta semana cayó en mis manos un Sega Dreamcast con un detalle de lectura de discos. Normalmente, los problemas de lectura de discos en la mayoría de las consolas se deben a la suciedad que se acumula en la parte interna del pick up de la unidad láser, a la suciedad externa en el lente de enfoque o al desgaste del diodo láser. Sin embargo este Dreamcast sufría de un problema no tan común. El pick up del láser se desplaza desde el centro del disco hasta la orilla, para leer los datos contenidos en él, mientras el disco gira a una velocidad determinada por la velocidad de la unidad lectora en conjunto. Pues bien, resulta que el Dreamcast que cayó en mis manos tenía un defecto en la transmisión del motor que mueve al pick up, ya que hacía un ruido agudo al tratar de desplazarse, además de que después de moverse por cerca de dos minutos, el pick up ya no podía moverse más. Mi primera idea fue que quizás el motor estaba desgastado y debía ser reemplazado, sin embargo, mis pruebas mostraron que el motor se encontraba en perfecto estado. Procedí a desmontar la transmisión, limpiar los engranes, lubricarlos y volver a montar todo en su sitio. Lo anterior hizo que los ruidos tuvieran una menor intensidad, además el pick up se movía con mayor libertad... pero aún así se podían percibir anomalías en el funcionamiento de la unidad lectora. Procedí a buscar entre mis cosas viejas una refacción de la transmisión de la unidad láser, la cual encontré después de mover un montón de cosas. Procedí a colocar la refacción (que si no mal recuerdo procedía de un Dreamcast edición SEGA Sports) y la unidad lectora funcionó como nueva.


En el proceso de buscar la refacción que salvó la vida del Dreamcast encontré la caja de un procesador AMD Sempron. Dicha caja no contiene un procesador... sino mi colección de tarjetas de Magic ~ The Gathering, Yu-Gi-Oh! y Sakura Card Captor TCG. Recuerdo que hace unos cuatro o cinco años esas tarjetitas eran una parte importante de mi rutina diaria, debido a que jugaba con ellas con algunos de mis amigos, además de que solía comprar aquellas que tenían dibujos padres o las que podían fortalecer mi mazo y darme ventaja al jugar. En aquél entonces las cosas en mi vida eran muy distintas, ya que trabajaba medio día (lo que me permitía tener cierta solvencia económica), gastaba muy poco tiempo y dinero en el transporte público, ya que vivía cerca del centro de la ciudad, y en la escuela prácticamente no hacía otra cosa mas que ver anime, platicar con mis amigos, jugar videojuegos y juegos de tarjetas (o sea, un NEET).


Por pura curiosidad abrí la caja, para ver a grosso modo qué contenía, ya que la verdad olvidé qué tarjetas tenía. Una inspección rápida reveló dos cosas que me perturbaron: la primera es que las tarjetas están en estado de conservación perfecto, ninguna tiene ni un doblez, mancha o muestra de abuso. La segunda es que la mayoría de las tarjetas son del tipo rara. Recordé entonces que en algún momento me deshice de las tarjetas comunes que tenía, lo que no recuerdo es si las regalé, vendí o simplemente las tiré a la basura. Al ver esas tarjetas, me sentí bastante raro. La verdad, me cuesta ver cómo es que estos pedazos de cartón me llegaron a apasionar a un punto tal, que invertí bastante dinero y tiempo en ellas. Aunque debo admitir que jugar con mis amigos fue divertido.


Entre las cartas de Yu-Gi-Oh! (que fueron a las que les dediqué más tiempo y dinero) que aparecieron en la caja sobresalen un par de Buster Blader, un Dark Paladin, un par de Dark Magician Girl, una Cyber Harpie Lady, entre otras no tan relevantes como Red Eyes Black Dragon, XYZ Dragon Cannon, Berserk Dragon, Dark Elf, etc, etc. Por pura curiosidad busqué en MercadoLibre el precio de algunas de ellas, para ver en cuánto se están cotizando... y cual fue mi sorpresa al ver que el precio de muchas tarjetas es el doble o el triple del que pagué por ellas en su momento. Aunque eso fue lo que menos me sorprendió, pues al fin y al cabo yo podría publicar un Sega Dreamcast recién reparado a 800 pesos, y difícilmente alguien mordería el anzuelo. Lo realmente sorprendente es que varias de las tarjetas llevaban dos o tres ventas.


Al parecer, Yu-Gi-Oh! sigue estando vigente y algunas personas están tratando de ampliar sus colecciones con tarjetas viejas. Mientras tanto, las mías esperarán la hora del duelo, dentro de una caja de microprocesador...

¡Feliz 2021! El retorno del debraye pandémico (Edición "Rompemuros").

Hola, ¿Cómo han estado? Espero que estén con bien, con buena salud y con muchas ganas de aburrirse una vez más con una ronda de debrayes. Es...