sábado, 30 de enero de 2016

Instalar CPCtelera en Ubuntu

La CPCtelera es una librería de bajo nivel C que facilita mucho las cosas a quien quiere programar para el Amstrad CPC, ya que permite añadirle diversos elementos y compilar el resultado directamente en un archivo DSK o CDT, imágenes de disco y cinta respectivamente para ejecutar en un emulador o pasar a un medio físico para ejecutar en un Amstrad CPC real.
CPCtelera

Instalación en Ubuntu 14.04 64 bits

  • Nos vamos a nuestro directorio $HOME y nos bajamos la última versión del código fuente tecleando:
git clone https://github.com/lronaldo/cpctelera
  • Instalamos todo lo necesario para su instalación:
sudo apt-get install build-essential bison flex libboost1.55-dev libfreeimage-dev wget unzip wine
  • Procedemos a la instalación en sí:
cd cpctelera
./setup.sh
Si faltara algún elemento lo dirá en el diagnóstico que hace durante la instalación / compilación.

Uso

Lo mejor es consultar en el manual de la propia CPCtelera o en los vídeos que hay en youtube sobre su funcionamiento.

This article is also on English

sábado, 23 de enero de 2016

Instalar y configurar emulationstation en Ubuntu 14.04 64 bits

Emulation stationEmulationstation es un lanzador (front-end) que te permite organizar y lanzar desde un solo sitio todos tus juegos retro por plataforma emulada.

Admite temas y diversos mandos para controlar los menús.
Es software libre multiplataforma y está disponible para Debian/Ubuntu, Windows, Mac y Raspberry pi.

Descarga e instalación

Tanto si lo vamos a usar con Ubuntu como con Debian nos tendremos que bajar la versión para Debian, de la página de descargas.
Una vez descargado podríamos instalarlo desde consola con el comando dpkg pero en Ubuntu se puede hacer haciendo doble clic sobre el archivo, con lo que abriremos el paquete con el centro de software y una vez allí solo hay que pulsar el botón Instalar.

Configuración

Definición de ubicaciones (emuladores y ROMs)

Tenemos que definir donde están los emuladores que vamos a usar y donde están los juegos para ello hay que editar el archivo $HOME/.emulationstation/es_systems.cfg que en principio tendrá el siguiente contenido:
<!-- This is the EmulationStation Systems configuration file.
All systems must be contained within the <systemList> tag.-->

<systemList>
    <!-- Here's an example system to get you started. -->
    <system>

        <!-- A short name, used internally. Traditionally lower-case. -->
        <name>nes</name>

        <!-- A "pretty" name, displayed in menus and such. -->
        <fullname>Nintendo Entertainment System</fullname>

        <!-- The path to start searching for ROMs in. '~' will be expanded to $HOME on Linux or %HOMEPATH% on Windows. -->
        <path>~/emuladores/nes/consolilla/GAME</path>

        <!-- A list of extensions to search for, delimited by any of the whitespace characters (", \r\n\t").
        You MUST include the period at the start of the extension! It's also case sensitive. -->
        <extension>.nes .NES</extension>

        <!-- The shell command executed when a game is selected. A few special tags are replaced if found in a command:
        %ROM% is replaced by a bash-special-character-escaped absolute path to the ROM.
        %BASENAME% is replaced by the "base" name of the ROM.  For example, "/foo/bar.rom" would have a basename of "bar". Useful for MAME.
        %ROM_RAW% is the raw, unescaped path to the ROM. -->
        <!-- command>retroarch -L ~/cores/libretro-fceumm.so %ROM%</command -->
        <command>fceu -fs 1 %ROM%</command>

        <!-- The platform to use when scraping. You can see the full list of accepted platforms in src/PlatformIds.cpp.
        It's case sensitive, but everything is lowercase. This tag is optional.
        You can use multiple platforms too, delimited with any of the whitespace characters (", \r\n\t"), eg: "genesis, megadrive" -->
        <platform>nes</platform>

        <!-- The theme to load from the current theme set.  See THEMES.md for more information.
        This tag is optional. If not set, it will default to the value of <name>. -->
        <theme>nes</theme>
    </system>

    <system>
        <name>snes</name>
        <fullname>SuperNintendo Entertainment System</fullname>
        <path>~/emuladores/snes/roms</path>
         <extension>.smc .SMC</extension>
        <command>fceu -fs 1 %ROM%</command>
         <platform>snes</platform>
        <theme>snes</theme> 
   </system>

</systemList>
Aunque el archivo tiene comentarios explicando donde va cada cosa, voy a aclararlo sobre todo para los novatos o los que no dominan el inglés:
  • La parte que está en negrita es la definición de un sistema que trae el archivo por defecto, está parte hay que duplicarla y ponerla en la correcta posición para cada sistema, como yo he hecho en la parte que está en gris (y que no es del archivo original).
  • Shortname: es el nombre interno del sistema para identificar este sistema, lo importante es no repetirlo y que tenga coherencia.
  • Fullname: es el nombre del sistema completo.
  • Ruta a las ROMs: Ubicación a partir de la cual emulationstation buscará las ROMs del sistema.
  • Extensiones a buscar: terminación de los archivos que emulationstation considerará ROMs.
  • Comando del emulador: lo que habría que ejecutar desde consola para lanzar el emulador y ejecutara automáticamente la ROM (definida como %ROM%), también hay que incluir parámetros para que se ejecute a pantalla completa.
    He puesto tanto la línea original comentada como la que realmente uso.
  • Scraping: Nombre de la plataforma para buscar capturas de los juegos e información extra en internet (debe estar definida en el archivo PlatformIds.cpp).
  • Theme: etiqueta opcional con la que definimos el tema gráfico del sistema.
    Para ver que temas hay disponibles mirad en THEMES.md
Esta parte de la configuración, aunque fácil, es algo tediosa pero una vez que la tienes te queda muy chulo.

Controles

La primera vez que ejecutamos emulationstation (por ahora lo haremos desde consola) detectará cualquier mando que tengamos conectado al ordenador, o no detectará ninguno si solo tenemos conectado el teclado.
En este caso cuando nos pida que pulsemos una tecla la pulsamos y la dejamos pulsada hasta que cambie el menú y empiece a pedirlos las teclas para navegar por los menús.
Al final pulsamos OK con la tecla que hayamos definido como botón A y ya está configurado.
Insisto que aquí definimos las teclas PARA EL MENÚ DE SELECCIÓN DE EMULADORES, luego cada emulador tendrá su propia configuración.
La tecla definida como el disparador B es la que nos permitirá ir atrás en los menús.

Uso

Lo lanzamos desde consola o creamos un acceso directo para hacerlo fácilmente desde el escritorio gráfico.
El uso no tiene mucho misterio, navegamos por los diferentes sistemas y diferentes ROMs, cuando queremos algo pulsamos en el disparador A y cuando queremos volver para atrás en el B.

En próximos artículos veremos como instalarlo y configurarlo en raspberry pi y otros detalles.

Continuará...

viernes, 15 de enero de 2016

Instalar Samba en Centos 6

Para instalar el servicio samba en Centos 6 para compartir archivos hay que hacer lo siguiente:

Servidor

Instalamos los paquetes

yum -y install samba samba-client samba-common

Iniciamos los servicios

service smb start
service nmb start

Hacemos que los servicios arranquen automáticamente

chkconfig smb on
chkconfig nmb on

Creamos una carpeta para compartir y le otorgamos los permisos

mkdir /opt/compartido
chmod 777 /opt/compartido

Configuramos samba para que ofrezca el directorio

Editamos el archivo /etc/samba/smb.conf y le añadimos las siguientes líneas:
# Material para compartir
[compartido]
comment = Material para compartir
path = /opt/compartido
public = yes
writable = yes
printable = no

Damos de alta al usuario linux como usuario samba


smbpasswd -a bobu

Abrimos el cortafuegos

Editamos el archivo /etc/sysconfig/iptables y le añadimos las siguientes líneas:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 135:139 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 135:139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

Reiniciamos los servicios

service iptables restart
service smb restart
service nmb restart

Como cliente

Temporalmente

mkdir /mnt/smb
mount.cifs //servidor/compartido /mnt/smb

Permanentemente

Editamos el archivos /etc/fstab y añadimos la siguiente línea:
servidor:/compartido /mnt/smb cifs default 0 0

Y por supuesto otros sistemas pueden ser clientes: