Adaptando el Control de SNES al Puerto Paralelo en Ubuntu.

Julio 3, 2008

Pues ya se dejaron venir las vacaciones y, con esto, se ha venido la necesidad de encontrar maneras en cómo matar el tiempo de ocio. Podría utilizar este tiempo haciendo algo productivo: aprendiendo algo nuevo, ofreciéndome como voluntario a pintar banquetas, conseguir un trabajo, etc etc., pero como realmente ninguna de esas actividades las disfrutaría mucho, prefiero hacer algo como que más de “hueva”.

De ahí que se me vino a la mente buscar la manera de adaptar un control de la consola SNES (que áun conservo) para conectarlo a la computadora y ya con esto disfrutar todos los juegos (roms) habidos y por haber de forma totalmente gratuita. Y ¿queeee creeeeen?. Encontré la manera ;) .

A continuación un mini-tutorial de cómo elaborar un adaptador para el puerto paralelo y cómo hacerlo funcionar en Ubuntu. Disculpen la calidad de las imágenes, me vi forzado a tomarlas con la cámara integrada a la lap, pero se los juro que ya estoy ahorrando para una nueva cámara :P .

Etapa Física.

Ingredientes:
- 1 Control de Super Nintendo.
- 1 Computadora con Puerto Paralelo.
- 5 diodos 1N4148.
- 1 Adaptador DB-25 Macho.
- Cable (no muy grueso).
- Cautin, soldadura, pasta fundente, todo lo necesario para soldar.

Procedimiento:

1. Romper CUIDADOSAMENTE el conector que trae el control, la mejor manera de hacerlo es con un desarmador pequeño ir tronando los seguritos que tiene (2 en cada lado). La intención de esto es notar la posición que ocupa cada cablecito dentro del conector sin que ésta se altere, y esto es de suma importancia para saber en qué orden vamos a soldar las conexiones. Así que en este paso vale la pena tardar lo que sea necesario.

En mi caso el orden de los cables quedó de la siguiente manera: 7 -> Blanco, 6 -> Amarillo, 5 -> Naranja, 4 -> Rojo y 1 -> Café.

2. Pelar (sin albur) los extremos de los cables y efectuar la soldadura de las conexiones entre el adaptador DB-25 y el control de acuerdo al siguiente diagrama:

IMPORTANTE: El extremo de color negro (cátodo) del diodo debe ser soldado de tal forma que quede en el extremo del control, no del conector DB-25.

3. Listo!! Puedes agregar cinta termofit o de aislar para cubrir las partes “pelonas” del cable, lo mío realmente no ha sido lo estético jaja, con que funcione basta.

Etapa Lógica.

Esto servirá para cualquier distribución de Ubuntu que maneje un kernel superior al 2.6.10 (yo traigo actualmente el 2.6.24-19).

1. Abre un editor de texto, copia y pega los comandos de abajo y guárdalo en tu carpeta “home” con el nombre de snespad.

#!/bin/sh
modprobe -r lp
modprobe gamecon map=0,1,0,0,0,0
modprobe gamecon gc=0,1

2. Abres una terminal y copias el archivo que acabas de crear al directorio /bin:

sudo cp snespad /bin

3. Ahora nos movemos a ese directorio, le damos permisos de ejecución y lo ejecutamos:

cd /bin
sudo chmod a+x snespad
sudo -s
./snespad

4. Listo!! Ahora puedes abrir tu emulador de Super Nintendo (yo utilizo ZSnes) y configurarlo para atienda las señales de tu nuevo control :D (Config -> Input -> Set Keys).

Esta configuración tiene un par de detalles a considerar:

- Digamos que también sueles conectar una impresora al puerto paralelo, estabas echando Super Bomberman 5 y llega tu hermanita pidiéndote que le imprimas algo. No podrías hacerlo ya que para hacer jalar tu control quitaste el soporte para impresión del puerto paralelo, entonces para volver a activar este servicio necesitas ejecutar en una terminal:

sudo modprobe lp

- Si el puerto paralelo nadamás lo vas a ocupar para conectarle el control de SNES, entonces lo más cómodo es que arranque de inicio con ese módulo cargado (de lo contrario tienes que correr ./snespad cada que inicies el sistema y quieras jugar). Entonces para que arranque de inicio ejecutas en una terminal:

sudo cp /bin/snespad /etc/init.d/snespad

Y listo, a jugar.

P.D. Me he dedicado también estos días a actualizar los Ubuntus (esto mediante el “Gestor de Actuallizaciones”) de la casa a la reciente versión 8.04 (Hardy Heron) y debo decir que fueron TOTALMENTE exitosas (no como cuando actualicé mi Edgy Eft a Feisty Fawn, que tenía variados mensajes de error), por lo cual invito a los que también tenían miedo como yo (como mi compadre el Fercho) a actualizar a la brevedad.

P.D.2 Me voy unos días a Puerto Vallarta con la familia de mi novia 8) , procuren no extrañarme tanto jaja.

Referencias:
Build Your Own SNES Adapter for Parallel Port.
HOWTO: Set Up a Parallel Port SNES Pad.


De AVI a DVD en Ubuntu.

Junio 24, 2008

Situación: Tienes una película común y corriente en formato .avi, la cual descargaste de un torrent o cualquier red p2p, como generalmente vienen en inglés, necesitas bajar los subtítulos por separado (yo los bajo de subdivx ;) ). Sin embargo ahora requieres grabar esa película en un DVD, por lo cual debes encontrar una manera de “incrustar” los subtítulos en la película y grabarla con buena calidad.

En mi caso mi suegro (hay que quedar bien con él) me pidió que le consiguiera un filme titulado “Peaceful Warrior” (que está masomenos entretenido a pesar que la trama gira alrededor de un gimnasta) y que se la grabara en un DVD, como nunca había hecho algo así (y mucho menos en Ubuntu), aquí me tienen contándoles mi experiencia y haciéndoles unas recomendaciones para librar este tipo de tareas sin muchos esfuerzos.

Solución: Básicamente hay 2 fases en este proceso, en la 1a “incrustas” los subtítulos en tu película .avi y en la 2a grabas el video en un DVD.

Subtítulos + Video.

Para la 1a etapa utilizo una aplicación llamada Avidemux (disponible a simples clickazos desde el Gestor de Paquetes Synaptic, ¿para qué complicarse?, luego por eso prefieren Windows jaja), en esta simplemente se tiene que seleccionar un codificador para el video (utilizaremos la DVD), después se da click en “Configure” para seleccionar las características de la codificación, en este paso es importante seleccionar “Two pass (filesize)” y es aquí donde definimos el tamaño que deseamos que tenga nuestra película, como debemos considerar que el tamaño del video crece cuando lo convertimos a MPEG (de eso hablo mas adelante), le daremos entre 700 MB y 1.5 GB de tamaño. Finalmente en el botón “Filters” se selecciona el filtro “subtitler” que ofrece la opción de cargar los subtítulos, escoger el tipo de fuente (en Ubuntu generalmente están en la ruta /usr/share/fonts), la codificación de los carácteres (es mejor no moverle a la ascii), el tamaño de la fuente (yo creo que 18 es suficiente), el color de la fuente (seguramente verdes quedarían pero perronas, el default es blanco) y finalmente la ubicación en pantalla de los subtítulos.

En mi caso utilicé otro filtro para agregarle bandas negras en la parte superior e inferior de la pantalla, para después agregar los subtítulos y ubicarlos dentro de la banda inferior, así no estaran estorbando en la pantalla ;) .

Finalmente vas al menú Archivo -> Guardar -> Guardar Video y esperarás alrededor de 2 horas (dependerá de la capacidad de tu equipo) para obtener tu nuevo video con subtítulos integrados, mientras tanto puedes irte a ver algún partido de la Euro (como el partidazo de hace unos días entre Portugal y Alemania, upa!!).

Creación y “quemado” de la imagen del DVD.

Teniendo nuestro nuevo video .avi, utilizamos DeVeDe (también disponible a clickazos del Synaptic) para convertirlo a MPEG (formato que generalmente leen los DVDs), crear la estructura del disco (separación de audio y video para crear los directorios AUDIO_TS y VIDEO_TS) y finalmente crear la imagen del DVD para después simplemente “quemarla”.

Para lograr esto abrimos DeVeDe, seleccionamos la opción de crear Video DVD y añadimos el video .avi que creamos anteriormente. En este paso es importante seleccionar NTSC en la codificación (la gran mayoría de los DVDs de México leen esta codificación, a menos que tengas uno importado de Europa, ahí sí podrías utilizar la PAL/SECAM) y verificar que el archivo resultante no sobrepasa el tamaño del DVD (generalmente 4.7 GB), de ser así puedes disminuir la tasa de video (bitrate) en el diálogo de propiedades hasta lograr que el video quede del tamaño necesario.

Habiendo hecho esto sólo falta picarle en “Adelante” y esperar pacientemente en lo que se completa todo el proceso (dura varias horas, aquí tarda como 3), mientras puedes irte de compras a la “Comer” o ver otro partido de la Euro.

Finalmente lo único que tienes que hacer es grabar la imagen .iso en un DVD, lo cual puedes hacer desde el mismo Nautilus desde las opciones de click-derecho ;) .

Espero que este mini-tutorial le ayude a más de uno, cualquier duda acá andamos.


Una asquerosa línea verde.

Mayo 27, 2008

Un post pequeño, así como el tiempo que dispongo.

Situación: Descargué “I Am Legend” (una película que realmente me emocionó en el cine) del BTJunkie la noche anterior. Hace rato me dispuse a darle una “mirada” (sólo para asegurarme que no era una de esas que graban en la misma sala de cine y que sale el clásico wey atravesándose o el wey gritando - Caaaaacarooooooooooo -) y descubrí una línea diagonal color verde-te-chingo-el-ojo que aparecía justo a la mitad de la pantalla durante tooda la duración de la película. Un verdadero problema ya que así no se puede disfrutar de un filme decentemente.

Solución: No sé si sea la “solución universal”, pero me funcionó descargar el VLC (reproductor multiplataforma, por si usas Windows, Mac OS, etc., yo uso Ubuntu) y ver la película con esta aplicación, el resultado fue un video sin alguna línea verde o cualquier otro desperfecto ;) .

Yo suelo usar el Totem ya que utiliza las librerías nativas del escritorio (GTK) a diferencia del VLC, por ejemplo, que recurre a las librerías wxWidgets. Sin embargo ahora es útil tener un reproductor como este por si el Totem me queda mal.

Hoy no veré la película ya que es muy noche, estoy solo y me va a dar taaanto miedito jaja.


Instalando el Java Media Framework (JMF) en Ubuntu.

Abril 15, 2008

Otro tema que no es la mar de impresionante, pero dada la poca información y asistencia que encontré, considero que es buena idea hablar al respecto.

El Java Media Framework es una librería de Java recientemente lanzada que nos permite manipular con considerable facilidad cualquier contenido multimedia (videos, música, imágenes, interacción con webcams y micrófonos) para integrarlo en cualquier aplicación. En este caso yo necesito de ella para integrar unos videos para un estúpido proyecto de Simulación. Sin más, detallo el proceso de instalación.

Prerrequisitos:

- Un lindo y amigable equipo con Ubuntu instalado.

- La versión más actual del Java Runtime Environment –JRE, el cual ya contiene la Máquina Virtual de Java– (el cual es el paquete sun-java6-jre, versión 6-03-ubuntu2).

- La versión más actual del Java Development Kit –JDK– (el cual es el paquete sun-java6-jdk, versión 6-03-ubuntu2).

Instalación:

Existen 2 maneras (o por lo menos sólo conozco 2, cualquier otra es bienvenida) de echar a andar este Framework, la 1a no me resultó a mí y sin embargo es la más difundida, por eso decidí con más razón postear sobre esto. En las 2 formas los pasos iniciales son idénticos, por eso hablaré del proceso común y al final de lo que distingue ambos métodos de instalación:

Proceso Común:

1. Descargar el JMF (obviamente la versión para Linux) de aquí.

2. Colocar el archivo descargado en tu carpeta home.

3. Abrir una terminal y escribir:

sh jmf-2_1_1e-linux-i586.bin

4. Escribir YES a todos los cuestionamientos y listo, tendrás una carpeta llamada JMF-2.1.1e en tu carpeta de home.

Método 1.

5. Abrir una terminal y escribir los siguientes comandos (esto da de alta las variables de entorno necesarias):

export JMFHOME=/home/tu_usuario/JMF-2.1.1e
export CLASSPATH=$JMFHOME/lib/jmf.jar:.:${CLASSPATH}
export LD_LIBRARY_PATH=$JMFHOME/lib:${LD_LIBRARY_PATH}

6. Listo. Consulta el siguiente applet para saber si tu instalación fue exitosa (el resultado óptimo debería decir: All Java Build - Native Libraries Found. Si tu instalación no fue exitosa puedes intentar en 2o método. Antes de hacerlo iguala las 3 variables de entorno anteriores a nada (es decir, por ejemplo, export JMFHOME= ).

Método 2.

5. Abre una terminal y escribe:

sudo nautilus

6. Dirígete a tu carpeta /usr/lib/jvm/java-6-sun/jre/lib/ext y dentro de ésta copia los archivos .jar que contenga tu carpeta /home/tu_usuario/JMF-2.1.1e/lib.

7. Dirígete a tu carpeta /usr/lib/jvm/java-6-sun/jre/lib/i386 y dentro de ésta copia los archivos .so que contenga tu carpeta /home/tu_usuario/JMF-2.1.1e/lib.

8. Reinicia tu sistema Ubuntu.

9. Listo. Consulta el siguiente applet para saber si tu instalación fue exitosa (el resultado óptimo debería decir: All Java Build - Native Libraries Found. Si tu instalación no fue exitosa puedes decir -Uh cañito!!- y pedirme ayuda. Gustosamente te atenderé a la brevedad posible.


Haciendo un cable Mini DIN-8 a DB-9 para un PLC.

Abril 7, 2008

Igual no es un tema de -WOW!! este wey se partió la madre por compartir esto-, sin embargo lo considero un tema válido para un post debido a las dificultades que tuve para encontrar esta información.

Se trata de la elaboración de un cable que en un extrema tenga un conector Mini DIN-8 y en el otro un conector DB-9, el cual es empleado en la conexión de una infinita variedad de dispositivos (generalmente dispositivos Mac con dispositivos de arquitectura i86), pero en este caso lo requería para conectar un PLC Allen-Bradley con una PC.

Debido a los diferentes usos que se le da a este cable, muchas veces es dificil distinguir la combinación de conexiones pin-a-pin que se deben realizar para este ejemplo (conexión con un PLC), yo me encontré por lo menos 4 combinaciones diferentes en mis búsquedas en Google, por esto considero una buena idea detallar el proceso de fabricación de este cable en específico.

Materiales:

- 1 conector Mini DIN-8 macho.

- 1 conector DB-9 hembra.

- La cantidad requerida de cable UTP Cat-5 (aunque geralmente con 1 metro basta).

Procedimiento:

Simple, simple. Pelar ambos extremos del cable. A continuación, pelar cada uno de los 8 cables del UTP (aunque en realidad sólo se emplean 6). Ya con el cable pelado (sin albur, claro), soldar CUIDADOSAMENTE (no es la mejor oportunidad para aprender a soldar) los cables al Mini DIN-8 y de ahi soldar sus correspodientes con el DB-9, esto siguiendo atentamente la siguiente tabla de conexiones.

Y ya, listo.