<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nand-magazine.net &#187; Software</title>
	<atom:link href="http://nand-magazine.net/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://nand-magazine.net</link>
	<description>Silicon Culture</description>
	<lastBuildDate>Thu, 02 Dec 2010 16:09:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Saques perfectos en Blobby Volleyball 2</title>
		<link>http://nand-magazine.net/2009/05/19/saques-perfectos-en-blobby-volleyball-2/</link>
		<comments>http://nand-magazine.net/2009/05/19/saques-perfectos-en-blobby-volleyball-2/#comments</comments>
		<pubDate>Tue, 19 May 2009 11:05:58 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Videojuegos]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/?p=424</guid>
		<description><![CDATA[Blobby Volleyball 2 es de esos juegos sencillitos, pero adictivos. Perfectos para matar el rato o descargar un poco de tensión cuando tienes poco tiempo. Hace tiempo que lo instalé y, de vez en cuando, me echo unas partiditas. Un día, me dio por comenzar a sacar hacia atrás. Sí, el juego deja sacar hacia [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sourceforge.net/projects/blobby/" title="Web oficial de descarga de Blobby Volleyball 2">Blobby Volleyball 2</a> es de esos juegos sencillitos, pero adictivos. Perfectos para matar el rato o descargar un poco de tensión cuando tienes poco tiempo.</p>
<p>Hace tiempo que lo instalé y, de vez en cuando, me echo unas partiditas. Un día, me dio por comenzar a sacar hacia atrás. Sí, el juego deja sacar hacia atrás y que la pelota rebote en el borde de la pantalla, siempre y cuando luego entre en el otro campo. Descubrí una posición desde la que, al sacar, haces punto directo, todo el tiempo. Probé con los distintos oponentes (de grados de dificultad distintos) y todos &#8220;caían&#8221; en la misma trampa. Éste es el punto exacto donde tenéis que colocaros (yo soy el rojo):</p>
<p><img class="center" src="http://nand-magazine.net/images/blobby2.gif" alt="Posición exacta de saque para ganar siempre en Blobby Volleyball 2" /></p>
<p>Y luego sólo os queda pulsar hacia arriba y ganar, ganar y ganar :-)</p>
<p>Podéis <a href="http://nand-magazine.net/store/blobby/blobby-2009-05-19.xml" title="Descarga la repetición de una partida de Blobby Volleyball 2">descargaros una repetición de una partida</a> mía para que veáis que no os miento. Para reproducir la partida, tenéis que guardar el fichero <code>xml</code> en la carpeta <code>/home/<em>usuario</em>/.blobby/replays/</code> y una vez dentro del juego vais a <em>Watch Replay</em> y la seleccionáis.</p>
<p>Por cierto, yo juego en Debian, pero está disponible para Linux en general, MacOS X y Windows. Aunque sabiendo este &#8220;truco&#8221;, ya pierde la gracia :-P</p>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2009/05/19/saques-perfectos-en-blobby-volleyball-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.04 en MSI Wind U100</title>
		<link>http://nand-magazine.net/2009/04/25/ubuntu-904-en-msi-wind-u100/</link>
		<comments>http://nand-magazine.net/2009/04/25/ubuntu-904-en-msi-wind-u100/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 20:10:11 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/?p=327</guid>
		<description><![CDATA[¿Cuántos tutoriales hay sobre esto mismo en la red? Aproximadamente&#8230; un montón. ¿Para qué, entonces, repetirse? Pues porque ésta es una receta a modo de recordatorio para cuando quiera volver a instalar Ubuntu en este ultra portátil y, de paso, si le sirve a algún otro usuario, matamos dos pájaros de un tiro :-) El [...]]]></description>
			<content:encoded><![CDATA[<p>¿Cuántos tutoriales hay sobre esto mismo en la red? Aproximadamente&#8230; un montón. ¿Para qué, entonces, repetirse? Pues porque ésta es una receta a modo de recordatorio para cuando quiera volver a instalar Ubuntu en este ultra portátil y, de paso, si le sirve a algún otro usuario, matamos dos pájaros de un tiro :-)</p>
<h2>El portátil</h2>
<p>Mucho se ha dicho ya de este portátil. Asus, con sus EeePC,  abrió la veda del mercado de los portátiles de bajo costo, fundamentalmente orientados a la movilidad (por su escaso precio y reducido tamaño) y la conectividad (la mayoría vienen con adaptadores de Bluetooth, Wi-Fi, Ethernet y, pocos aún, GPRS). Pronto le saldría una dura competencia: el MSI Wind. De éste último han salido varias versiones y clones, siendo el más popular en España el Medion Akoya Mini. Aquí os hablaré del original, y en concreto del modelo <strong>MSI Wind U100-013ES</strong>, el MSI con batería de 6 celdas y teclado español.</p>
<h3>Especificaciones técnicas destacables</h3>
<ul>
<li>Procesador: Intel® Atom® N270 1.6GHz</li>
<li>Chipsets: Intel® 945GSE+ICH7M</li>
<li>Memoria RAM: 1GB (DDR2 667)</li>
<li>Pantalla: LCD WSVGA de 10&#8243; a una resolución de 1024&#215;600.</li>
<li>Gráficos: Intel GMA 950 400 Mhz</li>
<li>Almacenamiento: disco duro SATA de 2.5&#8243; de 160 GB de Western Digital a 5400 RPM</li>
<li>Batería: 6 celdas (más de tres horas usando la Wi-Fi).</li>
<li>Peso: 1.3 kg</li>
<li>Webcam: 1.3 Mpx</li>
<li>Lector de tarjetas: 5-in-1, SD/MMC/MS/MSpro/xD. También soporta SD-HC.</li>
<li>Bluetooth.</li>
<li>Wireless: 802.11b/g/n Ralink RT2700E.</li>
<li>3 puertos USB</li>
<li>SO preinstalado: Windows XP Home con Service Pack 3. (esto más que destacable, es anecdótico&#8230;)</li>
</ul>
<h2>Ubuntu 9.04: Jaunty Jackalope</h2>
<p>Antes de nada, debo decir que este artículo lo tenía casi completo, pero dedicado a la Ubuntu 8.10. Sin embargo, entre mi retraso y el haber empezado a escribirlo cerca del lanzamiento de la última Ubuntu, pues me pilló el toro. De todos modos, dejaré algunas notas hacia el final del artículo para aquellos que la quieran instalar o la tengan instalada y no les funcione todo o quieran optimizar algunos aspectos.</p>
<p>¿Que por qué Ubuntu? El portátil es de mi hermano y siempre se acostumbró a manejarse con esta distribución. Ah, y es Linux ;-)</p>
<h3>Preparativos</h3>
<p>A la hora de instalar algún sistema operativo en este portátil nos preguntamos, ¿cómo hago para meter el CD/DVD si no tiene una unidad lectora? Amigos míos, la tecnología avanza y hay más maneras de hacer estas instalaciones: vía USB, a través de una tarjeta SD o incluso a través de red. Yo elegí el primer método: crear un USB arrancable con la Ubuntu 9.04. ¿Cómo es esto posible? Podríamos hacerlo a base de comandos (el amigo <em>dd</em> y compañía), pero hay programas que nos facilitan la vida, como es el caso de <strong>UNetbootin</strong> (<em>Universal Netboot Installer</em>), disponible tanto para Windows como Linux. Este programa nos permite grabar varias distribuciones de Linux/BSD en un dispositivo USB haciendo que el proceso de instalación sea el mismo, sólo que sin necesidad de usar un CD. El proceso es muy sencillo: Nos descargamos el programa desde <a href="http://unetbootin.sourceforge.net/" title="Web oficial de UNetbootin">su página web</a>. Hay paquetes para Debian/Ubuntu, así que, una vez descargado (también puede añadirse el repositorio) será cuestión de hacer: <span class="console"># dpkg -i unetbootin_301-6_i386.deb</span> (o la versión que te hayas descargado). Abrimos el programa como root (esto es importante, de otra manera, no se ejecutará) y veremos una ventana así:</p>
<p><img class="center" src="http://nand-magazine.net/images/unetbootin.jpg" alt="UNetbootin" /></p>
<p>Lo ideal (por ser más rápido) es que hayamos descargado la ISO de Ubuntu previamente para indicarle que la queremos usar. Elegimos el dispositivo USB y dejamos que trabaje. Después de unos minutos, podremos retirar el pendrive o disco duro y llevárnoslo a nuestro MSI Wind.</p>
<h3>Arrancando desde el USB</h3>
<p>Debemos indicarle a la BIOS que queremos arrancar desde un dispositivo conectado al MSI Wind por USB. Tenemos dos formas de configurarlo. La primera es cambiar el orden de arranque en la BIOS (a la que accedemos pulsando la tecla <kbd>Supr</kbd> al encender el portátil, cuando aparece el logo de MSI). Vamos al menú <em>Boot</em> y donde pone <em>Set Boot Priority</em> ponemos de primero el USB (<em>Boot Option #1 USB HardDisk</em>). Esto se consigue pulsando <kbd>Enter</kbd> y eligiendo el dispositivo que queremos.</p>
<p>La otra forma es más conveniente si sólo vamos a arrancar de USB una vez o muy de vez en cuando. Pulsamos, también al encender el portátil, la tecla <kbd>F11</kbd> y se nos presenta una pantalla que nos pregunta desde qué dispositivo queremos arrancar. Seleccionamos el pendrive USB.</p>
<h3>Instalación de Ubuntu</h3>
<p>Ubuntu se ejecutará en modo <em>live</em> y la instalación se realiza como viene siendo habitual. Pulsando el icono de Instalar que hay en el escritorio y siguiendo las instrucciones. No es el objetivo de este artículo el explicar con detalle la instalación de esta distribución. Lo único que hay que tener en cuenta es si queremos conservar la instalación de Windows (que viene por defecto) o mandarlo a paseo (total, sólo ocupa espacio :-P).</p>
<h3>Lo que funciona tras la instalación</h3>
<p>Cuando termina la instalación y nos pide reiniciar (acordaos de quitar el pendrive una vez que se encienda de nuevo el portátil) funcionan las siguientes cosas sin necesidad de configuración adicional:</p>
<ul>
<li>Adaptador de red Ethernet</li>
<li>Adaptador Wi-Fi RT2700E</li>
<li>Bluetooth</li>
<li>Altavoces</li>
<li>Micrófono</li>
<li>Webcam</li>
<li>La mayoría de teclas de función especiales (Fn+F1, etc.), salvo la de modo Turbo</li>
<li>Lectores USB</li>
<li>Lector de tarjetas 5 en 1.</li>
<li>Aceleración gráfica (Ubuntu activa por defecto los llamados <em>Efectos Visuales</em>).</li>
<li>Suspensión</li>
<li>Hibernación</li>
<li>Salida VGA</li>
</ul>
<h3>Wicd: gestor de red</h3>
<p>El gestor de red que trae por defecto Ubuntu (<em>network-manager</em>) no es muy completo y no siempre funciona bien. En Debian uso <strong>Wicd</strong> y es de lo mejor que he visto (¡y sencillo!), así que opté por ponerlo también en Ubuntu. Está incluido en los repositorios oficiale s (<em>universe</em>), así que bastará un <span class="console"># apt-get install wicd</span> para instalarlo. Cuando se termina de instalar (ojo, eliminará el <code>network-manager</code>, no os asustéis), el demonio de Wicd queda corriendo. El cliente, que es el que nos permitirá seleccionar la red que queremos y demás configuraciones, se llama <code>wicd-client</code>, pero ya lo tendremos colocado como un applet más en la barra de tareas, próximo al reloj. Vayamos a configurarlo para que se encargue de manejar nuestra tarjeta wifi. Doble clic sobre su icono y botón <em>Preferencias</em>:</p>
<p><img class="center" src="http://nand-magazine.net/images/wicd.jpg" alt="Wicd" /></p>
<p>En la pestaña <em>General Settings</em> seleccionamos <code>wext</code> como driver para el <em>WPA Supplicant</em> y en <em>Wireless Interface</em> ponemos <code>ra0</code>. Lo demás lo podemos dejar tal como muestra la captura:</p>
<p><img class="center" src="http://nand-magazine.net/images/wicd-preferences.jpg" alt="Preferencias de Wicd" /></p>
<h3>Optimizando la duración de la batería</h3>
<p>Una de las mejores características de este modelo es su batería de 6 celdas que, en condiciones muy óptimas, permite una autonomía superior a 4 horas (en las especificaciones hablan de más de 5). No he hecho pruebas muy exhaustivas por falta de tiempo (el portátil no lleva mucho tiempo en mi poder), pero puedo asegurar que, <strong>a media batería</strong>, conectado a Internet mediante Wi-Fi, viendo algún que otro vídeo, instalando paquetes, actualizando el sistema y con los efectos visuales de <em>Compiz</em> activados, <strong>ha durado unas 2 horas</strong>. Ahora trataremos de configurar Ubuntu para que dé el mejor rendimiento en todo tipo de situación.</p>
<h4>Escalado de frecuencia</h4>
<p>Esta técnica consiste en, cuando el procesador lo permite, variar la velocidad del reloj a la que va la CPU. Si no necesitamos mucho procesador, podemos disminuirla y conseguiremos mayor duración de la batería. Por el contrario, si queremos la máxima potencia, podremos subir la velocidad hasta el máximo que permita.</p>
<p><img class="right" src="http://nand-magazine.net/images/gnome-cpu-freq-monitor.jpg" alt="Monitor de frecuencia de GNOME" /><br />
Uno de los applets que incluye el GNOME que viene con Ubuntu es el de, precisamente, <em>Monitor de frecuencia de la CPU</em>. Para añadirlo al panel, pulsamos con el botón derecho del ratón sobre el panel y escojemos la opción <em>Añadir al panel</em> &rarr; <em>Monitor de frecuencia de la CPU</em>. Su uso es muy sencillo, bastante autoexplicativo. Tenéis un buen manual en la <a href="http://library.gnome.org/users/cpufreq-applet/2.24/cpufreq-applet-introduction.html.es" title="Biblioteca de documentación de GNOME sobre el Monitor de frecuencia de CPU">Biblioteca de documentación de GNOME</a>. Aquí sólo comentaré la existencia de los <em>governors</em> (gobernadores) que nos permiten escalar la frecuencia de modo dinámico, es decir, según las necesidades del equipo y/o usuario. </p>
<p>Los &#8220;gobernadores&#8221; son varios:</p>
<ul>
<li><em>Performance</em>: mantiene la CPU a la más alta frecuencia posible.</li>
<li><em>Powersave</em>: mantiene la CPU a la más baja frecuencia posible.</li>
<li><em>Userspace</em>: exporta la información sobre la frecuencia disponible a nivel de usuario y permite que la pueda cambiar.</li>
<li><em>Ondemand</em>: escala la frecuencia atendiendo al uso de CPU (como lo hace el userspace, pero en el kernel)</li>
<li><em>Conservative</em>: funciona como <em>ondemand</em>, pero incrementa la frecuencia paso a paso.</li>
</ul>
<p>Veamos qué nos permite el MSI Wind:</p>
<pre class="console">
$ more /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
1600000 1333000 1067000 800000
</pre>
<p>Con el anterior comando vemos las frecuencias a las que puede trabajar el procesador.</p>
<pre class="console">
$ more /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
convervative powersave ondemand userspace performance
</pre>
<p>Nos muestra los gobernadores disponibles.</p>
<p>Ahora que sabemos un poco más, ya se hace sencilla la configuración ideal para el <em>Monitor de frecuencia de CPU</em> del panel :-)</p>
<h4>Botón ECO-friendly</h4>
<p>Se activa al pulsar <kbd>Fn+F10</kbd> y sirve para optimizar la duración de la batería, ajustando el sistema para que consuma menos. Con el escalado de frecuencia tan manejable desde el escritorio de GNOME, no tiene sentido usarlo. No nos servirá ese botón, salvo en Windows.</p>
<p><img class="left" src="http://nand-magazine.net/images/gnome-power-options.jpg" alt="Opciones de energía" /></p>
<h4>Suspensión</h4>
<p>En este modo, la memoria RAM es el único componente que se mantiene alimentado. De esta forma, dado que el estado de los programas se mantiene en memoria, el usuario puede volver a lo que estaba haciendo rápidamente. Suspender debe utilizarse cuando vamos a estar poco tiempo sin usar el PC. Cuando queramos &#8220;despertar&#8221; de nuevo el equipo, sólo tenemos que pulsar el botón de encendido.</p>
<h4>Hibernación</h4>
<p>En este modo el contenido de la memoria se guarda en el disco duro, tras lo que el ordenador se apaga completamente. Al volver a iniciar el ordenador, el usuario se encuentra con todas las aplicaciones que tenía abiertas en el estado en el que se encontraban antes de hibernar. Hibernar debería utilizarse para períodos largos de inactividad, para consumir menos energía y para asegurarnos de no perder nuestros datos por algún corte de luz o porque el equipo se quede sin batería en el caso de un portátil.</p>
<p>Ambas opciones están disponibles al pulsar sobre el botón para apagar el equipo:</p>
<h3>Mejorando la legibilidad</h3>
<p>Aunque la resolución nativa, 1024&#215;600, es aceptable, podemos mejorar la experiencia de usuario reduciendo un poco el tamaño de las fuentes para que menús y ventanas no se hagan demasiado grandes. Os pongo un par de capturas para que veais cómo lo tengo yo:</p>
<p>Tamaño y suavizado de fuentes: <em>Sistema</em> &rarr; <em>Preferencias</em> &rarr; <em>Tipografía</em>.</p>
<p><img class="center" src="http://nand-magazine.net/images/fonts-ubuntu-msi.jpg" alt="Suavizado y tamaño de fuentes" /></p>
<p>Resolución de las fuentes de 96 a 83: <em>Sistema</em> &rarr; <em>Preferencias</em> &rarr; <em>Tipografía</em>, botón <em>Detalles</em>.</p>
<p><img class="center" src="http://nand-magazine.net/images/ubuntu-msi-fonts-resolution-from-96-to-83.jpg" alt="Resolución de las fuentes" /></p>
<h2>Ubuntu 8.10</h2>
<p>A continuación, tenéis detalles de la instalación de esta versión de Ubuntu en el portátil MSI Wind. Aunque, si podéis, metedle la 9.04 ya que el sistema arranca ¡tres veces más rápido!</p>
<h3>Lo que funciona tras la instalación</h3>
<p>Esto es todo lo que funciona sin necesidad de configuración adicional:</p>
<ul>
<li>Adaptador de red Ethernet</li>
<li>Altavoces</li>
<li>Micrófono</li>
<li>Webcam</li>
<li>La mayoría de teclas de función especiales (Fn+F1, etc.), salvo la de modo Turbo</li>
<li>Lectores USB</li>
<li>Lector de tarjetas 5 en 1.</li>
<li>Aceleración gráfica (Ubuntu activa por defecto los llamados <em>Efectos Visuales</em>).</li>
<li>Suspensión</li>
<li>Hibernación</li>
<li>Salida VGA</li>
</ul>
<h3>Adaptador Wi-Fi RT2700E</h3>
<p>La tarjeta Wi-Fi que incluye no está soportada por defecto por la versión 8.10 de Ubuntu, pero la solución es muy sencilla y un poquito de acción por nuestra parte nos vendrá bien porque si todo se configurase solito, qué aburrido sería :-P </p>
<p>Descargamos el driver para las RT2860 desde <a href="https://launchpad.net/%7Estgraber/+archive/+files/rt2860-source_1.8.0.0-0ubuntu1~ppa2_all.deb">aquí</a> (nos sirve para la RT2700E). El paquete nos hará la vida más fácil evitando que tengamos que compilar, cargar módulos, editar ficheros de configuración, etc. Pasad por la <a href="https://launchpad.net/~stgraber/+archive" title="PPA de Stéphane Graber">página del autor en Launchpad</a> para estar al día. Nos aseguramos de tener instalado el programa <code>dkms</code> (nos evitará tener que compilar y configurar el módulo para distintos kernels que tengamos: <span class="console"># apt-get install dkms</span>. Para instalar el driver, como cualquier paquete <code>.deb</code>: <span class="console"># dpkg -i rt2860-source_1.8.0.0-0ubuntu1~ppa2_all.deb</span>. Esperamos que realice todas las tareas (puede tardar un poco, ¡pero no matéis el proceso!). Una vez finalizado, vamos a configurar el gestor de red.</p>
<h3>Wicd</h3>
<p>No está incluido en los repositorios oficiales de esta versión de Ubuntu, pero podemos añadirlo (aunque se trata del de Hardy, la 8.04) como viene bien explicado en su <a href="http://wicd.sourceforge.net/download.php" title="Descarga de Wicd">página web</a>. Ya sabéis el proceso: añadir el repositorio al fichero <code>/etc/apt/sources.list</code>, hacer un <span class="console"># apt-get update</span> y finalmente <span class="console"># apt-get install wicd</span> para instalarlo.</p>
<p>El resto de instrucciones son compatibles con las de la versión 9.04.</p>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2009/04/25/ubuntu-904-en-msi-wind-u100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando el Wiimote en Debian</title>
		<link>http://nand-magazine.net/2008/11/15/usando-el-wiimote-en-debian/</link>
		<comments>http://nand-magazine.net/2008/11/15/usando-el-wiimote-en-debian/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 19:09:10 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/?p=238</guid>
		<description><![CDATA[Introducción Utilizar el mando de la Wii, el Wiimote, para manejar el ordenador, como si de otro dispositivo se tratase, no es algo nuevo. Desde hace casi un par de años, los usuarios de Windows tenían el GlovePIE. Sin embargo, no tardó mucho en aparecer una alternativa para sistemas GNU/Linux. He esperado hasta que el [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción</h2>
<p>Utilizar el mando de la Wii, el Wiimote, para manejar el ordenador, como si de otro dispositivo se tratase, no es algo nuevo. Desde hace casi un par de años, los usuarios de Windows tenían el <a href="http://carl.kenner.googlepages.com/glovepie" title="Página oficial del GlovePIE">GlovePIE</a>. Sin embargo, no tardó mucho en aparecer una alternativa para sistemas GNU/Linux. He esperado hasta que el proyecto ha adquirido un buen grado de madurez para poder ser usado sin demasiada complicación.</p>
<p><img class="center" src="http://nand-magazine.net/images/wiimote-linux2.jpg" alt="Wiimote es posible en Linux" /></p>
<p>Encontraréis un montón de tutoriales sobre esto mismo en la red. Sin embargo, he querido hacer uno donde recoja todo tipo de información y el usuario no tenga que navegar por más páginas cada vez que le asalte un nuevo problema.</p>
<p>No todo será tan fácil como instalar y usar, pero tampoco muy complicado para una persona atenta :-)</p>
<h2>WCiid: El Programa</h2>
<p>WCiid es el responsable de esta &#8220;magia&#8221;. En realidad no se trata de un solo programa. <strong>WCiid</strong> son un conjunto de programas:</p>
<ul>
<li><code>libcwiid</code>: es la biblioteca (API) que contiene las funciones para poder interactuar con el mando de la Wii.</li>
<li><code>wminput</code>: driver para controlar los eventos de Wiimote y usarlo para manejar el ratón, joystick, etc.</li>
<li><code>wmgui</code>: programa para comprobar el funcionamiento del Wiimote.</li>
</ul>
<h2>Instalación</h2>
<p>Quizás imaginas que ahora toca la parte de compilación y rompedura de cabeza. Pues no. Lo bueno es que tenemos todos estos programas disponibles en los repositorios <code>unstable</code> y <code>testing</code> (lenny) de Debian (en Ubuntu están disponibles en los repositorios desde la 7.10). Así que, para instalarlos, bastará un:</p>
<p><span class="console">#apt-get install libcwiid1 wminput wmgui</span></p>
<p>Y se instalará todo lo necesario, junto con sus dependencias.</p>
<h2>Configuración</h2>
<p>Lo cierto es que no es todo tan simple, todavía hay que hacer un poquito más antes de ver cómo el puntero del ratón se mueve mediante el Wiimote, pero es muy sencillo, ya verás.</p>
<h3>Módulo uinput</h3>
<p>La rama 2.6.x del kernel de Linux incorpora el driver <code>uinput</code>, que ayuda a los usuarios a inyectar datos al propio kernel. Esto es muy útil a la hora de crear aplicaciones para personalizar la entrada de dispositivos inalámbricos como pueden ser joysticks, teclados o el propio Wiimote.</p>
<p><code>Uinput</code> está configurado como módulo que se puede cargar en la mayoría de los kernel Linux. Así que para cargarlo tendremos que hacer, como root:</p>
<p><span class="console"># modprobe uinput</span></p>
<p>Esto lo tendremos que hacer cada vez que queramos usarlo. ¿Que nos parece un coñazo? No hay problema, podemos indicar que el sistema lo cargue por nosotros cada vez que arranque. Para ello, hay que añadirlo en el fichero <code>/etc/modules</code>:</p>
<pre class="console">
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

loop
sbp2
uinput # Aquí lo ponemos
</pre>
<h3>Bluetooth</h3>
<p><img class="right" src="http://nand-magazine.net/images/bluetooth-usb-adapter.jpg" alt="Adaptador USB de Bluetooth" /><br />
Este paso es fundamental. La comunicación entre la Wii y el Wiimote se hace a través del protocolo Bluetooth, así que nuestro equipo debe estar equipado para entenderlo o comprar algún adaptador de Bluetooth por USB que no cuestan más de 5 euros. Precisamente, el de la imagen de la derecha, es el que tengo (un poco aparatoso, sí, pero tenéis adaptadores &#8220;mini&#8221;).</p>
<p>Instalamos las herramientas necesarias para que el Bluetooth pueda comunicarse con el resto de dispositivos Bluetooth:</p>
<p><span class="console"># apt-get install bluez-utils</span></p>
<p>Si queremos hacer una comprobación de que nuestra interfaz de Bluetooth está funcionando, hacemos:</p>
<p><span class="console"># hciconfig</span></p>
<p>Veremos algo similar a esto:</p>
<pre class="console">
hci0:	Type: USB
	BD Address: 00:80:5A:46:9F:2D ACL MTU: 384:8 SCO MTU: 64:8
	UP RUNNING PSCAN ISCAN
	RX bytes:1559579 acl:64293 sco:0 events:198 errors:0
	TX bytes:2114 acl:75 sco:0 commands:77 errors:0
</pre>
<p>Para este ejemplo, <code>hci0</code> sería la interfaz de bluetooth.</p>
<p>Podemos seguir usando más programas incluidos en bluez-utils para, por ejemplo, buscar dispositivos que tengan activado el bluetooth:</p>
<pre class="console">
tempwin@nzxt-trinity:~$ hcitool scan
Scanning ...
	00:1A:89:7B:86:F6	             paatRi...[!]
	00:1E:35:19:A0:72 	Nintendo RVL-CNT-01
</pre>
<p>¡Anda! Si ahí tenemos el mando de Wii :-) Bueno, y también podríamos mandarle cosillas a Patri :-P</p>
<h3>wmgui</h3>
<p>Wmgui nos permite comprobar el funcionamiento del Wiimote. No es más que una interfaz donde se muestran los controles del mando y se van encendiendo a medida que se pulsan y otras cosillas. Podemos lanzarlo desde un terminal simplemente tecleando <span class="console">$ wmgui</span>. También lo tendréis en los menús de aplicaciones de vuestro gestor de escritorio favorito.</p>
<p><img class="center" src="http://nand-magazine.net/images/wmgui.jpg" alt="wmgui - Interfaz para comprobar el funcionamiento del Wiimote" /></p>
<p>Si vamos a <em>File</em> &rarr; <em>Connect</em> nos pedirá que pulsemos los botones <kbd>1</kbd> y <kbd>2</kbd> del mando para establecer la conexión entre el mando y el ordenador, igual que hacemos con la Wii. Sin soltarlos, pulsamos OK y, después de un rato, si todo va bien, podremos empezar a tocar botones del mando y ver cómo se iluminan en verde su correspondencia en la ventana del wmgui. Con este programa podemos hacer muchas más cosas: encender los LEDs azules del mando, hacer que vibre, etc. En el menú <em>Settings</em> podemos indicar de qué parte del mando queremos recibir información: <em>Acc Data</em>, <em>IR Data</em>, y <em>Ext Data</em>, para poder ver la información completa de los acelerómetros, del puntero y de las extensiones, respectivamente (por ejemplo, el Nunchuck). Y en el menú <em>Controls</em>, bueno, os lo dejo para que juguéis un poco :-)</p>
<h3>wminput</h3>
<p>Venga, ahora voy a lo interesante, que seguro que después de tanta parrafada ya no os quedan uñas que comer :-P</p>
<p>Wminput es el programa que nos permitirá mover el ratón con el mando de Wii y que podamos usar sus botones para determinadas acciones. Es muy probable (aunque puede no ser necesario) que tengamos que dar los permisos necesarios para que un usuario del sistema pueda usar el driver <code>uinput</code> (¿te acuerdas de él?). Editamos el fichero, como root, <code>/etc/udev/rules.d/91-permission.rules</code> (lee el manual que puede que en tu distribución cambie el nombre del fichero) y añadimos al final:</p>
<pre class="codigo">KERNEL=="uinput", GROUP="nuestro-usuario"</pre>
<p>Otra opción es escribir:</p>
<pre class="codigo">KERNEL=="uinput", MODE="0666"</pre>
<p>Reiniciamos <code>udev</code>:</p>
<p><span class="console"># /etc/init.d/udev restart</span></p>
<p>Y, ahora, vamos a hacer magia. En un terminal escribimos <span class="console">$ wminput -w</span>. Hacemos lo que nos indica: pulsamos los botones <kbd>1</kbd> y <kbd>2</kbd> hasta que aparezca <em>Ready</em>. Si inclinamos el mando&#8230; ¡el puntero se mueve! Espera, pero esto es un timo, estarás pensando. Da igual a donde apunte, que no me hace caso. Efectivamente, sólo están funcionando los acelerómetros del mando, pero no los infrarrojos. Tranquilidad :-)</p>
<p>Para que podamos usar los infrarrojos necesitamos la barra sensora de la Wii. Espera, ¿es que no hay más posibilidades? Por supuesto. Veamos, la barra sensora de la Wii no son más que dos grupos de LEDs situados a ambos lados que se iluminan y le dan una referencia al Wiimote y así poder saber dónde estamos apuntando. Esto lo podemos emular con dos puntos de luz que podemos conseguir comprando otros LEDs, con unas velas o mecheros, una linterna, etc. En mis experimentos he probado con la bombilla de la habitación (tiene que estar encendida, obviamente) y con un mechero. A diferencia de la barra sensora, el CWiid permite el uso de un sólo punto de luz, así que no tendréis que tener vuestro ordenador rodeado de velas como si de un santuario se tratase :-P</p>
<p>Cuando hayáis conseguido ese &#8220;punto de luz&#8221;, ejecutamos el wminput de esta otra manera:</p>
<p><span class="console">$ wminput -w -c ir_ptr</span></p>
<p>Hacemos lo mismo de antes y cuando veamos <em>Ready</em>, empezad a mover el mando, ¿a que ahora sí es más preciso? Pues ya sabéis lo necesario para que el Wiimote funcione como en la Wii, pero con vuestra Debian.</p>
<h2>Posibilidades del Wiimote</h2>
<p>¡Qué bien! Soy capaz de mover el ratón con el Wiimote. Pero, ¿qué utilidad tiene esto?, pensarás. Quizás lo que no sabías es que se pueden configurar los botones del mando para que ejecuten una acción determinada. Imagínate, jugar al Half-Life con el Wiimote o usarlo de mando a distancia, cambiar los canales de televisión, reproducir música, etc. Parece ahora algo más útil, ¿verdad?  ;-)</p>
<p>Los archivos de configuración del wminput se guardan en <code>/etc/cwiid/wminput/</code>. Dentro de él podremos ver ejemplos de posibles configuraciones para los mandos de la Wii. Lo bueno de todo esto es que podemos crear nuestros propios ficheros de configuración para poder usar el Wiimote como nos dé la gana. Estos ficheros de configuración tienen el siguiente aspecto:</p>
<pre class="codigo">
# Configuración para MPlayer

Wiimote.B       = KEY_ESC
Wiimote.A       = KEY_SPACE # Pausa
Wiimote.Up      = KEY_UP
Wiimote.Down    = KEY_DOWN
Wiimote.Left    = KEY_LEFT
Wiimote.Right   = KEY_RIGHT
Wiimote.Minus   = KEY_9 # Volume Down
Wiimote.Plus    = KEY_0 # Volume Up
Wiimote.Home    = KEY_F # Pantalla completa
Wiimote.1       = KEY_O # OSD
</pre>
<p>Como podemos ver, a la izquierda aparecen los nombres de los botones del Wiimote (descriptivos por sí mismos) y a la derecha la tecla que queremos emular. Por ejemplo, de acuerdo al fichero de arriba, si yo pulso el botón A del Wiimote, me pausará el vídeo que estoy reproduciendo con el MPlayer, que será lo mismo que pulsar la barra espaciadora del teclado.</p>
<p>Para usarlos, hay que llamar al wminput de esta otra manera:</p>
<p><span class="console">$ wminput -w -c ruta/al/archivo/de/configuración</span></p>
<p>Para saber qué nombre tiene cada tecla o botón del ratón, podemos echar un vistazo al fichero <code>/usr/include/linux/input.h</code>, se entiende perfectamente qué nombre se le da a cada tecla o evento del ratón. Os voy a poner algunos ejemplos más, además del que uso para el MPlayer:</p>
<p>Para los emuladores de SNES, como snes9x y ZSNES:</p>
<pre class="codigo">
# Configuración SNES

Wiimote.A       = KEY_X
Wiimote.B       = KEY_S
Wiimote.Up      = KEY_LEFT
Wiimote.Down    = KEY_RIGHT
Wiimote.Left    = KEY_DOWN
Wiimote.Right   = KEY_UP
Wiimote.Minus   = KEY_TAB
Wiimote.Plus    = KEY_ENTER
Wiimote.Home    = KEY_ESC
Wiimote.1       = KEY_C
Wiimote.2       = KEY_D
</pre>
<p>Para el emulador de recreativas por excelencia, MAME:</p>
<pre class="codigo">
# Configuración xMAME

Wiimote.A       = KEY_P         # Pausa
Wiimote.B       = KEY_5         # Credit
Wiimote.Up      = KEY_LEFT
Wiimote.Down    = KEY_RIGHT
Wiimote.Left    = KEY_DOWN
Wiimote.Right   = KEY_UP
Wiimote.Minus   = KEY_2         # Player 2
Wiimote.Plus    = KEY_1         # Start
Wiimote.Home    = KEY_ESC       # Salir
Wiimote.1       = KEY_LEFTCTRL  # Ctrl
Wiimote.2       = KEY_LEFTALT   # Alt
</pre>
<p>Espero que se vaya entendiendo la idea. Por supuesto, no sólo estamos limitados al Wiimote, también podemos configurar el Nunchuck o el mando clásico de Wii. El límite es tu imaginación :-)</p>
<h2>Enlaces relacionados</h2>
<ul>
<li><a href="http://abstrakraft.org/cwiid/" title="Web oficial de CWiid">Web oficial de WCiid</a></li>
<li><a href="https://help.ubuntu.com/community/CWiiD" title="Instrucciones para instalar CWiid en Ubuntu">Instrucciones para instalar CWiid en Ubuntu</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2008/11/15/usando-el-wiimote-en-debian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Backup Launcher 0.3 beta</title>
		<link>http://nand-magazine.net/2008/10/27/backup-launcher-03-beta/</link>
		<comments>http://nand-magazine.net/2008/10/27/backup-launcher-03-beta/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 11:17:39 +0000</pubDate>
		<dc:creator>Arxel</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Videojuegos]]></category>
		<category><![CDATA[Wii]]></category>
		<category><![CDATA[backup launcher]]></category>
		<category><![CDATA[cios]]></category>
		<category><![CDATA[dvdx]]></category>
		<category><![CDATA[homebrew channel]]></category>
		<category><![CDATA[wiigator]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/?p=219</guid>
		<description><![CDATA[Como TempWin comentaba en esta entrada acerca de la versión 0.1 del Backup Launcher, WiiGator estaba trabajando en la versión 0.3 del cargador. Esta nueva revisión implica una mayor compatibilidad, cargas más rápidas y la posibilidad de usar ISOs desencriptadas (sin parchear). A continuación os contaremos los pasos necesarios para hacerlo funcionar: 1. Hacer Twilight [...]]]></description>
			<content:encoded><![CDATA[<p>Como TempWin comentaba en esta <a href="http://nand-magazine.net/2008/10/25/dvd-backup-launcher-para-wii/">entrada</a> acerca de la versión 0.1 del Backup Launcher, WiiGator estaba trabajando en la versión 0.3 del cargador. Esta nueva revisión implica una mayor compatibilidad, cargas más rápidas y la posibilidad de usar ISOs desencriptadas (sin parchear). A continuación os contaremos los pasos necesarios para hacerlo funcionar:</p>
<h2>1. Hacer Twilight Hack e instalar Homebrew Channel</h2>
<p>Como probablemente ya hayáis hecho esto, podéis ir al siguiente paso. En caso contrario, tenéis un <a href="http://nand-magazine.net/2008/08/09/canal-homebrew-y-twilight-hack/">magnífico tutorial</a> en esta misma página.</p>
<h2>2. Desinstalar el cIOS viejo y DVDX</h2>
<p>En caso de haber usado anteriormente el Backup Loader de Waninkoko o el Launcher 0.1 de WiiGator, tendréis instalado un cIOS y el canal oculto DVDX. En caso contrario podéis pasar a la etapa 3. En teoría este paso no es necesario, pero mejor limpiar lo que ya no necesitamos. Para desinstalar el cIOS tenéis que cargar el WAD Manager desde el HBC, seleccionar el archivo correspondiente al cIOS (probablemente sea <code>CIOS36_rev5-64-v1042.wad</code>) y pulsar &#8211; en el Wiimote. Tras reiniciar pulsando HOME, volvemos al HBC y ejecutamos el DVDX. Una vez dentro elegimos la opción de Uninstall.</p>
<h2>3. Instalar el nuevo cIOS</h2>
<p>Copiamos el ejecutable que viene dentro de este <a href="http://nand-magazine.net/store/wii-homebrew/cios_installer_read_retry.zip">paquetito</a> dentro de una carpeta que resida en <code>/apps</code> de nuestra SD (renombrando a <code>boot.dol</code> como siempre) y lo lanzamos desde el HBC. Nos pedirá que pulsemos A y empezará a descargarse archivos vía WiFi. Si no podéis conectaros de esta forma o en caso de que un salga un error estilo <code>CODE DUMP</code> (como a mí me ocurrió), debéis extraer <a href="http://nand-magazine.net/store/wii-homebrew/IOS36_files_from_WiiGator.zip">este zip</a> en la carpeta <code>/00000001/00000024/v1042</code> de vuestra SD. Hecho esto, tomará los archivos necesarios de la tarjeta e instalará el cIOS.</p>
<h2>4. Ejecutar el nuevo Launcher</h2>
<p>Instalamos el <a href="http://nand-magazine.net/store/wii-homebrew/backuplauncher0.3_beta.tgz">Launcher</a> y lo ejecutamos como siempre. Recordad que soporta tanto ISOs parcheadas (desencriptadas con BackupCreator o ExtractPartition) como imágenes 1:1. Estas últimas se supone que tienen una mayor compatibilidad.</p>
<h2>Lista de compatibilidad</h2>
<table class="compat" summary="Lista de compatibilidad del Backup Launcher 0.3b para Wii">
<caption>Lista de compatibilidad del Backup Launcher 0.3b para Wii [ 05/11/2008 ]</caption>
<tr>
<th width="20%">Título</th>
<th>Región</th>
<th>ISO</th>
<th><acronym title="Versión del Backup Launcher">v.BL</acronym></th>
<th width="20%">Soporte/Software</th>
<th>Comentarios</th>
</tr>
<tr>
<td class="alt">Boom Blox</td>
<td>PAL</td>
<td>Copia 1:1</td>
<td>WiiGator 0.3b</td>
<td>DVD-R TDK 1-16x a 2x / ImgBurn</td>
<td>Perfecto.</td>
</tr>
<tr>
<td>Geometry Wars: Galaxies</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R TDK 1-16x a 2x / ImgBurn</td>
<td>Perfecto</td>
</tr>
<tr>
<td class="alt">Mario &#038; Sonic En Los Juegos Olímpicos</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R TDK 1-16x a 2x / ImgBurn</td>
<td>Ha dejado de funcionar, salta un mensaje para que pulsemos EJECT y apaguemos la consola.</td>
</tr>
<tr>
<td>Mario Party 8</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R TDK 1-16x a 4x / ImgBurn</td>
<td>Perfectamente jugable, las cargas ya no son tan irritantes.</td>
</tr>
<tr>
<td class="alt">Mario Kart Wii</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R TDK 1-16x a 2x / Nero</td>
<td>Totalmente jugable, incluso el modo Online.</td>
</tr>
<tr>
<td>No More Heroes</td>
<td>NTSC convertida a PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R Verbatim 1-16x a 8x / K3b</td>
<td>No funciona. Al cargarlo el lanzador, se queda la pantalla en verde y la consola se cuelga.</td>
</tr>
<tr>
<td class="alt">Resident Evil 4: Wii Edition</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R TDK 1-16x a 2x / ImgBurn</td>
<td>Perfecto</td>
</tr>
<tr>
<td>Pro Evolution Soccer 2008</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R TDK 1-16x a 2x / ImgBurn <br />DVD-R Verbatim a 8x / K3b</td>
<td>Perfectamente jugable; el vídeo de la intro va bastante mejor que antes.</td>
</tr>
<tr class="alt">
<td>Super Mario Galaxy</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R Verbatim 1-16x a 8x / K3b</td>
<td>Funciona casi perfecto. Ya no es necesario usar una partida guardada para evitar que se cuelgue al principio del juego.</td>
</tr>
<tr>
<td>The Legend of Zelda: Twilight Princess</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R Verbatim 1-16x a 8x / K3b</td>
<td>Meh. El lanzador no lo carga</td>
</tr>
<tr>
<td class="alt">Trauma Center: New Blood</td>
<td>PAL</td>
<td>Desencriptada</td>
<td>WiiGator 0.3b</td>
<td>DVD-R Verbatim 1-16x a 4x / ImgBurn</td>
<td>Perfecto salvo algunas escenas de vídeo donde se corta un poco el sonido</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2008/10/27/backup-launcher-03-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DVD Backup Launcher para Wii</title>
		<link>http://nand-magazine.net/2008/10/25/dvd-backup-launcher-para-wii/</link>
		<comments>http://nand-magazine.net/2008/10/25/dvd-backup-launcher-para-wii/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 16:29:12 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Videojuegos]]></category>
		<category><![CDATA[Wii]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/?p=174</guid>
		<description><![CDATA[Hace muy poco, publicamos una guía sobre cómo usar el DVD Backup Loader de Waninkoko para cargar copias de seguridad en Wii sin chip. Hablábamos de que se trataba de una versión filtrada (supuestamente) sin el consentimiento del autor y que, debido a esto, el propio creador había abandonado el proyecto tras su enfado. Bien, [...]]]></description>
			<content:encoded><![CDATA[<p>Hace muy poco, publicamos una guía sobre <a href="http://nand-magazine.net/2008/09/25/dvd-backup-loader-para-wii">cómo usar el DVD Backup Loader</a> de Waninkoko para cargar copias de seguridad en Wii sin chip. Hablábamos de que se trataba de una versión filtrada (supuestamente) sin el consentimiento del autor y que, debido a esto, el propio creador había abandonado el proyecto tras su enfado.</p>
<p>Bien, pues la buena noticia es que otro personaje llamado <em>Wiigator</em> se ha sacado de la manga ¡su propio cargador de DVDs para Wii! Y lo mejor de todo es que es <strong>código abierto</strong>, así que, si algún día le da por abandonar el proyecto, el código estará disponible para todo aquel que quiera retomarlo, mejorarlo, etc.</p>
<p>Esta guía es casi exacta a la del DVD Backup Loader, pues el método de instalación es casi igual. De todos modos, aquí queda escrita:</p>
<h2>Instalar el Canal Homebrew</h2>
<p>Para no repetirnos, es mejor que leais el tutorial sobre <a href="http://nand-magazine.net/2008/08/09/canal-homebrew-y-twilight-hack/">cómo instalarlo</a>. Es muy importante también que aprendáis <a href="http://nand-magazine.net/2008/08/09/canal-homebrew-y-twilight-hack#homebrew">cómo meter y cargar aplicaciones</a> en la Wii a través de dicho canal.</p>
<h2>Instalar el <em>wad</em> del <em>Custom IOS</em></h2>
<p>Para ello necesitáis tener el <a href="http://nand-magazine.net/store/wii-homebrew/cios_fix.wad">cIOS</a> (ojo, esta es una versión arreglada del antiguo cIOS) en la carpeta <code>wad</code> situada en la raíz de la tarjeta SD. A continuación cargamos el <a href="http://nand-magazine.net/store/wii-homebrew/WAD-Manager_v1.21.zip">WAD Manager</a> desde el Homebrew Channel de la manera habitual. Una vez dentro, aparecerá una pantalla con letras blancas en fondo negro. Pulsamos el botón A. Elegimos como dispositivo fuente el slot SD (pulsamos A). Si el cIOS está en el lugar correcto debería aparecernos debajo de <code>'Available files on the device'</code>. Seleccionamos <code>cios_fix.wad</code> (probablemente ya está marcado) y pulsamos + para instalar y A para aceptar. Reiniciamos la consola con HOME.</p>
<h2>Instalar el <em>Custom IOS</em></h2>
<p>Volvemos al Homebrew Channel y lanzamos esta vez el <a href="http://nand-magazine.net/store/wii-homebrew/dvdx.zip">DVDX</a> que tendríamos que haber copiado ya a la SD (remember: una subcarpeta dentro de la carpeta <code>apps</code> en la raíz de la SD y cambiándole el nombre a <em>boot.dol</em>). En el menú que aparece elegimos <code>Advanced Install</code>. A continuación en el apartado <code>IOS</code> elegimos (mediante la cruceta digital) <code>IOS249</code> y le damos a <code>Install</code>. Reiniciamos la consola.</p>
<h2>Modificar la ISO del juego</h2>
<p><strong>AVISO:</strong> Se está trabajando en una próxima versión que leerá ISOs sin necesidad de hacer este proceso, así que conservad también la copia &#8220;virgen&#8221;, por si acaso. </p>
<p>Este paso requiere la <em>common-key</em> de Wii que podéis descargar desde <a href="http://nand-magazine.net/store/wii-homebrew/key.bin">aquí</a> y el programa <a href="http://nand-magazine.net/store/wii-homebrew/backup-creator.exe">Backup Creator</a>. Wiigator tiene su propio programa, llamado <em>ExtractPartition</em> (para <a href="http://nand-magazine.net/store/wii-homebrew/extractpartition-win.zip">Windows</a>, <a href="http://nand-magazine.net/store/wii-homebrew/extractpartition-mac">Mac</a> y <a href="http://nand-magazine.net/store/wii-homebrew/extractpartition-linux">Linux</a>), podéis usar los dos que sirven para lo mismo. </p>
<p>Vamos con el uso del Backup Creator en sistemas Windows:</p>
<p>La <em>common-key</em> (archivo <code>key.bin</code>), el <em>Backup Creator</em> (<code>backup-creator.exe</code>) y la ISO de Wii (con un nombre &#8216;normal&#8217;, i.e. sin caracteres raros ni espacios) han de estar en el mismo directorio. Hecho esto, abrimos una ventana de &#8216;DOS&#8217; haciendo <strong>Inicio &#8594; Ejecutar &#8594; &#8216;<code>cmd</code>&#8216;</strong> (sin las comillas) y nos movemos al directorio donde tengamos todo (mediante <code>cd</code>). Una vez dentro, escribimos <code>backup-creator.exe [nombredelaiso]</code>, donde <code>[nombredelaiso]</code> es el nombre del fichero ISO en cuestión. Tras unos minutos, aparecerá en el mismo lugar una nueva ISO, llamada <em>partition.iso</em> que es la que tendremos que grabar.</p>
<p>En sistemas GNU/Linux:</p>
<p>Apoyándonos en el uso del WINE (y siguiendo las indicaciones de más arriba), tecleamos:</p>
<pre class="console">
tempwin@nzxt-trinity:~/games/wii/$ wine backup-creator.exe nomoreheroes.iso
[+] Creating backup ISO, please wait...
    ISO size: 4219.625 MB

    Backup ISO created successfully!

[+] Press any key to exit...
</pre>
<h2>Grabar <em>partition.iso</em></h2>
<p>Grabar la imagen resultante del paso anterior con vuestro programa favorito. Personalmente, he usado <a href="http://k3b.plainblack.com/">K3b</a> y ha funcionado perfectamente, pero debería de valer cualquiera de los que uséis en vuestra plataforma (Alcohol, Nero, etc.). Un tema más delicado es qué medio de almacenamiento usar y a qué velocidad grabar. <em><strong>Arxel</strong></em> comenta que no es buena idea usar DVD+R (al parecer si cambias el booktype funciona) ya que el 100% de sus pruebas han fallado. Con DVD-R ninguno hemos tenido problemas. Yo uso Verbatim y puedo grabarlos a 8x.</p>
<h2>Lanzar el DVD Backup Launcher</h2>
<p>De nuevo en el Homebrew Channel, y tras haber copiado <a href="http://nand-magazine.net/store/wii-homebrew/backuplauncher-v0.1.dol">el archivo Backup Launcher</a> a la SD, lanzamos el <em>Backup Launcher</em>. Aparecerá un menú bastante auto explicativo. No queda más que meter el DVD, tocar algunas opciones (si queremos), pulsamos A y empezará a cargar.</p>
<h2>Jugar ;-)</h2>
<p>Hay que decir que este método hace que el lector funcione a velocidad 3x (cuando lo normal es 6x), por lo que los vídeos irán a saltos y más lentos de lo normal y las cargas serán algo más largas, lo cual no suele ser inconveniente para disfrutar de la mayoría de los títulos.</p>
<p>Como ya avisaba, se está trabajando en una versión 0.3 que promete leer ISOs tanto modificadas (con programas como Backup Creator) como sin modificar, además de mejorar la velocidad de lectura. Una muestra <a href="http://www.veoh.com/videos/v16290942FhfBbDSy" title="Comparación de versiones de cargadores frente a juego original">aquí</a> (vídeo Flash). Estén atentos a sus pantallas :-)</p>
<h2>Lista de compatibilidad</h2>
<p>A continuación podréis ver una tabla donde se muestran los resultados de nuestros experimentos. Las pruebas han sido realizadas con tres Wii, con versiones del firmware diferentes, para que veais que no depende.</p>
<table class="compat" summary="Lista de compatibilidad del DVD Backup Loader/Launcher para Wii">
<caption>Lista de compatibilidad del DVD Backup Loader/Launcher para Wii [ 26/10/2008 ]</caption>
<tr>
<th width="20%">Título</th>
<th>Región</th>
<th>ISO</th>
<th><acronym title="Versión del DVD Backup Loader">v.DBL</acronym></th>
<th width="20%">Soporte/Software</th>
<th>Comentarios</th>
</tr>
<tr>
<td class="alt">Bleach: The Shattered Battle</td>
<td>PAL</td>
<td>-</td>
<td>Filtrada Waninkoko</td>
<td>DVD-R Fujifilm a 2x / Nero</td>
<td>Jugable, pero adolece de gran cantidad de cargas de bastante duración.</td>
</tr>
<tr>
<td>Mario &#038; Sonic En Los Juegos Olímpicos</td>
<td>PAL</td>
<td>Original</td>
<td>Ciper Launcher 0.2</td>
<td>DVD-R TDK 1-16x a 2x / ImgBurn</td>
<td>Perfectamente jugable aunque la primera carga y las que hay antes de cada evento se hacen bastante largas.</td>
</tr>
<tr>
<td class="alt">Mario Party 8</td>
<td>PAL</td>
<td>-</td>
<td>Ciper Launcher 0.2</td>
<td>DVD-R TDK 1-16x a 4x / ImgBurn</td>
<td>Perfectamente jugable, a pesar de algunas cargas lentas al iniciar y antes de cada minijuego</td>
</tr>
<tr>
<td>Mario Kart Wii</td>
<td>PAL</td>
<td>Original</td>
<td>- Filtrada Waninkoko<br />- WiiGator Launcher 0.1 + Fixed cIOS</td>
<td>DVD-R TDK 1-16x a 2x / Nero</td>
<td>- Se cuelga después de la primera carrera en el modo Grand Prix. Se cuelga después de elegir circuito en el modo Online. El resto de modos parecen funcionar.<br />- El modo Grand Prix funciona totalmente. El Online pierde la conexión antes de empezar. El resto sigue funcionando.</td>
</tr>
<tr>
<td class="alt">No More Heroes</td>
<td>NTSC</td>
<td>Scrubbed</td>
<td>Filtrada Waninkoko</td>
<td>DVD-R Verbatim a 2x / K3b</td>
<td>Jugable. Cargas lentas e interrupciones en las escenas de vídeo a causa de la limitación de la velocidad de lectura.</td>
</tr>
<tr>
<td>Pro Evolution Soccer 2008</td>
<td>PAL</td>
<td>Scrubbed</td>
<td>Filtrada Waninkoko</td>
<td>DVD-R TDK 1-16x a 2x / ImgBurn <br />DVD-R Verbatim a 8x / K3b</td>
<td>Perfectamente jugable; el vídeo de la intro va lento y a saltos.</td>
</tr>
<tr>
<td class="alt">Red Steel</td>
<td>PAL</td>
<td>-</td>
<td>Filtrada Waninkoko</td>
<td>DVD-R DataMax a 2x / Nero</td>
<td>Injugable. Se queda colgado en la primera pantalla al cargar.</td>
</tr>
<tr>
<td>Super Mario Galaxy</td>
<td>PAL</td>
<td>-</td>
<td>Wiigator Launcher 0.1 + fixed cIOS</td>
<td>Funciona con los problemas típicos de los cargadores. Es necesario usar <a href="http://nand-magazine.net/store/wii-homebrew/super-mario-galaxy-save-state.zip" title="Partida guardada del Super Mario Galaxy">una partida guardada</a> para saltarse la zona de la plaza del inicio del juego, donde se queda colgado.</td>
</tr>
<tr>
<td class="alt">The Legend of Zelda: The Twilight Princess</td>
<td>PAL</td>
<td>-</td>
<td>Filtrada Waninkoko</td>
<td>DVD-R Verbatim a 8x / K3b</td>
<td>Se juega perfectamente a pesar de los cortes en el audio y las cargas debidas a la baja velocidad de lectura</td>
</tr>
</table>
<p><em>*More as it comes&#8230;*</em></p>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2008/10/25/dvd-backup-launcher-para-wii/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>nullDC en GNU/Linux con WINE</title>
		<link>http://nand-magazine.net/2008/07/07/nulldc-en-gnulinux-con-wine/</link>
		<comments>http://nand-magazine.net/2008/07/07/nulldc-en-gnulinux-con-wine/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 16:56:12 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[Emulación]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Retro]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Videojuegos]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/?p=94</guid>
		<description><![CDATA[Dreamcast es una de las consolas a las que más cariño tengo. Todavía la conservo, pero el lector ya está en las últimas y cuesta un mundo que lea algún juego. Desde hace tiempo le sigo la pista a la emulación de Dreamcast, pero todo lo que salía era para Windows. Desde hace no mucho, [...]]]></description>
			<content:encoded><![CDATA[<p>Dreamcast es una de las consolas a las que más cariño tengo. Todavía la conservo, pero el lector ya está en las últimas y cuesta un mundo que lea algún juego. Desde hace tiempo le sigo la pista a la emulación de Dreamcast, pero todo lo que salía era para Windows. Desde hace no mucho, tenemos un prometedor emulador para GNU/Linux, <a href="http://www.lxdream.org/" title="Emulador de Dreamcast para GNU/Linux">lxdream</a>, pero está en fase muy temprana de desarrollo y la lista de compatibilidad es muy reducida.</p>
<p>Como estos días ando probando bastante WINE para poder abandonar Cedega a la hora de jugar a videojuegos de Windows en GNU/Linux, me pregunté: hey, ¿y <strong>si probamos nullDC con WINE</strong>? Pues lee, lee, que funciona :-)</p>
<h2>nullDC: El emulador</h2>
<p>Se trata de un emulador gratuito para Windows que tiene poco más de un año de vida. La lista de compatibilidad es bastante grande, casi como la del <a href="http://chanka.emulatronia.com/" title="Web oficial de Chankast">Chankast</a> (emulador de Dreamcast también para Windows) aunque la emulación parece más conseguida.</p>
<p>Podemos descargarlo desde <a href="http://forums.ngemu.com/nulldc-discussion/" title="Foro y hogar del emulador nullDC">aquí</a>. Lo que está escrito en este artículo ha sido probado con la versión <a href="http://www.emudev.org/nullDC/">1.0.0 beta 1.6</a>.</p>
<p>Lo descomprimimos donde queramos (debemos tener instalado el paquete <code>unrar</code>).</p>
<p>Necesitamos la bios de la Dreamcast que podéis descargar desde <a href="http://nand-magazine.net/store/dc-bios.zip">aquí</a> [ ZIP - 1 MB ]. Debemos meter los dos archivos (<code>dc_bios.bin</code> y <code>dc_flash.bin</code>) en la carpeta <code>Data</code>.</p>
<h2>Una copa de vino</h2>
<p>La instalación de Wine desde repositorios es muy sencilla. Si tienes la suerte de tener instalada alguna distribución basada en Debian, te basta con escribir en un terminal: <span class="console"># apt-get install wine</span>.</p>
<p>Ahora necesitaremos varias bibliotecas que usa nullDC. Las últimas de Visual C++ (<code>msvcp80.dll</code> y <code>msvcr80.dll</code>) y de DirectX 9 (<code>d3dx9_35.dll</code>). Podéis buscarlas por la red y luego colocarlas en <code>~/.wine/drive_c/windows/system32</code>. Pero hay una forma más fácil y automática de hacer todo eso: <a href="http://wiki.winehq.org/winetricks" title="Winetricks">winetricks</a>. Se trata de un <em>script</em> que se ocupa de descargar y configurar las bibliotecas más populares necesarias para la ejecución de ciertos programas de Windows en GNU/Linux con WINE.</p>
<p>Nos colocamos en un directorio que queramos y, desde un terminal, descargamos el script mediante: <span class="console">$ wget http://www.kegel.com/wine/winetricks</span>. Y ahora lo ejecutamos (hay que tener conexión a Internet, obviamente) pasándole los paquetes que necesitamos: <span class="console">$ sh winetricks directx9 vcrun2005</span>. Lo próximo que hay que hacer es aceptar en las ventanas que se abran y listo, quedará todo instalado y configurado :-)</p>
<h2>WINE + nullDC</h2>
<p>Abrimos un terminal y, en la carpeta donde hemos descomprimido nullDC, escribimos: <span class="console">$ wine nullDC_100b1_6.exe</span>. ¿Esperabas algo más? :-)</p>
<p>Puedes descargarte juegos para Dreamcast hechos por fans desde <a href="http://www.boob.co.uk/games.html">esta web</a>. Para juegos comerciales, redes P2P. Que sí, que funcionan:</p>
<p><a href="http://www.flickr.com/photos/tempwin/2645930955/sizes/o/" title="Daytona USA 2001 a mayor resolución"><img class="center" src="http://nand-magazine.net/images/nulldc-daytona_th.jpg" alt="Daytona USA 2001" /></a></p>
<p><a href="http://www.flickr.com/photos/tempwin/2645930963/sizes/o/" title="Soul Calibur a mayor resolución"><img class="center" src="http://nand-magazine.net/images/nulldc-soul-calibur_th.jpg" alt="Soul Calibur" /></a></p>
<p><a href="http://www.flickr.com/photos/tempwin/2645930961/sizes/o/" title="Sonic Adventure a mayor resolución"><img class="center" src="http://nand-magazine.net/images/nulldc-sonic-adventure_th.jpg" alt="Sonic Adventure" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2008/07/07/nulldc-en-gnulinux-con-wine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Splitvt, divide la consola</title>
		<link>http://nand-magazine.net/2008/03/02/splitvt-divide-la-consola/</link>
		<comments>http://nand-magazine.net/2008/03/02/splitvt-divide-la-consola/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 00:06:07 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Terminalitis]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/2008/03/02/splitvt-divide-la-consola/</guid>
		<description><![CDATA[Inauguramos nueva sección: Terminalitis. Bajo esta categoría se almacenarán artículos sobre trucos o programas que sacan partido de la bendita línea de comandos. Programas sólo para consola. Para enfermos de las &#8220;no ventanas&#8221; :-P Como primera estrella, hablaremos de splitvt. Qué es splitvt es un programa que permite tener abiertas dos consolas, dos intérpretes de [...]]]></description>
			<content:encoded><![CDATA[<p>Inauguramos nueva sección: <strong>Terminalitis</strong>. Bajo esta categoría se almacenarán artículos sobre trucos o programas que sacan partido de la bendita línea de comandos. Programas sólo para consola. Para enfermos de las &#8220;no ventanas&#8221; :-P</p>
<p>Como primera estrella, hablaremos de <strong>splitvt</strong>.</p>
<h2>Qué es</h2>
<p><strong>splitvt</strong> es un programa que permite tener abiertas dos consolas, dos intérpretes de comandos, en una misma ventana. Para ello, divide la ventana actual (o terminal) en dos partes con una consola en la parte superior y otra debajo:</p>
<p><img class="center" src="http://nand-magazine.net/images/splitvt.jpg" alt="Splitvt" title="Splitvt" /></p>
<p>Es muy útil cuando estamos en entornos sin servidor gráfico y queremos modificar algún archivo mientras consultamos otro. Por ejemplo, programando o editando ficheros de configuración mientras leemos el manual.</p>
<h2>Instalación</h2>
<p>Vaya usted a su gestor de paquetes favoritos e instálelo desde ahí. ¿Usa Debian o derivados? <code class="console">$sudo apt-get install splitvt</code> y listo.</p>
<h2>Cómo se usa</h2>
<p>Desde un terminal tecleamos <code>splitvt</code> y la ventana se dividirá en dos. Será como si tuviésemos dos terminales abiertos. Para pasar de uno a otro, usamos la combinación de teclas <kbd>Ctrl</kbd>+<kbd>w</kbd>.</p>
<p>Aquí tenemos un problema con esta combinación de teclado, ya que en el editor <code>nano</code> sirve para realizar búsquedas. Con lo cual es buen momento para aprender a usar <code>vi</code> ;-)</p>
<p>Con la combinación <kbd>Ctrl</kbd>+<kbd>o</kbd>, entraremos en modo comando. En el manual (<code class="console">$man splitvt</code>) podéis encontrar todas las opciones. Aquí destacaremos un par de ellas:</p>
<p><kbd>Ctrl</kbd>+<kbd>o</kbd> y después <kbd>x</kbd> permite bloquear las consolas con una contraseña. Nos pedirá que introduzcamos una contraseña dos veces y la ventana quedará bloqueada hasta que introduzcamos la contraseña correcta.</p>
<p><kbd>Ctrl</kbd>+<kbd>o</kbd> y después <kbd>q</kbd> permite cerrar splitvt de forma rápida (en lugar de teclear <code>exit</code> en cada terminal hasta salir).</p>
<p>Split! :-P</p>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2008/03/02/splitvt-divide-la-consola/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conversión de vídeos para iPod en Debian</title>
		<link>http://nand-magazine.net/2008/01/02/conversion-de-videos-para-ipod-en-debian/</link>
		<comments>http://nand-magazine.net/2008/01/02/conversion-de-videos-para-ipod-en-debian/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 19:22:51 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/2008/01/02/conversion-de-videos-para-ipod-en-debian/</guid>
		<description><![CDATA[Atención porque empieza, lo que seguro será, una larga serie de tutoriales dedicados a productos de la manzanita. ¿Por qué? Arxel ya presumía de su iPod Touch y yo tengo en mis manos un iPod Classic (si es que no me lo merezco). Como nos gusta comentar y compartir aquellas cosas que vamos aprendiendo y [...]]]></description>
			<content:encoded><![CDATA[<p>Atención porque empieza, lo que seguro será, una larga serie de tutoriales dedicados a productos de la manzanita. ¿Por qué? <em>Arxel</em> ya presumía de su <a href="http://www.apple.com/es/ipodtouch/">iPod Touch</a> y yo tengo en mis manos un <a href="http://www.apple.com/es/ipodclassic/">iPod Classic</a> (si es que no me lo merezco). Como nos gusta comentar y compartir aquellas cosas que vamos aprendiendo y nos resultan útiles, &#8212;y sobre todo que hayamos probado por nosotros mismos&#8212; aquí nos tendréis dándoos la vara.</p>
<p>Me centraré, en este post, exclusivamente en el iPod Classic, que es el que tengo. Para el iPod Nano nhttp://nand-magazine.net/2008/01/02/conversion-de-videos-para-ipod-en-debian/#comment-4877o varía. En cuanto al iPod Touch, le pediremos a <em>Arxel</em> que nos haga una guía ;-)</p>
<h2>Vídeo en el iPod</h2>
<p><img class="right" src="http://nand-magazine.net/images/the-it-crowd-ipod-classic_th.jpg" title="Team, team, team, team" alt="The IT Crowd on iPod Classic" width="200" height="334" /><br />
Los modelos de iPod que reproducen vídeo (desde los de quinta generación) soportan dos códecs de vídeo: <strong>H.264</strong> y <strong>MPEG-4</strong> en tres tipos de contenedores (o formatos): <code>.m4v</code>, <code>.mp4</code> y <code>.mov</code>. Muchos de los vídeos que nos encontramos por la red o series y películas que nos descargarmos están en <code>.avi</code> y comprimidos con <strong>DivX</strong> o <strong>XviD</strong>, lo que implica que tenemos que convertirlos al formato adecuado para que el iPod los pueda reproducir.</p>
<p><strong>NOTA:</strong> técnicamente, el iPod soporta XviD, pero no es lo más recomendable (por calidad, sobre todo). Así que nos centraremos en los otros dos códecs de vídeo.</p>
<p>El formato de audio también es un tanto especial. No es el popular MP3, sino <strong>AAC</strong> (ojo, que es incluso algo mejor que el primero).</p>
<p>En resumen, los vídeos que vayan a ir a nuestro iPod deben cumplir las siguientes condiciones:</p>
<ul>
<li> Vídeo: H.264 ó MPEG-4</li>
<li> Audio: AAC</li>
</ul>
<p>Hay que tener en cuenta ciertas limitaciones en cuanto a audio y vídeo. Si nos pasamos, puede que el iPod no reproduzca el vídeo o el sonido:</p>
<ul>
<li>Vídeo
<ul>
<li> H.264: hasta 768 kbps, 320&#215;240, 30 fotogramas por segundo (fps), perfil de línea de base hasta el Nivel 1.3.</li>
<li> H.264: hasta 1.5 Mbps, 640&#215;480, 30 fps, perfil de línea de base de baja complejidad</li>
<li> MPEG-4: hasta 2,5 Mb/s, 640&#215;480, 30 fps, Perfil simple.</li>
</ul>
</li>
<li>Audio: hasta 160 kb/s, 48000 Hz y audio estéreo</li>
</ul>
<p>Con lo cual sería tontería codificar un vídeo a más de 30 fotogramas por segundo, con 192 kb/s de audio y a una resolución de 800&#215;600. El iPod lo truncará a su límite. Así que está bien tener estas limitaciones en cuenta porque podemos usarlas para conseguir vídeos de tamaño mucho menor o sencillamente optimizados.</p>
<h2>ffmpeg: el conversor</h2>
<p>En GNU/Linux tenemos una auténtica navaja suiza. El <code>ffmpeg</code> nos deja hacer de todo (en lo que a vídeo se refiere). Aunque tenemos dos problemas: se usa por consola (¿esto es un problema?) y <em>los paquetes para Debian no están compilados con soporte para AAC, XviD o H.264</em> <strong>[ Aviso para usuarios de Debian lenny:</strong> El paquete de ffmpeg para Debian lenny <strong>sí</strong> tiene habilitado este soporte, así que bastará con que instaléis el binario vía <code>apt</code> o <code>aptitude</code> <strong>]</strong>. ¿Qué significa esto? Que no podemos usarlo &#8212;tal como viene&#8212; para convertir nuestros vídeos a &#8220;formato iPod&#8221;. ¿Entonces qué hacemos? ¿No hay más opciones? Podríamos usar el <code>mencoder</code> (que es del estilo de <code>ffmpeg</code>, pero a mí no me gusta tanto :-P) o pasarnos a otro sistema operativo (¡NOOOO!). Debo confesar que estuve haciendo pruebas de conversiones en un Windows con un programa gratuito y bastante sencillo llamado <a href="http://www.videora.com/en-us/Converter/iPod/">Videora</a>, pero me desesperó, así que me volví a mi Debian y me dije: &#8220;Vamos a compilar ffmpeg&#8221;.</p>
<h2>Compilando ffmpeg con soporte para H.264, AAC, XviD&#8230;</h2>
<p>Espero que nadie se haya asustado al escuchar la palabra &#8220;compilar&#8221;. En realidad no es ninguna experiencia traumática. Fue más sencillo de lo que esperaba. Venga, comencemos.</p>
<p>Necesitamos el código fuente del <code>ffmpeg</code> que descargaremos vía subversion para hacernos con la última versión. (Para instalar subversion: <span class="console">#apt-get install subversion</span>). Nos situamos en el directorio donde almacenaremos el código y lo descargamos tal que así: <span class="console">svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg</span>. Tendremos una carpeta llamada <code>ffmpeg</code> con un montón de archivos y directorios.</p>
<p>Antes de seguir, tenemos que instalar las siguientes bibliotecas y el compilador de C: </p>
<pre class="console">#apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev libvorbis-dev liba52-dev libdc1394-dev libgsm-dev libx264-dev gcc</pre>
<p>Ahora, y dentro del directorio de <code>ffmpeg</code>, configuraremos el archivo <code>configure</code> (valga la redundancia):</p>
<pre class="console">./configure --enable-gpl --enable-pp --enable-libvorbis --enable-liba52 --enable-libdc1394 --enable-libgsm --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libxvid --enable-pthreads --enable-libx264</pre>
<p>Ejecutamos el archivo <code>Makefile</code>: <span class="console">$make</span>.</p>
<p>E instalamos: <span class="console">#make install</span>.</p>
<p>Después de un rato, si todo ha ido bien, tendremos el binario en la carpeta <code>/usr/local/bin</code> (salvo que configurárais otra ruta manualmente).</p>
<p>Podemos hacer una prueba para comprobar si se ha compilado con soporte para los codecs que nos interesan. Así que ejecutáis <code>ffmpeg</code> sin parámetros y buscáis en las primeras líneas <code>enable-biblioteca</code>. Yo obtengo esta salida:</p>
<pre class="codigo">tempwin@debianbox:~/packages/ffmpeg$ ffmpeg
FFmpeg version SVN-r11352, Copyright (c) 2000-2007 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-libvorbis --enable-liba52 --enable-libdc1394 --enable-libgsm --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-libxvid --enable-pthreads --enable-libx264
  libavutil version: 49.6.0
  libavcodec version: 51.49.0
  libavformat version: 52.3.0
  built on Dec 29 2007 22:55:01, gcc: 4.2.3 20071123 (prerelease) (Debian 4.2.2-4)
usage: ffmpeg [[infile options] -i infile]... {[outfile options] outfile}...
Hyper fast Audio and Video encoder
</pre>
<h2>H.264 vs MPEG-4</h2>
<p>Por si alguien lo había notado, instalamos la biblioteca <code>libx264</code> y no <code>libh264</code>. ¿Por qué? Bueno, <code>libh264</code> no existe :-P El códec <strong>X.264</strong> es una implementación libre de la especificación del códec H.264, por ello es la que se usa en sistemas GNU/Linux.</p>
<p>Lo bueno que tiene H.264 frente a MPEG-4 es que consigue vídeos de alta calidad con tamaños menores que MPEG-4. Pero tiene inconvenientes. Es bastante lento y hace un uso más intensivo de la CPU. Esto se traduce en más horas de transcodificación. Además, los parámetros que hay que pasarle a <code>ffmpeg</code> son muchos más pues hay que controlar más aspectos. Eso sí, se nota en el resultado. Para vídeos de resoluciones grandes (más de 640&#215;480), es mejor MPEG-4. En los ejemplos de este post usaremos ambos. Cambiar entre uno y otro es muy sencillo, así hacéis pruebas y os quedáis con el que más os convenza.</p>
<h2>Convirtiendo vídeos a formato iPod</h2>
<p>Desde luego es más corto decir &#8220;<em>formato iPod</em>&#8221; que vídeo codificado usando H.264 ó MPEG-4 con sonido comprimido en AAC :-P</p>
<p>Yo uso <code>ffmpeg</code> con los siguientes parámetros:</p>
<h3>MPEG-4</h3>
<p>No lo he probado a fondo porque casi no lo uso.</p>
<pre class="codigo">ffmpeg -i video_origen.avi -f mp4 -vcodec mpeg4  -b 768kb -qmin 3 -qmax 5 -bufsize 1M -acodec libfaac -ab 96kb -s 320x240 -aspect 4:3 -title "Título del vídeo" video_resultante.mp4</pre>
<p>Sobre la resolución (<code>-s</code>) y la proporción (<code>-aspect</code>), lee el final del post (importante).</p>
<h3>MPEG-4 Panorámico</h3>
<p>Cuando el vídeo original tiene un aspecto 16:9. Cambiamos la resolución (<code>-s</code>) a 320&#215;192 (después de muchas pruebas, he resuelto que es la mejor para el iPod, en cuanto a vídeos panorámicos se refiere) y el aspecto (<code>-aspect</code>) a 16:9. A veces, indicar el aspecto no es necesario, tan sólo la resolución.</p>
<pre class="codigo">ffmpeg -i video_origen.avi -f mp4 -vcodec mpeg4  -b 768kb -qmin 3 -qmax 5 -bufsize 1M -acodec libfaac -ab 96kb -s 320x192 -aspect 16:9 -title "Título del vídeo" video_resultante.avi.mp4</pre>
<h3>H.264</h3>
<p>Es el que suelo usar. En dos pases (tarda más, pero el resultado es muchísimo mejor).</p>
<pre class="codigo">ffmpeg -y -i video_origen.avi.avi -an -v 1 -threads auto -vcodec libx264 -b 256k -bt 175k -refs 1 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -me full -subq 1 -me_range 21 -chroma 1 -slice 2 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 768k -bufsize 2M -cmp 1 -s 320x240 -aspect 4:3 -f mp4 -pass 1 /dev/null</pre>
<p>Segunda pasada:</p>
<pre class="codigo">ffmpeg -y -i input_file.avi -v 1 -threads auto -vcodec libx264 -b 256k -bt 175k -refs 1 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -me full -subq 6 -me_range 21 -chroma 1 -slice 2 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 768k -bufsize 2M -cmp 1 -s 320x240 -aspect 4:3 -acodec libfaac -ab 96k -ar 44100 -ac 2 -f mp4 -pass 2 -title "Título del vídeo" video_resultante.mp4</pre>
<h3>H.264 Panorámico</h3>
<p>Igual que con MPEG-4: Cambiamos la resolución por 320&#215;192 y el aspecto por 16:9</p>
<h2>Algunas consideraciones</h2>
<p><em>Es importante conocer las propiedades del vídeo original antes de hacer la conversión</em>. Si la fuente original tiene una calidad de audio muy pobre, pocos fotogramas por segundo y un <em>bitrate</em> bajo, de nada va a servir que aumentemos la calidad pues como mucho tendrá la misma que el original. A lo que me refiero es a si, en el vídeo original, el audio fue grabado a 64k, es tontería pasarle, a la hora de convertirlo, 96k. Sin embargo, al revés podemos usarlo para hacer una conversión perfecta y/o más comprimida.</p>
<p>Podéis mejorar la calidad del sonido (<code>-ab</code>), así como la frecuencia de muestreo (<code>-ar</code>), dándole valores más elevados. En los ejemplos está puesto a 96k y se escucha muy bien. Más calidad se traduce en más tamaño, así que tenedlo en cuenta. Lo mismo podéis hacer con la calidad del vídeo (argumento <code>-b</code>). Os recuerdo que todo esto teniendo presente las limitaciones del vídeo original.</p>
<p>Si queréis optimizar vuestros vídeos para que puedan verse con buena calidad en una televisión, ajustad la resolución a 640&#215;480 y el bitrate de media (-b) a 500k.</p>
<p><a href="http://nand-magazine.net/images/aspect-ratios-example.jpg"><img class="right" src="http://nand-magazine.net/images/aspect-ratios-example_th.jpg" title="Problema del ajuste de pantalla" alt="Proporciones de pantalla" /></a>Para que los vídeos en formato panorámico se vean bien en el iPod hay que ir al menú <code>Vídeos</code> &#8594; <code>Ajustes</code> &#8594; <code>Ajustar a pantalla</code> y desactivar esta opción, de lo contrario, el iPod trataría de ajustar el vídeo para que ocupe todo el ancho y la altura de la pantalla posible, traduciéndose en imágenes alargadas y estrechas. Echando un vistazo a la imagen de la derecha, tenéis un ejemplo de lo os digo.</p>
<p>Para los vídeos que tengan una resolución panorámica, pero no sigan ningún estándar (16:9, 2.39:1, 1.85:1, etc.), deberemos ajustar la altura a la medida óptima y que <em>sea divisible por 16</em>. A la anchura no tenemos que hacerle nada porque 320 es divisible por 16 (es decir, su resto es 0). Un ejemplo: Si el vídeo original es de 608&#215;256, le correspondería una resolución de 320&#215;134 (basta hacer una regla de tres), pero 134 no es divisible por 16. El valor más cercano, divisible por 16, por abajo sería 128, y por arriba 144. No son demasiados píxeles de diferencia, así que recomiendo coger el valor más alto (las bandas negras serán más finas). Ah, ¿que por qué el capricho de que tenga que ser divisible por 16? El códec comprime el vídeo bloques de 16&#215;16 píxeles. Podrías indicarle una altura que no fuera divisible por este número, pero la compresión afectaría más a la calidad.</p>
<p>Según la versión de <code>ffmpeg</code> que tengas, para indicar el códec de vídeo y audio a usar, puede variar el nombre. En la versión que tengo yo para usar el códec AAC, lo indico con <code>-acodec libfaac</code>; pero he visto otra versiones en las que basta con <code>-acodec aac</code>. Lo mismo pasa con <code>-vcodec libx264</code>; hay versiones que es tan sencillo como <code>-vcodec h264</code>. Sabréis cuál usar si al escribirlas, os devuelve un error del tipo <code>Unknown encoder 'aac'</code> o <code>Unknown enconder 'h264'</code>.</p>
<p>Los valores de vídeo y audio son también válidos para el iPod Nano, pues también tiene la misma resolución de pantalla que el Classic.</p>
<p>Sobre las relaciones de aspecto (o proporciones), es importante conocerlas para obtener vídeos lo más fieles al original (acordaos de la divisibilidad por 16):</p>
<ul>
<li>4:3 (TV): 320&#215;240</li>
<li>16:9 (TV panorámica): 320&#215;176, 320&#215;192</li>
<li>1.85:1 (Panorámica estándar): 320&#215;160, 320&#215;176</li>
<li>2.39:1 (CinemaScope o Panavision): 320&#215;128, 320&#215;144</li>
</ul>
<p>Para acabar, unos datos para que veáis los resultados:</p>
<ul>
<li>Vídeo Original
<ul>
<li> Audio: <acronym title="Variable Bitrate - Bitrate variable">VBR</acronym> MP3, 128kbps, 48000Hz</li>
<li> Vídeo: 608&#215;256, 25 fps, DivX 5, 1hh:45mm:48ss</li>
<li> Tamaño: 699,8MB</li>
</ul>
</li>
</ul>
<ul>
<li>Vídeo iPod
<ul>
<li> Audio: AAC, 128kbps, 48000 Hz</li>
<li> Vídeo: 320&#215;144, 25 fps, H264</li>
<li> Tamaño: 282,0 MB</li>
</ul>
</li>
</ul>
<p>Lo sé. Un artículo denso y mal estructurado porque sigo añadiendo cosas según hago avances. De todos modos, la idea es reunir todo tipo de información sobre la codificación de vídeos para el iPod. ¡Que aproveche!</p>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2008/01/02/conversion-de-videos-para-ipod-en-debian/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Convertir DjVu a PDF en Linux</title>
		<link>http://nand-magazine.net/2007/12/11/convertir-djvu-a-pdf-en-linux/</link>
		<comments>http://nand-magazine.net/2007/12/11/convertir-djvu-a-pdf-en-linux/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 19:45:07 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/2007/12/11/convertir-djvu-a-pdf-en-linux/</guid>
		<description><![CDATA[Puede que sea la primera vez que oyes hablar de este formato, DjVu. Sin embargo, es más que probable que cada vez sea más popular. ¿Pero qué es? DjVu es un formato diseñado para almacenar imágenes escaneadas, por lo que se está convirtiendo en el ideal para la distribución de libros escaneados por la red. [...]]]></description>
			<content:encoded><![CDATA[<p>Puede que sea la primera vez que oyes hablar de este formato, <code>DjVu</code>. Sin embargo, es más que probable que cada vez sea más popular. ¿Pero qué es? <strong>DjVu</strong> es un formato diseñado para almacenar imágenes escaneadas, por lo que se está convirtiendo en el ideal para la distribución de libros escaneados por la red. Además, es un formato de fichero abierto lo que implica que cualquiera tiene acceso a su especificación y puede crear programas para visualizar estos archivos, crearlos, etc. De hecho, hay una implementación de código abierto llamada <a href="http://djvu.sourceforge.net/">DjVuLibre</a>.</p>
<p>Bueno, vamos a lo que nos interesa, que para hablar más detenidamente de DjVu vs PDF ya habrá otra ocasión. Hasta la fecha, no hay un programa para GNU/Linux que permita convertir de DjVu a PDF directamente, pero tampoco es que el método que voy a mostrar aquí (fruto de pensar 0.2 segundos) sea excesivamente complicado. Empecemos.</p>
<p>Abrimos el archivo <code>.djvu</code> que queremos convertir con el <strong>Evince</strong>, un visor de documentos bastante completo (a instalarlo si no lo tienes, que está disponible para cualquiera distribución). Ahora pulsamos sobre <code>Archivo</code> &#8594; <code>Imprimir</code> y, en la ventana de impresión, seleccionamos <code>Imprimir a un archivo</code>, le damos un nombre e indicamos dónde queremos guardarlo. Finalmente, pulsamos en <code>Imprimir</code>.</p>
<p><img class="center" src="http://nand-magazine.net/images/print-evince.jpg" width="500" height="399" alt="Configurar impresión" /></p>
<p>¿Qué hemos hecho? Hemos convertido el <code>.djvu</code> a .ps. <em>PostScript</em> es un lenguaje que entienden casi todas las impresoras. La ventaja de este formato es que es fácilmente convertible a PDF (de hecho, PDF está basado en PostScript). Para ello usaremos la herramienta <strong>ps2pdf</strong> (también ampliamente disponible) tal que así: <span class="console">$ps2pdf archivo.ps archivo.pdf</span>.</p>
<p>Y tendremos nuestro PDF :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2007/12/11/convertir-djvu-a-pdf-en-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Compilando Mupen64 0.5</title>
		<link>http://nand-magazine.net/2007/09/27/compilando-mupen64-05/</link>
		<comments>http://nand-magazine.net/2007/09/27/compilando-mupen64-05/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 08:41:59 +0000</pubDate>
		<dc:creator>TempWin</dc:creator>
				<category><![CDATA[Emulación]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://nand-magazine.net/2007/09/27/compilando-mupen64-05/</guid>
		<description><![CDATA[Antes de nada, las presentaciones. Mupen64 es un emulador de Nintendo 64 disponible para sistemas GNU/Linux y Windows (aunque también hay ports para otros sistemas como MacOS X). Lo interesante es que es de código abierto, con lo cual, está disponible el código fuente del emulador para quien quiera hacer modificaciones o sencillamente compilarlo para [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de nada, las presentaciones. <b>Mupen64</b> es un emulador de Nintendo 64 disponible para sistemas GNU/Linux y Windows (aunque también hay <i>ports</i> para otros sistemas como MacOS X). Lo interesante es que es de código abierto, con lo cual, está disponible el código fuente del emulador para quien quiera hacer modificaciones o sencillamente compilarlo para su máquina. Y eso es precisamente lo que haremos, <strong>compilar</strong>.</p>
<h2>Por qué compilar</h2>
<p>Hoy en día, es posible tener un sistema GNU/Linux como sistema operativo de uso diario (y de usuario medio) sin tener que enfrentarse nunca a una compilación ya que la mayoría de programas o bibliotecas vienen empaquetados de tal manera que el usuario puede instalarlos mediante el instalador de su distribución (<i>yast</i>, <i>synaptic</i>, <i>yum</i>&#8230;), de forma totalmente transparente y sin tener que configurar casi nada. Pero no todos los programas están empaquetados o preparados para una instalación &#8220;sencilla&#8221;, ya sea porque no son muy populares, porque son muy nuevos o porque nadie se ha tomado la molestia de preparar el paquete <code>deb</code> o <code>rpm</code>, por ejemplo. En estos casos no nos queda más que compilarlos nosotros o darle la vara a alguien que sepa y lo haga por nosotros :-P</p>
<p>Mupen64 se puede <a href="http://mupen64.emulation64.com/down.htm" target="_blank">descargar desde la web</a> ya compilado, es decir, bajarnos el binario, el ejecutable. El problema es que este binario fue obtenido en una distribución GNU/Linux y en una máquina que puede ser muy distinta a la nuestra. Muchas veces no habrá ningún problema en usar ese binario, otras, puede que obtengamos errores de <i>violación de segmento</i> o <i>core dump</i>, pero compilando nosotros nuestro Mupen64, conseguiremos un binario optimizado para nuestra máquina, evitando otros errores e incluso podremos ganar en velocidad de ejecución :-)</p>
<h2>Qué necesitamos</h2>
<ul>
<li>El código fuente, que podemos descargar desde <a href="http://mupen64.emulation64.com/files/0.5/mupen64_src-0.5.tar.bz2" target="_blank">aquí­</a></li>
<li>Bibliotecas <i>gtk2</i>. Buscad el paquete <code>libgtk2.0-dev</code> o superior.</li>
<li>Compilador de C: <code>gcc</code></li>
<li>Bibliotecas de <i>SDL</i>: <code>libsdl1.2-dev</code></li>
<li>Compilador de C++ (<code>g++</code>) y biblioteca <i>avifile</i> (<code>libavifile-0.7-dev</code>). Sólo si queréis activar la opción de realizar VCR (más abajo lo explico)</li>
</ul>
<h2>¡A compilar!</h2>
<p>Si ya hemos instalado todo lo de arriba, procedemos a descomprimir el código del Mupen64, así que en un directorio que queráis hacéis:</p>
<p><span class="console">$ tar jxvf mupen64_src-0.5.tar.bz2</span></p>
<p>También podéis usar vuestro programa preferido para comprimir/descomprimir de forma gráfica.</p>
<p>Bien, ahora tendremos una carpeta llamada <code>mupen64_src-0.5</code>. Vamos dentro de ella y lo que nos interesa es el archivo <code>configure</code> que es el que hará todo el proceso de comprobación y compilación. Pero antes de lanzarnos, debemos corregir una lí­nea en dicho fichero para evitar este error:</p>
<div class="console">
$./configure<br />
Found a working C compiler (gcc).<br />
Checking SDL&#8230;<br />
./config.temp: 3: Syntax error: &#8220;(&#8221; unexpected<br />
*** Couldn&#8217;t find a working SDL library!
</div>
<p>Aunque tengamos instalada la biblioteca de SDL seguirá dando ese error. Para arreglarlo, abrimos el fichero configure con vuestro editor de texto favoritos y nos vamos a la línea (148 en la versión actual) que pone:</p>
<p><code>echo "int main(void) { if (SDL_Init( 0 ) &lt; 0) { printf( \"SDL_Init(): %s\\n\", SDL_GetError() ); return 1; } return 0; }" &gt;&gt; "$FILE"</code></p>
<p>Y la sustituimos por esta otra:</p>
<p><code>echo "int main(void) { return 0; }" &gt;&gt; "$FILE"</code></p>
<p>Venga, que ahora sí­ que podemos compilar y sé que ¡lo estábais deseando!</p>
<p><span class="console">$sh configure</span></p>
<p>Ahora nos hará una serie de preguntas. La primera nos da la opción de que mupen64 se instale en el directorio actual [ YES ] (con lo cual sólo tendrá acceso el usuario propietario) o instalarlo en otra carpeta para que tengan acceso el resto de usuarios de dicha máquina [ NO ]. Por defecto, está marcado sí.</p>
<p>La siguiente pregunta es sobre activar la opción de realizar capturas de vídeo de nuestras partidas (<em>VCR support</em>). Acordaos de que si elegí­s que sí­, tenéis que tener instalados los dos últimos paquetes que menciono más arriba.</p>
<p>Por último nos pregunta si queremos crear el ejecutable de Mupen64. ¡Pues claro que queremos!</p>
<p>Esperamos un ratillo y tendremos en ese directorio el archivo <code>mupen64</code>, el emulador listo para usar. Podemos ejecutarlo desde consola con un <span class="console">$./mupen64</span>. ¡Y a disfrutar!</p>
<p>Como nota final, también tenemos el código de algunos plugins para compilarlos, pero en esto no hay problema y podemos descargarlos (<a href="http://www.emutalk.net/showthread.php?t=29643" target="_blank">aquí­</a>) ya compilados, meterlos en la carpeta <code>plugins</code> y usarlos. Son los que terminan en <code>.so</code>. Y ya en el emulador, podemos configurarlos en el menú <i>Configure</i>.  Ah, y con el código fuente vienen dos demos técnicas para probar el emulador.</p>
<p><i>Enjoy</i>.</p>
<h2>Enlaces relacionados</h2>
<ul>
<li> <a href="http://mupen64.emulation64.com/" target="_blank">Web oficial del emulador Mupen64</a></li>
<li> <a href="http://www.emutalk.net/forumdisplay.php?f=50" target="_blank">Foro oficial del Mupen64</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://nand-magazine.net/2007/09/27/compilando-mupen64-05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

