Archivo por meses: septiembre 2007

Compilando Mupen64 0.5

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 su máquina. Y eso es precisamente lo que haremos, compilar.

Por qué compilar

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 (yast, synaptic, yum…), 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 “sencilla”, ya sea porque no son muy populares, porque son muy nuevos o porque nadie se ha tomado la molestia de preparar el paquete deb o rpm, 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 😛

Mupen64 se puede descargar desde la web 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 violación de segmento o core dump, 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 🙂

Qué necesitamos

  • El código fuente, que podemos descargar desde aquí­
  • Bibliotecas gtk2. Buscad el paquete libgtk2.0-dev o superior.
  • Compilador de C: gcc
  • Bibliotecas de SDL: libsdl1.2-dev
  • Compilador de C++ (g++) y biblioteca avifile (libavifile-0.7-dev). Sólo si queréis activar la opción de realizar VCR (más abajo lo explico)

¡A compilar!

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:

$ tar jxvf mupen64_src-0.5.tar.bz2

También podéis usar vuestro programa preferido para comprimir/descomprimir de forma gráfica.

Bien, ahora tendremos una carpeta llamada mupen64_src-0.5. Vamos dentro de ella y lo que nos interesa es el archivo configure 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:

$./configure
Found a working C compiler (gcc).
Checking SDL…
./config.temp: 3: Syntax error: “(” unexpected
*** Couldn’t find a working SDL library!

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:

echo "int main(void) { if (SDL_Init( 0 ) < 0) { printf( "SDL_Init(): %s\n", SDL_GetError() ); return 1; } return 0; }" >> "$FILE"

Y la sustituimos por esta otra:

echo "int main(void) { return 0; }" >> "$FILE"

Venga, que ahora sí­ que podemos compilar y sé que ¡lo estábais deseando!

$sh configure

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

La siguiente pregunta es sobre activar la opción de realizar capturas de vídeo de nuestras partidas (VCR support). Acordaos de que si elegí­s que sí­, tenéis que tener instalados los dos últimos paquetes que menciono más arriba.

Por último nos pregunta si queremos crear el ejecutable de Mupen64. ¡Pues claro que queremos!

Esperamos un ratillo y tendremos en ese directorio el archivo mupen64, el emulador listo para usar. Podemos ejecutarlo desde consola con un $./mupen64. ¡Y a disfrutar!

Como nota final, también tenemos el código de algunos plugins para compilarlos, pero en esto no hay problema y podemos descargarlos (aquí­) ya compilados, meterlos en la carpeta plugins y usarlos. Son los que terminan en .so. Y ya en el emulador, podemos configurarlos en el menú Configure. Ah, y con el código fuente vienen dos demos técnicas para probar el emulador.

Enjoy.

Enlaces relacionados

Opcion: visor de fuentes multiplataforma

En Windows y MacOS es muy sencillo ver las fuentes instaladas y la tipografía de cada una. En GNU/Linux no lo es tanto, ya que tienes que hacer uso de algún programa externo, que no suele venir incluído con la instalación (esto ya depende de cada distribución).

Opcion es una grata sorpresa en este sentido, ya que nos permite ver qué fuentes tenemos instaladas y su apariencia. Está programado en Java y funciona en Windows, Mac y Linux 🙂

Instalación y uso

Lo primero es descargarlo de su página web. Podríamos descargarnos el ejecutable para Windows (el .exe), pero no es el caso. Vamos a descargarnos el .jar (archivo comprimido de java con los datos y paquetes necesarios para ejecutarse) para poder usarlo en cualquier sistema (tan sólo es necesario tener instalada la máquina virtual de Java).

Bien, tendremos un archivo llamado Opcion_v1.1.1.jar (puede que varíe la versión) y ahora para ejecutarlo (si vuetro navegador de archivos no sabe cómo manejarlo) podemos abrir un terminal y hacer lo siguiente (en el mismo directorio donde esté el programa): $java -jar Opcion_v1.1.1.jar. Así de fácil:

Su uso es muy sencillo. La interfaz está compuesta por tres partes: la lista de fuentes instaladas en tu sistema, una previsualización de la fuente seleccionada (abajo) y una muestra de las fuentes siguientes a la que haya elegido. Vas pinchando en la que quieras para ver cómo es, puedes ponerla en negrita, cursiva y subrayado para observar el efecto y también cambiarle el tamaño.

Una opción interesante es cambiar el texto de ejemplo. Ya que sample text no sirve de prueba muy exhaustiva puesto que querremos saber si una determinada fuente tiene soporte para ciertos signos ortográficos como acentos, diéresis, etc. Para poner un texto que queramos vamos al menú File, luego pulsamos en Set Sample Text y ponemos lo que queramos.

Tiene alguna opción más, pero eso ya os lo dejo a vosotros, para que experimentéis 🙂