MAMEmania, Capítulo I: ¿Qué es MAME?

Bajo el nombre de MAMEmania publicaremos una serie de artículos en los que comentaremos los juegos más destacados para el archiconocido emulador MAME, cada uno de ellos centrado en algún tema o género en concreto. Pero antes de meternos en los juegos, quizá algún despistado se pregunte, ¿qué es MAME?

Un poco de historia

MAME Logo

MAME significa Multiple Arcade Machine Emulator y su objetivo es el de reproducir de la manera más fiel posible una multitud de juegos arcade en sistemas más modernos de propósito general — como puede ser un PC. En la actualidad, MAME puede emular miles de juegos de recreativa, desde los más antiguos con una CPU simple hasta los más actuales que muestran gráficos en 3D.

El propósito principal de MAME es el de preservar décadas de historia de los videojuegos, evitando que muchos juegos retro se pierdan y olviden — de hecho, la posibilidad de jugar es vista como sus desarrolladores como ‘un agradable efecto secundario’. Esto se consigue documentando el hardware y su funcionamiento; el propio código fuente de MAME es dicha documentación. Esto tiene otra implicación: MAME ahora es el ‘hardware’ sobre el que funcionan estos juegos. No se trata de ports, ni versiones, son exactamente los mismos juegos de recreativa con todos sus bugs, ralentizaciones y peculiaridades del original.

El proyecto MAME nace un 5 de febrero de 1997, cuando el desarrollador italiano Nicola Salmoria decide liberar la versión 0.1 de este emulador. En el readme adjunto se podían conocer los juegos soportados y su nivel de emulación:

Game Playable? Accurate colors? Sound?
Pac Man Yes Yes Yes
Ms Pac Man (bootleg) Yes Yes Yes
Crush Roller Yes No Yes
Pengo Yes Yes Yes
Lady Bug Yes Yes Partial

Eso es, cinco juegos, todos ellos basados en el mítico procesador Z80 de Zilog, lo cual facilitaba la emulación de estas y otras placas arcade similares. A partir de ahí, más desarrolladores se fueron incorporando al proyecto, posibilitando la documentación y soporte de una mayor cantidad de hardware (y por tanto de juegos), añadiendo nuevas características al emulador y expandiendo el proyecto MAME en general. Algunas fechas importantes, extraídas del ‘MAME Project Timeline’:

  • 18 de febrero de 1997: primera versión de MacMAME liberada (versión 0.4 de MAME). Hasta entonces, MAME solo corría en PCs bajo DOS.
  • 20 de abril de 1997: se hace check-in de la primera versión de XMAME (0.18), funcionando desde este momento en sistemas con soporte X11, como Unix (y Linux posteriormente).
  • 3 de mayo de 1998: empieza la política de betas públicas; anteriormente los usuarios tenían que esperar meses entre versiones (0.33b1)
  • 16 de agosto de 1998: primera aparición de juegos de Neo Geo, hecho de gran controversia (0.34b1)
  • 6 de noviembre de 2000: se añade soporte a la primera CPU de 32-bits (68EC020) (0.37b9)
  • 24 de mayo de 2001: Windows sustituye a DOS como plataforma primaria de desarrollo (0.37b15)
  • 6 de abril de 2003: se añade el primer núcleo con recompilación dinámica (MIPS3) (0.67)
  • 11 de noviembre de 2003: se añade la emulación de 3DFX Voodoo (0.77)
  • 7 de abril de 2005: nace mamedev.org, web oficial del equipo de desarrollo de MAME.
  • 5 de febrero de 2007: se implementa por completo el descifrado de CPS2 (0.112).

En el siguiente gráfico (click para ampliar) se puede comprobar como el proyecto MAME ha crecido hasta convertirse en el más importante en el ámbito de la emulación: de los 5 juegos soportados en la versión 0.1 se ha llegado a más de 4000 títulos únicos en la actualidad.

MAME Num Juegos

¿Qué necesito para usar MAME?

El primer ingrediente obvio es… el propio MAME. Los binarios oficiales están compilados para ser ejecutados en PCs con Windows. Según sus desarrolladores, los requisitos mínimos son:

  • Procesador Intel o AMD con soporte MMX (se recomienda Pentium III o superior)
  • Windows 98 o superior (mejor a partir de Windows 2000)
  • DirectX 5.0 o superior.
  • Tarjeta gráfica compatible con DirectDraw o Direct3D.
  • Tarjeta de sonido compatible con DirectSound.

Es decir, cualquier PC de este siglo sirve perfectamente :] Hay que aclarar que, dado que estos requisitos son mínimos, no cualquier juego va a funcionar a la velocidad original en cualquier ordenador. Esto es especialmente cierto en los títulos más recientes con gráficos 3D o varias CPUs. Recordemos que el objetivo del proyecto MAME es documentar y preservar juegos arcade de la forma más fiel posible; esto implica emular toda función de la CPU original, hardware de video, audio y cualquier otra cosa presente en la placa original — algo imposible de hacer con alta calidad y rápidamente al mismo tiempo. Debido a su filosofía, MAME no tiene hacks en su código, ya que si bien acelerarían la ejecución de algunos juegos, lo harían inmantenible para los desarrolladores e inútil en su propósito de ‘guardián del hardware original’.

Aparte del MAME oficial para Windows, existen algunos ports para otros sistemas operativos con una buena frecuencia de actualización.

  • SDLMAME: un port basado en SDL que puede funcionar en Linux, MacOS X y otras plataformas (actualmente no existe un proyecto SDL separado, sino que forma parte del MAME oficial)
  • MAME OS X: un port nativo de MAME para MacOS X.

Además, existen otros ports más exóticos de MAME que funcionan en teléfonos móviles o consolas.

Aparte del propio MAME, para jugar necesitamos juegos, por supuesto. Dado que se obtienen volcando la información de los chips ROM presentes en las placas arcade, reciben comunmente el nombre de ROMs. Existen diferentes formas de obtener estas ROMs:

  • Unas pocas ROMs están disponibles con permiso de los propietarios del copyright en mamedev.org. También se puede descargar con permiso de Gaelco su World Rally.
  • Puedes comprar tu propia placa arcade (en eBay por ejemplo) y un lector de ROMs y volcar su contenido para tu uso personal.
  • La que todos estáis pensando 😛 Que será parte del contenido en próximas entregas.

Para algunos juegos, además de las propias ROMs, necesitaremos la BIOS de la placa sobre la que funciona; este es el caso, por ejemplo, de Neo Geo.

Vale, ¿pero a qué voy a poder jugar?

Como hemos dicho, en números brutos MAME soporta actualmente unos 4000 juegos únicos, aproximadamente 9000 si se tienen en cuenta las distintas versiones existentes para cada uno de ellos. Esto en la práctica se traduce en que MAME soporta y hace funcionar casi cualquier ‘clásico’ arcade (de antes del 2000, digamos), mientras que los títulos más recientes o ni están soportados, o lo están pero no funcionan o lo hacen con lentitud y/o errores. Incluso, algunos juegos más antiguos puede que tampoco funcionen (o lo hagan incorrectamente o de forma limitada), debido a ciertas dificultades en la emulación de su circuitería analógica. Aunque lo parezca, el panorama no es para nada desolador: estos son algunos de los juegos que funcionan perfectamente, tal y como fueron concebidos, en MAME:

Arxel in the Mix: Atemporal Mix

Con el motivo de revitalizar nuestra sección del NAND Pack of the Decade Year Month, presento una sesión que concebí allá por 2005 pero que por motivos técnicos por una parte (un disco duro moribundo) y algo de dejadez por otra no mezclé en su totalidad hasta 2009. Aún así, una versión beta pudo ser escuchada en algunos momentos como fondo del primer JAB Podcast, un proyecto de Tempwin hospedado en su Just Another Blog. Como la sesión tenía que ser algo ligero que pudiese ser escuchado en cualquier momento y sin molestar demasiado e iba a sonar en un podcast de Tempwin, recibió el nombre de Atemporal Mix.

Carátula frontal de Atemporal Mix

El tracklist es el siguiente:

01. Steve Jablonsky - The Island Awaits You (Intro)
02. Brian Eno - An Ending (Ascent) (Leama & Moor Remix)
03. Tonedepth & Soultan - Moments
04. Jonas Steur - Silent Waves
05. Estuera vs. Re:Locate - Palma Solane
06. Shah & Larusso pres. Global Experience - Tennessee
07. Mr. Sam - Lyteo (Original Mix)
08. Above & Beyond vs. Andy Moor - Air For Life (Original Mix)
09. Basic Perspective - Small Step On The Other Side (Elevation Mix)
10. Niklas Harding pres. Arcane - Ice Beach
11. Perasma - Swing 2 Harmony (Gabriel & Dresden Vocal Mix)

Como es habitual dada nuestra amplia experiencia en NAND Packs (dos en cuatro años!) ponemos a vuestra disposición la descarga de este trabajo; el pack incluye la sesión (192 Kbps, 44.1 KHz, Joint Stereo) dividida en sus pistas individuales, este tracklist y unas portada y contraportada creadas por un servidor.

Se agradecerán como siempre comentarios y críticas constructivas 😉

Multitarea en iPhone/iPod touch

Ayer Apple presentó su tan rumoreado tablet, finalmente llamado iPad, y una de las características que se esperaba que tuviese (gracias a una supuesta nueva versión del iPhone OS) y que finalmente no posee es la de multitarea. Lo cierto es que es bastante decepcionante que tanto este nuevo iPad como el iPhone o el iPod touch no dispongan de esta propiedad, y más teniendo en cuenta que otros dispositivos similares como el Nexus One de Google y HTC sí son capaces de hacerlo.

Afortunadamente, y como es habitual, la scene va por delante del soporte oficial y sí es posible tener multitarea en un iPhone o iPod touch. Por ejemplo, podrás escuchar radio por streaming mediante SHOUTcast mientras hablas con tus amigos a través de eBuddy.

Para ello, primero has de hacer jailbreak a tu iPhone/iPod touch. Hoy en día, este paso es extremadamente sencillo gracias a Geohot y su blackra1n. Los pasos a seguir son los siguientes:

  • Descargar blackra1n para Windows o para Mac.
  • Actualizar iTunes a su última versión (aunque no estoy seguro de que sea totalmente necesario) y reiniciar.
  • Conectar el iPhone/iPod touch al PC/Mac estando iTunes cerrado. Si se abre al enchufarlo, volverlo a cerrar.
  • Lanzar blackra1n y hacer click en el botón etiquetado como ‘make it ra1n’.
  • El dispositivo entrará en modo recuperación mostrando una imagen de Geohot.
  • Cuando blackra1n termine de hacer sus cosas el dispositivo se reiniciará.

En este momento, el iPhone/iPod touch ya está ‘jailbroken’. Ahora sólo queda descargar las aplicaciones necesarias para disponer de multitarea:

  • En alguna de las pantallas del menú del iPhone/iPod touch habrá disponible una nueva aplicación llamada blackra1n.
  • Entramos en ella y marcamos Cydia para instalar. Después de un rato, el dispositivo se reiniciará con esta nueva aplicación instalada.
  • En este momento podemos aprovechar para desinstalar blackra1n (este paso sólo borra la aplicación, no deshace el jailbreak). Para ello volvemos a entrar en blackra1n y pulsamos en ‘Uninstall blackra1in’ y después en ‘Delete’.
  • Ahora instalaremos las aplicaciones Backgrounder y Kirikae desde Cydia. Entramos en esta aplicación y le dejamos un rato que haga sus cosas (es algo lenta); a continuación pulsamos en el botón ‘Search’ en la esquina inferior derecha y tecleamos ‘backgrounder’. Aparecerán dos versiones distintas, una para firmwares 2.x y otra para los 3.x, elegir la adecuada y pulsar ‘Install’ en la siguiente pantalla.
  • Repetimos el mismo proceso para Kirikae.

En este momento tendremos instaladas ambas aplicaciones, accesibles desde el menú principal. Pero y cómo hacemos uso de la multitarea ahora? Es muy sencillo:

  • Supongamos que quiero escuchar música mediante SHOUTcast. Para ello entramos en la aplicación correspondiente.
  • De repente nos apetece hablar con algún amigo vía eBuddy, pero queremos seguir escuchando la música. Lo que hacemos es, sin haber salido de SHOUTcast, mantener pulsado el botón Home hasta que aparezca en pantalla ‘Backgrounding enabled’. En ese momento volveremos automáticamente al menú principal y podemos entrar en eBuddy.
  • Ahora estamos dentro de eBuddy y escuchamos la música de SHOUTcast a la vez, pero resulta que queremos cambiar de emisora. Lo que hacemos es pulsar dos veces seguidas el botón Home, apareciendo una lista con las aplicaciones en primer y en segundo plano, donde estará SHOUTcast. Pulsando sobre ésta, eBuddy automáticamente se pondrá en segundo plano y aparecerá SHOUTcast listo para ser manejado.

Desventajas? No lo he comprobado empíricamente, pero casi con toda seguridad al tener varias aplicaciones corriendo a la vez y andar cambiando entre ellas la batería dure menos. Pero creo que vale la pena :]

Saques perfectos en Blobby Volleyball 2

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 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 “caían” en la misma trampa. Éste es el punto exacto donde tenéis que colocaros (yo soy el rojo):

Posición exacta de saque para ganar siempre en Blobby Volleyball 2

Y luego sólo os queda pulsar hacia arriba y ganar, ganar y ganar 🙂

Podéis descargaros una repetición de una partida mía para que veáis que no os miento. Para reproducir la partida, tenéis que guardar el fichero xml en la carpeta /home/usuario/.blobby/replays/ y una vez dentro del juego vais a Watch Replay y la seleccionáis.

Por cierto, yo juego en Debian, pero está disponible para Linux en general, MacOS X y Windows. Aunque sabiendo este “truco”, ya pierde la gracia 😛

Ubuntu 9.04 en MSI Wind U100

¿Cuántos tutoriales hay sobre esto mismo en la red? Aproximadamente… 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 portátil

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 MSI Wind U100-013ES, el MSI con batería de 6 celdas y teclado español.

Especificaciones técnicas destacables

  • Procesador: Intel® Atom® N270 1.6GHz
  • Chipsets: Intel® 945GSE+ICH7M
  • Memoria RAM: 1GB (DDR2 667)
  • Pantalla: LCD WSVGA de 10″ a una resolución de 1024×600.
  • Gráficos: Intel GMA 950 400 Mhz
  • Almacenamiento: disco duro SATA de 2.5″ de 160 GB de Western Digital a 5400 RPM
  • Batería: 6 celdas (más de tres horas usando la Wi-Fi).
  • Peso: 1.3 kg
  • Webcam: 1.3 Mpx
  • Lector de tarjetas: 5-in-1, SD/MMC/MS/MSpro/xD. También soporta SD-HC.
  • Bluetooth.
  • Wireless: 802.11b/g/n Ralink RT2700E.
  • 3 puertos USB
  • SO preinstalado: Windows XP Home con Service Pack 3. (esto más que destacable, es anecdótico…)

Ubuntu 9.04: Jaunty Jackalope

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.

¿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 😉

Preparativos

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 dd y compañía), pero hay programas que nos facilitan la vida, como es el caso de UNetbootin (Universal Netboot Installer), 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 su página web. Hay paquetes para Debian/Ubuntu, así que, una vez descargado (también puede añadirse el repositorio) será cuestión de hacer: # dpkg -i unetbootin_301-6_i386.deb (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í:

UNetbootin

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.

Arrancando desde el USB

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 Supr al encender el portátil, cuando aparece el logo de MSI). Vamos al menú Boot y donde pone Set Boot Priority ponemos de primero el USB (Boot Option #1 USB HardDisk). Esto se consigue pulsando Enter y eligiendo el dispositivo que queremos.

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 F11 y se nos presenta una pantalla que nos pregunta desde qué dispositivo queremos arrancar. Seleccionamos el pendrive USB.

Instalación de Ubuntu

Ubuntu se ejecutará en modo live 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).

Lo que funciona tras la instalación

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:

  • Adaptador de red Ethernet
  • Adaptador Wi-Fi RT2700E
  • Bluetooth
  • Altavoces
  • Micrófono
  • Webcam
  • La mayoría de teclas de función especiales (Fn+F1, etc.), salvo la de modo Turbo
  • Lectores USB
  • Lector de tarjetas 5 en 1.
  • Aceleración gráfica (Ubuntu activa por defecto los llamados Efectos Visuales).
  • Suspensión
  • Hibernación
  • Salida VGA

Wicd: gestor de red

El gestor de red que trae por defecto Ubuntu (network-manager) no es muy completo y no siempre funciona bien. En Debian uso Wicd 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 (universe), así que bastará un # apt-get install wicd para instalarlo. Cuando se termina de instalar (ojo, eliminará el network-manager, 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 wicd-client, 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 Preferencias:

Wicd

En la pestaña General Settings seleccionamos wext como driver para el WPA Supplicant y en Wireless Interface ponemos ra0. Lo demás lo podemos dejar tal como muestra la captura:

Preferencias de Wicd

Optimizando la duración de la batería

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, a media batería, conectado a Internet mediante Wi-Fi, viendo algún que otro vídeo, instalando paquetes, actualizando el sistema y con los efectos visuales de Compiz activados, ha durado unas 2 horas. Ahora trataremos de configurar Ubuntu para que dé el mejor rendimiento en todo tipo de situación.

Escalado de frecuencia

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.

Monitor de frecuencia de GNOME
Uno de los applets que incluye el GNOME que viene con Ubuntu es el de, precisamente, Monitor de frecuencia de la CPU. Para añadirlo al panel, pulsamos con el botón derecho del ratón sobre el panel y escojemos la opción Añadir al panelMonitor de frecuencia de la CPU. Su uso es muy sencillo, bastante autoexplicativo. Tenéis un buen manual en la Biblioteca de documentación de GNOME. Aquí sólo comentaré la existencia de los governors (gobernadores) que nos permiten escalar la frecuencia de modo dinámico, es decir, según las necesidades del equipo y/o usuario.

Los “gobernadores” son varios:

  • Performance: mantiene la CPU a la más alta frecuencia posible.
  • Powersave: mantiene la CPU a la más baja frecuencia posible.
  • Userspace: exporta la información sobre la frecuencia disponible a nivel de usuario y permite que la pueda cambiar.
  • Ondemand: escala la frecuencia atendiendo al uso de CPU (como lo hace el userspace, pero en el kernel)
  • Conservative: funciona como ondemand, pero incrementa la frecuencia paso a paso.

Veamos qué nos permite el MSI Wind:

$ more /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
1600000 1333000 1067000 800000

Con el anterior comando vemos las frecuencias a las que puede trabajar el procesador.

$ more /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
convervative powersave ondemand userspace performance

Nos muestra los gobernadores disponibles.

Ahora que sabemos un poco más, ya se hace sencilla la configuración ideal para el Monitor de frecuencia de CPU del panel 🙂

Botón ECO-friendly

Se activa al pulsar Fn+F10 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.

Opciones de energía

Suspensión

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 “despertar” de nuevo el equipo, sólo tenemos que pulsar el botón de encendido.

Hibernación

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.

Ambas opciones están disponibles al pulsar sobre el botón para apagar el equipo:

Mejorando la legibilidad

Aunque la resolución nativa, 1024×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:

Tamaño y suavizado de fuentes: SistemaPreferenciasTipografía.

Suavizado y tamaño de fuentes

Resolución de las fuentes de 96 a 83: SistemaPreferenciasTipografía, botón Detalles.

Resolución de las fuentes

Ubuntu 8.10

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!

Lo que funciona tras la instalación

Esto es todo lo que funciona sin necesidad de configuración adicional:

  • Adaptador de red Ethernet
  • Altavoces
  • Micrófono
  • Webcam
  • La mayoría de teclas de función especiales (Fn+F1, etc.), salvo la de modo Turbo
  • Lectores USB
  • Lector de tarjetas 5 en 1.
  • Aceleración gráfica (Ubuntu activa por defecto los llamados Efectos Visuales).
  • Suspensión
  • Hibernación
  • Salida VGA

Adaptador Wi-Fi RT2700E

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 😛

Descargamos el driver para las RT2860 desde aquí (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 página del autor en Launchpad para estar al día. Nos aseguramos de tener instalado el programa dkms (nos evitará tener que compilar y configurar el módulo para distintos kernels que tengamos: # apt-get install dkms. Para instalar el driver, como cualquier paquete .deb: # dpkg -i rt2860-source_1.8.0.0-0ubuntu1~ppa2_all.deb. 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.

Wicd

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 página web. Ya sabéis el proceso: añadir el repositorio al fichero /etc/apt/sources.list, hacer un # apt-get update y finalmente # apt-get install wicd para instalarlo.

El resto de instrucciones son compatibles con las de la versión 9.04.

Tutorial: SoftMii 2.1 (Backups en Wii y más cosas)

SoftMii Logo

SoftMii es un paquete de aplicaciones para Wii que como dicen sus creadores cuenta con las siguientes características:

  • Instalación un System Menu personalizado.
  • Pantalla de aviso sobre salud y seguridad personalizada.
  • Personalización mediante packs de temas usando SoftMii Tweak.
  • Carga de copias de seguridad de Wii en modo region-free.
  • Carga de copias de seguridad de GameCube desde el Canal Disco.
  • Menú de recuperación accesible mediante un mando de GameCube (puerto 1, botón Y).
  • Eliminación de las protecciones de copia sobre partidas guardadas.
  • Lectura de discos originales a 6x; copias de seguridad a 3x.
  • Autoarranque de cualquier disco desde el menú de recuperación
  • Saltarse las actualizaciones que vienen en los juegos.
  • No más errores 002 en juegos nuevos como Need For Speed Undercover.
  • Adiós a la molesta música de fondo en el menú de la consola.
  • Instalación de PreLoader 0.28.
  • cIOS normal para aquéllos que hayan parcheado discos al 249.
  • Mover el Canal Disco a cualquier parte del menú.
  • Homebrew Channel 1.01.
  • Canales region-free (incluídos juegos de Virtual Console y WiiWare).
  • Soporta firmwares desde el 3.1 al 3.4.

Este tutorial es una traducción del que viene incluído en el paquete SoftMii, estructurado de una forma algo diferente y explicando mejor algunos pasos. Lo primero que necesitaremos obviamente es el propio SoftMii, que podremos descargar desde aquí (versión 2.1).

Para poder instalar SoftMii por completo necesitaremos:

  • Una Wii PAL o NTSC-U (no se ha probado en consolas de otras regiones).
  • Una tarjeta SD de al menos 512 MB formateada como FAT.
  • El pack Softmii, descomprimido a la raíz de la SD.
  • El juego ‘The Legend Of Zelda: Twilight Princess’ original.
  • Conexión a Internet funcionando en la consola.

La instalación consta de tres fases, cada una de las cuales conlleva realizar varios pasos. Según el estado de tu Wii tendrás que llevar a cabo una o más fases:

  • Wii nueva, virgen: fases 1, 2 y 3.
  • Wii con Homebrew Channel instalado: fases 2 y 3.
  • Wii con STARFALL, cIOSCORP, Riiskii o una versión anterior de SoftMii: fase 3.

1. Twilight Hack e instalación de Homebrew Channel

1.1. Identificar la versión del System Menu

Primero necesitamos saber en qué versión esta nuestra Wii. Para ello, vamos al menú de configuración de la consola, donde veremos su versión en la parte superior izquierda de la pantalla. Si estamos en la versión 3.1 a 3.3, descomprimimos el archivo Twilight Hack -3.3.zip a la raíz de la SD (creará una carpeta llamada private). Si tenemos la versión 3.4 haremos lo mismo pero con el archivo Twilight Hack 3.4.zip.

1.2. Jugar a Zelda un rato (o no)

Si nunca hemos jugado a Zelda antes, necesitamos hacerlo para que cree un archivo de guardado. En caso de haber jugado ya y de tener una partida guardada, haremos una copia de la misma en nuestra tarjeta SD. Cuando descomprimimos el Twilight Hack en la SD, sobreescribe nuestra partida guardada, así que antes de hacerlo le cambiamos el nombre.

1.3. Copiar la partida hackeada

Borramos nuestra partida guardada (si la teníamos) de la consola y copiamos la partida hackeada desde la SD. Tendremos que copiar la correspondiente a nuestra región (más información aquí).

1.4. Jugar a Zelda (ahora más divertido)

Volvemos a arrancar Zelda, cargamos la partida hackeada (Twilight Hack) y empezamos a jugar. Una vez tenemos el control de Link, caminamos hacia atrás o hablamos con el hombre que tenemos delante.

1.5. Instalación del Homebrew Channel

Hecho el paso anterior, comenzará la instalación del Homebrew Channel (HBC). Contestamos ‘yes’ a todo y la consola se reiniciará con el HBC ya instalado.

1.6. Wad Manager

Ahora tendremos un canal nuevo correspondiente al HBC en el menú. Lo iniciamos y cargamos Wad Manager. Pulsamos ‘A’, elegimos ‘Wii SD Slot’, marcamos ‘IOS16.wad’ y pulsamos ‘+’. Cuando termine la instalación pulsamos ‘HOME’.

1.7. Más Wad Manager

Volvemos al HBC y cargamos WadManager IOS16. Pulsamos ‘A’, elegimos ‘Wii SD Slot’, marcamos ‘cIOS249r7.wad’ y pulsamos ‘+’. Una vez instalado pulsamos ‘HOME’ para volver al menú de la consola.

2. Downgrade al firmware 3.2

2.1. IOS Downgrader

Iniciamos el HBC y cargamos IOS Downgrader. Si algo falla, lo ejecutamos otra vez. Ahora los IOS de la Wii son hackeables.

2.2. Backup del System Menu (por si acaso)

Vamos al HBC y cargamos SoftMii NAND Dumper. Tenemos que navegar al siguiente directorio: /title/00000001/. Para ello, nos movemos hasta ‘title’, pulsamos ‘A’, nos movemos hasta ‘00000001’ y pulsamos ‘A’. Ahora tenemos que entrar en el subdirectorio 00000002. Para ello pulsamos tres veces arriba y pulsamos ‘A’. Mágicamente estaremos en su interior. Por último, entramos en el subdirectorio content. Si nuestra consola es PAL, veremos un archivo llamado 00000045.app. Si es NTSC-U, veremos un archivo llamado 000000042.app. En cualquier caso, haremos una copia de ese archivo en nuestra SD seleccionándolo y pulsando ‘+’. Pasado un rato aparecerá en la pantalla el mensaje ‘File written to SD’ indicando la copia satisfactoria. Pulsamos ‘HOME’ para reiniciar la Wii. Esta copia de seguridad la hacemos para recuperar el System Menu original si lo modificamos en el paso 3.4.

2.3. AnyRegionChanger

Iniciamos el HBC y cargamos AnyRegionChanger 1.1 M5. Nos dirá algo sobre WADs koreanos y otras cosas, pasamos de eso y pulsamos ‘A’.
Ahora aparecerá otra pantalla hablando sobre la versión del programa y que con él nos podemos cargar la consola. Obviamente no tenemos miedo, así que pasamos de esta información y pulsamos ‘1’.
En esta nueva pantalla, nos dirigimos a donde pone ‘Install System Menu 3.2 (or 3.3 for K)’; dejamos todo como está (3.2E para PAL y 3.2U para NTSC-U) y pulsamos en ‘Go’. Nos preguntará si estamos seguros, contestamos ‘Yes’. También nos preguntará algo sobre carga de discos koreanos (‘Korean Disc Loading’), le decimos que ‘No’. Finalmente, nos preguntará si queremos instalar ‘Special Starfall Type-Hacks’; le decimos ‘Yes’.
La instalación dura unos pocos minutos; una vez acabada pulsamos ‘HOME’ para reiniciar.

3. El meollo de la cuestión

Ahora que ya tenemos una Wii 3.2 hackeable, instalamos lo realmente importante.

3.1. Hack Remover (no obligatorio)

Si has empezado en la fase 1 o 2, esto no lo tienes que hacer. Si ya tenemos instalado PreLoader, arrancamos el HBC y cargamos Hack Remover. Esto borrará el viejo hacks.ini.

3.2. PreLoader

De vuelta en el HBC, cargamos PreLoader. Pulsamos ‘1’ para instalarlo. Una vez terminada la instalación, la consola debería reiniciarse y aparecer el PreLoader. Si esto no sucede, apagamos la Wii y la encendemos pulsando inmediatamente a continuación el botón ‘RESET’.
Ya dentro de PreLoader, vamos a ‘Systemmenu Hacks’. Activamos los hacks que queramos; por ejemplo ‘Skip disc update check’, ‘Remove NoCopy protection’ y ‘Move Disc Channel’. Bajamos hasta ‘save settings’ y pulsamos ‘A’. Nos pondrá ‘settings saved’. Pulsamos ‘B’ para volver al menú anterior y vamos a ‘Settings’. Ponemos ‘autoboot’ en ‘Systemmenu’ si no lo estaba ya. Vamos a ‘save settings’, pulsamos ‘A’ y después ‘B’ para salir. Elegimos ahora ‘Systemmenu’ para ir al menú de Wii.

3.3. cIOSCORP Installer

Arrancamos el HBC y cargamos CIOSCORP Installer. Se pondrá a instalar los IOS modificados, finalizando tras unos minutos. Salimos y reiniciamos la consola.

3.4. SoftMii Tweak Toy (opcional)

Este paso cambia el aspecto del menú de la consola, asi que si nos gusta como está nos podemos saltar este paso (en mi opinión los temas personalizados son bastante feos). Para hacerlo, vamos al HBC, cargamos SoftMii Tweak Toy y elegimos el app que queramos, teniendo en cuenta que para consolas PAL son los que acaban en 45 y para NTSC-U los que acaban en 42.

3.5. cMIOS Installer (opcional)

El cMIOS nos permitirá cargar copias de seguridad de GameCube directamente desde el Canal Disco. Si no nos interesa esta característica, obviamente no tenemos por que realizar este paso. Para instalarlo, arrancamos el HBC y cargamos cMIOS Installer. Pulsamos ‘A’ y elegimos ‘Network Installation’.

¿Y ahora qué?

Ahora que ya tenemos instalado todo el paquete SoftMii, ¿cómo podemos hacer uso de las características que comentábamos al principio?

Cargar backups de Wii

Simplemente tenemos que meter nuestra copia de seguridad en la consola y tras unos instantes aparecerá el juego en cuestión en el Canal Disco como si de un juego original se tratase.

Cargar backups de GameCube

Los backups de GameCube se ejecutan también desde el Canal Disco. Además, soporta la posibilidad de tener varios juegos de GC en un solo DVD creado con MultiGame ISO Creator.

Eliminar la pantalla de aviso sobre salud y seguridad

Encendemos la consola y pulsamos ‘RESET’ a continuación para entrar en PreLoader. Vamos a ‘Systemmenu Hacks’, nos dirigimos a ‘Replace healthwarning with backgroundmenu’ y pulsamos ‘A’. Bajamos hasta ‘save settings’ y pulsamos ‘A’ para guardar los cambios.

Deshacerse de la música de fondo en el menú

Hacemos lo mismo que antes, pero elegimos ‘No menu BGM’ en el menú de hacks.

Saltarse las actualizaciones incluídas en los juegos

Elegimos ‘Skip disc update check’ en el menú de hacks de PreLoader.

Canales region-free

Marcamos ‘Region free channels’ en el menú de hacks de PreLoader.

Autoarrancar un disco desde el menú de recuperación

Esto sólo lo podemos hacer si tenemos un mando de GameCube. Con el mando conectado en el puerto 1, encendemos la consola y pulsamos ‘Y’ en el pad. Aparecerá una pantalla en negro con la versión de la consola en la parte inferior derecha. Ahora podemos meter un disco (uno de esos para recuperarse de semibricks o un juego cualquiera, por ejemplo) y arrancará automáticamente.

Volver al System Menu original

Si hemos instalado un System Menu ‘tuneado’ en el paso 3.4, quizá no estemos satisfechos con el cambio de aspecto. Para volver al original, copiamos el archivo del que hicimos una copia de seguiridad en el paso 2.2 (000000045.app para PAL, 000000042.app para NTSC-U) en la carpeta SoftMii de nuestra SD. Vamos al HBC y cargamos SoftMii Tweak Toy. Elegimos el archivo citado anteriormente y pulsamos ‘A’ para instalarlo.

GXGeo: Neo Geo en tu Wii

Neo Geo logo

GXGeo es un emulador de Neo Geo AES/MVS para Wii de reciente aparición, tras mucho tiempo esperando por que la consola de SNK hiciese aparición en la scene de la sobremesa de Nintendo. Para usarlo necesitáis tener el Homebrew Channel en vuestra consola (o usar cualquier otro método de carga de homebrew). Si no tenéis el HBC, echad un vistazo a este tutorial. Los ingredientes que necesitáis son: el propio emulador, que lo podéis descargar desde aquí; los archivos de la BIOS, incluídos en este ZIP que debéis descomprimir en la carpeta /gxgeo/roms/ y por supuesto, las ROMs de los juegos 😉

El funcionamiento del emulador, a pesar de estar en su primera versión, es bastante aceptable; la mayoría de los juegos funcionan a una velocidad adecuada y el sonido no está demasiado mal aunque tiene algunos fallos. Soporta el control mediante Wii Remote, Wii Remote + Nunchuk, Classic Controller y mando de GameCube, siendo éste último el que mejor funciona de todos. Entre las pegas que tiene (en esta versión) se pueden citar: no emula raster effects, con lo cual juegos como Neo Turf Masters o Super Sidekicks 2 no se verán adecuadamente; ROMs muy grandes como Metal Slug 2 no funcionan y que carece de una interfaz decente con opciones adicionales (por ejemplo, si estamos jugando a un juego y queremos cambiar a otro tendremos que volver a cargar el emulador).

Usando el Wiimote en Debian

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 proyecto ha adquirido un buen grado de madurez para poder ser usado sin demasiada complicación.

Wiimote es posible en Linux

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.

No todo será tan fácil como instalar y usar, pero tampoco muy complicado para una persona atenta 🙂

WCiid: El Programa

WCiid es el responsable de esta “magia”. En realidad no se trata de un solo programa. WCiid son un conjunto de programas:

  • libcwiid: es la biblioteca (API) que contiene las funciones para poder interactuar con el mando de la Wii.
  • wminput: driver para controlar los eventos de Wiimote y usarlo para manejar el ratón, joystick, etc.
  • wmgui: programa para comprobar el funcionamiento del Wiimote.

Instalación

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 unstable y testing (lenny) de Debian (en Ubuntu están disponibles en los repositorios desde la 7.10). Así que, para instalarlos, bastará un:

#apt-get install libcwiid1 wminput wmgui

Y se instalará todo lo necesario, junto con sus dependencias.

Configuración

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.

Módulo uinput

La rama 2.6.x del kernel de Linux incorpora el driver uinput, 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.

Uinput 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:

# modprobe uinput

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 /etc/modules:

# /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

Bluetooth

Adaptador USB de Bluetooth
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 “mini”).

Instalamos las herramientas necesarias para que el Bluetooth pueda comunicarse con el resto de dispositivos Bluetooth:

# apt-get install bluez-utils

Si queremos hacer una comprobación de que nuestra interfaz de Bluetooth está funcionando, hacemos:

# hciconfig

Veremos algo similar a esto:

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

Para este ejemplo, hci0 sería la interfaz de bluetooth.

Podemos seguir usando más programas incluidos en bluez-utils para, por ejemplo, buscar dispositivos que tengan activado el bluetooth:

tempwin@nzxt-trinity:~$ hcitool scan
Scanning ...
	00:1A:89:7B:86:F6	             paatRi...[!]
	00:1E:35:19:A0:72 	Nintendo RVL-CNT-01

¡Anda! Si ahí tenemos el mando de Wii 🙂 Bueno, y también podríamos mandarle cosillas a Patri 😛

wmgui

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 $ wmgui. También lo tendréis en los menús de aplicaciones de vuestro gestor de escritorio favorito.

wmgui - Interfaz para comprobar el funcionamiento del Wiimote

Si vamos a FileConnect nos pedirá que pulsemos los botones 1 y 2 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ú Settings podemos indicar de qué parte del mando queremos recibir información: Acc Data, IR Data, y Ext Data, 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ú Controls, bueno, os lo dejo para que juguéis un poco 🙂

wminput

Venga, ahora voy a lo interesante, que seguro que después de tanta parrafada ya no os quedan uñas que comer 😛

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 uinput (¿te acuerdas de él?). Editamos el fichero, como root, /etc/udev/rules.d/91-permission.rules (lee el manual que puede que en tu distribución cambie el nombre del fichero) y añadimos al final:

KERNEL=="uinput", GROUP="nuestro-usuario"

Otra opción es escribir:

KERNEL=="uinput", MODE="0666"

Reiniciamos udev:

# /etc/init.d/udev restart

Y, ahora, vamos a hacer magia. En un terminal escribimos $ wminput -w. Hacemos lo que nos indica: pulsamos los botones 1 y 2 hasta que aparezca Ready. Si inclinamos el mando… ¡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 🙂

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 😛

Cuando hayáis conseguido ese “punto de luz”, ejecutamos el wminput de esta otra manera:

$ wminput -w -c ir_ptr

Hacemos lo mismo de antes y cuando veamos Ready, 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.

Posibilidades del Wiimote

¡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? 😉

Los archivos de configuración del wminput se guardan en /etc/cwiid/wminput/. 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:

# 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

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.

Para usarlos, hay que llamar al wminput de esta otra manera:

$ wminput -w -c ruta/al/archivo/de/configuración

Para saber qué nombre tiene cada tecla o botón del ratón, podemos echar un vistazo al fichero /usr/include/linux/input.h, 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:

Para los emuladores de SNES, como snes9x y ZSNES:

# 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

Para el emulador de recreativas por excelencia, MAME:

# 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

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 🙂

Enlaces relacionados

Backup Launcher 0.3 beta

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 Hack e instalar Homebrew Channel

Como probablemente ya hayáis hecho esto, podéis ir al siguiente paso. En caso contrario, tenéis un magnífico tutorial en esta misma página.

2. Desinstalar el cIOS viejo y DVDX

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 CIOS36_rev5-64-v1042.wad) y pulsar – en el Wiimote. Tras reiniciar pulsando HOME, volvemos al HBC y ejecutamos el DVDX. Una vez dentro elegimos la opción de Uninstall.

3. Instalar el nuevo cIOS

Copiamos el ejecutable que viene dentro de este paquetito dentro de una carpeta que resida en /apps de nuestra SD (renombrando a boot.dol 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 DUMP (como a mí me ocurrió), debéis extraer este zip en la carpeta /00000001/00000024/v1042 de vuestra SD. Hecho esto, tomará los archivos necesarios de la tarjeta e instalará el cIOS.

4. Ejecutar el nuevo Launcher

Instalamos el Launcher 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.

Lista de compatibilidad

Lista de compatibilidad del Backup Launcher 0.3b para Wii [ 05/11/2008 ]
Título Región ISO v.BL Soporte/Software Comentarios
Boom Blox PAL Copia 1:1 WiiGator 0.3b DVD-R TDK 1-16x a 2x / ImgBurn Perfecto.
Geometry Wars: Galaxies PAL Desencriptada WiiGator 0.3b DVD-R TDK 1-16x a 2x / ImgBurn Perfecto
Mario & Sonic En Los Juegos Olímpicos PAL Desencriptada WiiGator 0.3b DVD-R TDK 1-16x a 2x / ImgBurn Ha dejado de funcionar, salta un mensaje para que pulsemos EJECT y apaguemos la consola.
Mario Party 8 PAL Desencriptada WiiGator 0.3b DVD-R TDK 1-16x a 4x / ImgBurn Perfectamente jugable, las cargas ya no son tan irritantes.
Mario Kart Wii PAL Desencriptada WiiGator 0.3b DVD-R TDK 1-16x a 2x / Nero Totalmente jugable, incluso el modo Online.
No More Heroes NTSC convertida a PAL Desencriptada WiiGator 0.3b DVD-R Verbatim 1-16x a 8x / K3b No funciona. Al cargarlo el lanzador, se queda la pantalla en verde y la consola se cuelga.
Resident Evil 4: Wii Edition PAL Desencriptada WiiGator 0.3b DVD-R TDK 1-16x a 2x / ImgBurn Perfecto
Pro Evolution Soccer 2008 PAL Desencriptada WiiGator 0.3b DVD-R TDK 1-16x a 2x / ImgBurn
DVD-R Verbatim a 8x / K3b
Perfectamente jugable; el vídeo de la intro va bastante mejor que antes.
Super Mario Galaxy PAL Desencriptada WiiGator 0.3b DVD-R Verbatim 1-16x a 8x / K3b Funciona casi perfecto. Ya no es necesario usar una partida guardada para evitar que se cuelgue al principio del juego.
The Legend of Zelda: Twilight Princess PAL Desencriptada WiiGator 0.3b DVD-R Verbatim 1-16x a 8x / K3b Meh. El lanzador no lo carga
Trauma Center: New Blood PAL Desencriptada WiiGator 0.3b DVD-R Verbatim 1-16x a 4x / ImgBurn Perfecto salvo algunas escenas de vídeo donde se corta un poco el sonido

DVD Backup Launcher para Wii

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, pues la buena noticia es que otro personaje llamado Wiigator se ha sacado de la manga ¡su propio cargador de DVDs para Wii! Y lo mejor de todo es que es código abierto, 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.

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:

Instalar el Canal Homebrew

Para no repetirnos, es mejor que leais el tutorial sobre cómo instalarlo. Es muy importante también que aprendáis cómo meter y cargar aplicaciones en la Wii a través de dicho canal.

Instalar el wad del Custom IOS

Para ello necesitáis tener el cIOS (ojo, esta es una versión arreglada del antiguo cIOS) en la carpeta wad situada en la raíz de la tarjeta SD. A continuación cargamos el WAD Manager 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 'Available files on the device'. Seleccionamos cios_fix.wad (probablemente ya está marcado) y pulsamos + para instalar y A para aceptar. Reiniciamos la consola con HOME.

Instalar el Custom IOS

Volvemos al Homebrew Channel y lanzamos esta vez el DVDX que tendríamos que haber copiado ya a la SD (remember: una subcarpeta dentro de la carpeta apps en la raíz de la SD y cambiándole el nombre a boot.dol). En el menú que aparece elegimos Advanced Install. A continuación en el apartado IOS elegimos (mediante la cruceta digital) IOS249 y le damos a Install. Reiniciamos la consola.

Modificar la ISO del juego

AVISO: 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 “virgen”, por si acaso.

Este paso requiere la common-key de Wii que podéis descargar desde aquí y el programa Backup Creator. Wiigator tiene su propio programa, llamado ExtractPartition (para Windows, Mac y Linux), podéis usar los dos que sirven para lo mismo.

Vamos con el uso del Backup Creator en sistemas Windows:

La common-key (archivo key.bin), el Backup Creator (backup-creator.exe) y la ISO de Wii (con un nombre ‘normal’, i.e. sin caracteres raros ni espacios) han de estar en el mismo directorio. Hecho esto, abrimos una ventana de ‘DOS’ haciendo Inicio → Ejecutar → ‘cmd (sin las comillas) y nos movemos al directorio donde tengamos todo (mediante cd). Una vez dentro, escribimos backup-creator.exe [nombredelaiso], donde [nombredelaiso] es el nombre del fichero ISO en cuestión. Tras unos minutos, aparecerá en el mismo lugar una nueva ISO, llamada partition.iso que es la que tendremos que grabar.

En sistemas GNU/Linux:

Apoyándonos en el uso del WINE (y siguiendo las indicaciones de más arriba), tecleamos:

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

Grabar partition.iso

Grabar la imagen resultante del paso anterior con vuestro programa favorito. Personalmente, he usado K3b 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. Arxel 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.

Lanzar el DVD Backup Launcher

De nuevo en el Homebrew Channel, y tras haber copiado el archivo Backup Launcher a la SD, lanzamos el Backup Launcher. 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.

Jugar 😉

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.

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 aquí (vídeo Flash). Estén atentos a sus pantallas 🙂

Lista de compatibilidad

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.

Lista de compatibilidad del DVD Backup Loader/Launcher para Wii [ 26/10/2008 ]
Título Región ISO v.DBL Soporte/Software Comentarios
Bleach: The Shattered Battle PAL Filtrada Waninkoko DVD-R Fujifilm a 2x / Nero Jugable, pero adolece de gran cantidad de cargas de bastante duración.
Mario & Sonic En Los Juegos Olímpicos PAL Original Ciper Launcher 0.2 DVD-R TDK 1-16x a 2x / ImgBurn Perfectamente jugable aunque la primera carga y las que hay antes de cada evento se hacen bastante largas.
Mario Party 8 PAL Ciper Launcher 0.2 DVD-R TDK 1-16x a 4x / ImgBurn Perfectamente jugable, a pesar de algunas cargas lentas al iniciar y antes de cada minijuego
Mario Kart Wii PAL Original – Filtrada Waninkoko
– WiiGator Launcher 0.1 + Fixed cIOS
DVD-R TDK 1-16x a 2x / Nero – 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.
– El modo Grand Prix funciona totalmente. El Online pierde la conexión antes de empezar. El resto sigue funcionando.
No More Heroes NTSC Scrubbed Filtrada Waninkoko DVD-R Verbatim a 2x / K3b Jugable. Cargas lentas e interrupciones en las escenas de vídeo a causa de la limitación de la velocidad de lectura.
Pro Evolution Soccer 2008 PAL Scrubbed Filtrada Waninkoko DVD-R TDK 1-16x a 2x / ImgBurn
DVD-R Verbatim a 8x / K3b
Perfectamente jugable; el vídeo de la intro va lento y a saltos.
Red Steel PAL Filtrada Waninkoko DVD-R DataMax a 2x / Nero Injugable. Se queda colgado en la primera pantalla al cargar.
Super Mario Galaxy PAL Wiigator Launcher 0.1 + fixed cIOS Funciona con los problemas típicos de los cargadores. Es necesario usar una partida guardada para saltarse la zona de la plaza del inicio del juego, donde se queda colgado.
The Legend of Zelda: The Twilight Princess PAL Filtrada Waninkoko DVD-R Verbatim a 8x / K3b Se juega perfectamente a pesar de los cortes en el audio y las cargas debidas a la baja velocidad de lectura

*More as it comes…*