Mostrando entradas con la etiqueta emuladores. Mostrar todas las entradas
Mostrando entradas con la etiqueta emuladores. Mostrar todas las entradas

sábado, 10 de agosto de 2013

Creando una Recreativa con Raspberry Pi - Parte 3

Advance Mame es el proyecto para emulación Arcade que mejor resultado parece dar en dispositivos ARM. Por este motivo es el que vamos a aprender a compilar para nuestra Raspberry Pi o nuestra CubieBoard. A continuación os dejo los pasos necesarios, compatibles para ambos dispositivos siempre que tengan el sistema operativo Debian Whezzy instalado. Si todavía no habéis instalado Debian Whezzy en vuestra CubieBoard, podéis seguir este tutorial.


Compilando Advance Mame


Como siempre debes hacer login en el sistema para comenzar, recuerda que el usuario si usas Debian Whezzy es pi y contraseña es raspberry.

En primer lugar debes confirmar que estas con arm. Para conocer tu kernel puedes usar el comando:
uname -a
Debería obtener una salida como esta si utilizas Raspberry:
Linux rasberry-pi 3.0.4 #2 mon oct 17 17:39:42 ict 2011 armv61 GNU/Linux
O como esta si utilizas CubieBoard:
Linux rasberry-pi 3.0.24-a10-aufs+ #33 PREEMPT Sun Feb 24 21:17:26 CET 2013 armv71 GNU/Linux
Si no tienes instaladas las X o las opciones gráficas puedes hacerlo con el siguente comando:
sudo apt-get install lxde xorg python geany
En caso de tener algún problema con los mirrors o repositorios, es posible que sea porque han cambiado, puedes probar con el siguiente comando y luego volver a intentar ejecutar el anterior:
sudo apt-get update
Para poder compilar hacen falta algunas herramientas pero para no instalarlas una a una, lo más comod es instalar el conjunto de herramientas build-essential que aglutina las más importantes. Además habrá que instalar, los paquetes de desarrollo para GTK, para Gnome y para sdl. Para instalar todo lo necesario puedes utilizar el siguiente comando, pero ten en cuenta que puede tardar una o dos horas:
sudo apt-get install build-essential libgtk2.0-dev libgnome2-dev libsdl1.2-dev
sudo apt-get install libxv-dev libxv1
Descarga el código fuente de advmame, yo voy a probar con la versión 1.2: http://sourceforge.net/projects/advancemame/files/advancemame/1.2/advancemame-1.2.tar.gz. En caso de que no sea esa ya la última versión, podéis encontrar el nuevo enlace en la página del proyecto advance mame.
Para descargarlo puedes utilizar el programa wget como sigue:
wget http://sourceforge.net/projects/advancemame/files/advancemame/1.2/advancemame-1.2.tar.gz
Una vez descargado hay que descoprimir el archivo:
extract the archive.
tar -xvzf advancemame-1.2.tar.gz
cd advancemame-1.2/
Ahora hay que instalar la versión de compilador 4.7 y configurarlo como compilador por defecto.
sudo apt-get install gcc-4.7
sudo apt-get install g++-4.7
A continuación hay que configurarlos como compiladores por defecto, para eso hay que cambiar los enlaces simbólicos que hay en la carpeta /usr/bin. Utilizando el comando grep podemos filtrar el contenido de la carpeta /usr/bin para comprobar si efectivamente existen los enlaces al compilador que queremos establecer como nuevo compilador por defecto, en este caso es la versión 4.7:
sudo ls -la /usr/bin | grep gcc-4.
sudo ls -la /usr/bin | grep g++-4.
Ahora eliminamos los enlaces simbólicos actuales si existen:
sudo rm /usr/bin/gcc
sudo rm /usr/bin/g++
Creamos los nuevos enlaces al compilador que queremos utilizar:
sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++
Por último queda configurar y compilar, esto puede tardar entre 2 y 3 horas:
sudo ./configure
sudo make
sudo make install


Configurando un servidor FTP


Ahora para probar nuestras ROMs instalamos un servidor FTP, en concreto para debian Whezzy utilizamos vsftpd y a través de un cliente FTP como por ejemplo Fillezila podemos cargar las roms en nuestra Cubieboard/Raspberry Pi.
sudo apt-get install vsftpd
Una vez que vsftpd está instalado, hay que configurarlo, para ello editamos su fichero de configuración de la siguiente forma:
sudo nano /etc/vsftpd.conf
Ahora hay que descomentar las lineas correspondientes a las siguientes eliminando el simbolo # almohadilla, o bien sustituyendo los valores YES por No o viceversa hasta dejarlo de la siguiente forma:
Anonymous_enable=NO
Write_enable=YES
Local_enable=YES
Ascii_upload_enable=YES
Ascii_download_enable=YES
Por último hay que reiniciar la cubieboard o raspberry pi, y ya tendremos la posibilidad de conectar a ella a través del servidor FTP utilizando su IP y el usuario pi con contraseña raspberry. Cargamos la ROM de prueba en la carpeta /home/pi/.advance/rom/ utilizando el cliente FileZilla. Para conocer la IP de la cubieboardo raspberry podemos utilizar el comando ipconfig .


Configurando los modos de vídeo


Para poder probar las ROMs en primer lugar hay que configurar la señal de reloj para generación de vídeo dependiendo del tipo de pantalla utilizado, en mi caso para una pantalla LCD he utilizado los siguientes valores:
device_video_clock 10 - 50 / 31.5 / 55 - 130 
En último lugar hay que configurar las opciones de vídeo para mame utilizando el programa advv. Para lanzarlo hay que escribir su nombre en la terminal:
advv
Una vez en la pantalla de configuración aparecerá toda una lista de configuraciones posible. En la esquina inferior izquierda aparece un cuadro cuyo valor será OUT OF RANGE si la configuración no es valida y PROGRAMABLE si la configuración se puede utilizar para nuestro emulador. Hay que ir desplazándose hasta encontrar una resolución con el valor PROGRAMABLE. En la parte superior de la pantalla puede verse que apareen los diferentes tipos de color, hay que elegir uno compatible con nuestro dispositivo utilizando las flechas derecha e izquierda, en mi caso he elegido brg32. Por último pulsando el botón ENTER se accede a la configuración del modo de vídeo. En caso de que de un error significa que la configuración no es valida y hay que seguir buscando hasta que aparezca una imagen de una rejilla.


Una vez en la pantalla de configuración habrá que centrar la rejilla utilizando las flechas para alinearla a la esquina superior izquierda y luego utilizando los botones U para extender por la derecha y SHIFT+U para reducir por la derecha. De igual modo con la tecla A se extenderá la pantalla hacia abajo y con SHIFT+A se reduce hasta conseguir que quede centrada. Una vez conseguido se pulsa la tecla ENTER y se volverá a la lista anterior guardando la configuración y se pulsa la tecla SPACE para habilitar dicha selección ya que las únicas que MAME podrá emplear serán aquellas que hayamos habilitado y por tanto si no las habilitamos no podremos iniciar la ejecución de ninguna ROM. Es necesario repetir este proceso para varias resoluciones dado que cada juego tiene una resolución y con esto quedarán ajustadas todas las resoluciones más utilizadas. Por último pulsamos la tecla F2 para guardar los cambios y ESC para salir. También es posible crear una configuración propia con la configuración que deseemos utilizando el botón F6 y siguiendo los pasos.



Hecho esto ya podemos volver a la consola y probar la ROM utilizando el comando advmame y un espacio seguido del nombre de la ROM. Hay que tener en cuenta que las imagen aparecerá mal porque todavía queda configurar los modos de vídeo dentro del emulador.


En primer lugar pulsamos de forma alternadas izquierda y derecha o bien pulsamos las teclas O y K sucesivamente para pasar la advertencia inicial. A continuación pulsamos el botón TAB y aparecerá el menú de configuración de MAME.



Ahora hay que seleccionar la opción VIDEO, pulsar ENTER y modificar la opción de color hasta que la imagen se aclare.


Ahora ya sólo queda realizar los ajustes al gusto y disfrutar de tus viejos juegos en tu CubieBoard/Rasbperry Pi. A la hora de obtener las ROMs os recuerdo que Advance Mame está basado en la versión 0.106 de MAME y por tanto es compatible con las ROMs creadas para dicha versión.

miércoles, 31 de julio de 2013

Creando una Recreativa con Raspberry Pi - Parte 2

Por fin vuelvo a las andadas, ya he terminado mi recreativa. Finalmente no la he montado con Rasbperry Pi sino con CubieBoard. El caso es que he probado diferentes sistemas de recreativas con Raspberry Pi y os comento los mas interesantes que he encontrado. De algunos de ellos he hablado en el blog anteriormente, así que para aquellos que estén pensando en montar una recreativa con Raspberry Pi, voy a hacer un pequeño repaso.

En primer lugar tenemos MamePi que va por su versión 0.7.6, este sistema incorpora Mame, Play Station, Super Nes, Nes y Mame4all. Originalmente funcionaba con Advance Mame, así que no se que diferencia de rendimiento se obtendrá al emplear Mame4all en su lugar. El caso es que SheaSilverman es el creador de este sistema y ha sido la luz que ha guiado mis pasos en esta oscura senda de la emulación en arquitecturas ARM. Os recomiendo echar un vistazo a su blog porque no tiene desperdicio.



Otra interesante opción es utilizar RetroPie. RetroPie es una completo sistema de emulación que incorpora multitud de máquinas recreativas y viejos computadores personales. Os dejo un vídeo para que veáis su funcionamiento, pero realmente el sistema es super completo, sus arquitectos han pensado en todo.


La última opción que he encontrado y que particularmente a mi es la que más me ha gustado es ChamaleonPi. Es una excelente y completa plataforma con una enorme colección de emuladores, consolas, computadores antiguos y SCUMM. Además Carles Oriol que es su creador, es un paisano de Cataluña a quien me gustaría dar la enhorabuena por el gran trabajo que ha realizado.



Todos estos proyectos son verdaderamente geniales, y sus creadores han hecho un gran trabajo. Sin embargo tras probar el funcionamiento de MAME sobre Raspberry Pi, llegué a la conclusión de que no es lo que yo buscaba. Para cualquier otra plataforma los emuladores consiguen un resultado muy bueno, pero MAME tiene el problema de no ser un sistema excesivamente optimizado ya que debe ser capaz de emular un número muy elevado de máquinas y para ello lo que se hace es sobrecargar el procesador, además MAME no suele hacer uso de aceleradoras lo que deja al procesador con todo el trabajo. En esta situación, creo que Raspberry no es el equipo ideal para MAME aunque otros emuladores funcionan estupendamente.

Como comente al comienzo de la entrada voy a utilizar CubieBoard, En próximas entradas voy a contaros paso a paso como crear el sistema vosotros mismos, cumpliendo las necesidades que encontraremos para obtener una maquina recreativa plenamente funcional. Acaba de salir CubiBoard 2 que incorpora un microprocesador A20 de doble núcleo, sin embargo me voy a basar en CubieBoard 1 ya que su precio es menor y para la mayoría de juegos es suficiente. A continuación os dejo una foto de la maquina que estamos montando.


La idea es que la CubieBoard quede dentro, junto a una fuente de alimentación y que desde fuera únicamente haya que conectar el cable de corriente y el cable HDMI, con un botón de encendido con la idea de que sea compacto.

sábado, 16 de marzo de 2013

Rasberry Pi para nostalgicos... Emuladores y más emuladores

Acabo de descubrir por casualidad una distribución para Raspberry Pi, muy interesante. Esta distribución se llama Camaleón e incorpora una enorme cantidad de emuladores de ordenadores clásicos, arcade y viejas videoconsolas como Nes, SNes, Mega Drive, Atari,... y... para los fanáticos de juegazos como Maniac Mansion, Monkey Island y otras maravillas de Lucas Arts.... SCUMMVM... en fin una verdadera maravilla, aquí os dejo las notas de la versión 0.3 donde podéis encontrar la guía de controles y aquí os dejo una lista de los emuladores incluidos.

Para instalarlo sólo hemos de descargar el torrent de la versión 0.3 de aquí.

Eso es todo. De momento el proyecto tiene algunos detalles a pulir, por ejemplo en mi caso no funciona el HDMI, por defecto aparece la imagen a través del conector RCA. Y en el caso del mame, hay que modificar el enlace simbólico aquí os dejo un enlace a la conversación con los detalles, ya que todavía no está claro el tema. En teoría hay que eliminar el enlace simbólico que hay y crear otro, pero en mi caso me encontré con que no era un enlace simbólico sino un directorio y tuve que eliminarlo por lo que, si se aclara este tema finalmente ya lo comentaré en detalle.

Os dejo un vídeo de su creador Carles Oriol a quien aprovecho para mandar un cordial saludo y mis felicitaciones por el trabajo. En breve subiré el vídeo que hice en casa con mis pruebas.


Os adelanto que los juegos de Mame, con Advance Mame suele funcionar un poco lentos en algunas ocasiones, pero otros muchos funcionan a la perfección. Por otro lado, SCUMM y los computadores antiguos que he probado funcionan a la perfección. Si tenéis un rato, os recomiendo que lo probéis porque es una verdadera gozada.