viernes, 9 de diciembre de 2016

Convierte tu raspberry pi en un cassette virtual para cargar juegos en tu Amstrad CPC o ZX Spectrum

En un artículo anterior vimos como convertir nuestro PC con Ubuntu en un cassette para el Amstrad ahora vamos a ver como hacer lo mismo con una raspberry pi, lo que abre la puerta a crear nuestro propio computone virtual a los que estén más duchos en electrónica, este artículo solo va a tratar de la parte de software.


Instalar lo necesario

1. Instalamos audacious y las librerías necesarias para compilar playtzx
sudo apt-get install audacious texinfo build-essential automake
2. Compilamos e instalamos playtzx
sudo apt-get install texinfo build-essential automake
git clone https://github.com/ralferoo/cpctools
cd cpctools/playtzx-0.12c/
./configure
make
sudo make install
3. Automatizamos con un script, creamos como root un archivo playcdt en /usr/local/bin con este contenido (luego le damos permisos de ejecución):
#!/bin/bash
playtzx -voc "$1" /tmp/temporal.voc
audacious -pqH /tmp/temporal.voc
rm /tmp/temporal.voc
También os podéis descargar una versión más avanzada del script playcdt con soporte para archivos ZIP y control de errores.

4. Configuración
Hay que indicar que el sonido no va a salir por el HDMI sino por el conector analógico, se puede hacer pulsando con el botón derecho en el altavoz o mediante la aplicación raspi-config

Uso práctico

Nuestra imaginación es el límite, lo más fácil sería conectar el Amstrad CPC a la tele con el cable adecuado junto a la propia raspberry y entre ellas con un cable doble jack (puede que haga falta algún amplificador barato).



Los más avanzados se podrían hacer algún proyecto más ambicioso como un computone digital, incluso pausar y reanudar el proceso mediante comandos linux.

En mi caso y para ver que efectivamente funciona he conectado la raspberry al monitor del PC aprovechando de nuevo que está junto al Amstrad CPC.



He podido cargar diversos juegos sin usar ningún amplificador y, aunque algunos se han resistido algo más, los resultado han sido mejores que con el PC.

sábado, 3 de diciembre de 2016

Haz que tu raspberry te hable en castellano con Festival TTS (o tu PC con cualquier GNU/Linux)

Instalación

Podemos hacer que nuestra raspberry nos hable instalando el programa festival y el paquete para castellano:
sudo apt-get install festival festvox-ellpc11k
Pero si no nos gusta la que trae el repositorio nos podemos instalar las que hizo la Junta de Andalucía (proyecto Hispavoces):
En este caso lo más fácil es bajarlas a un directorio y desde allí instalarlas con el comando:
sudo dpkg -i festvox-*

Configuración

Se puede usar sin configurar nada pasándole el idioma como parámetro, pero si queremos que nos hable con un idioma en concreto hay que pelearse con una serie de archivos.
Para quien se quiera aventurar, puede ver este manual que hay en el foro de raspberry pi... no se si tanto mareo va a merecer la pena.

Uso

Para que el programa nos diga algo tenemos que redirigir con tuberías la salida de un comando, por ejemplo:
echo "Un saludo desde Malagueños originales y libres" | iconv -f utf-8 -t iso-8859-1 | festival --tts --language spanish
La instrucción iconv se usa para no tener problemas con los acentos y eñes, si quisiéramos que nos hablara en inglés no sería necesario:
echo "Hello my friends" | festival --tts --language english
Para que use el idioma por defecto no hay que pasarle el parámetro language.
Las posibilidades son ilimitadas.

Fuentes y enlaces

viernes, 25 de noviembre de 2016

Cargar juegos a tu Amstrad CPC6128 de la salida de audio de tu PC a la entrada de cassette

El Amstrad CPC está viviendo una nueva era dorada pues con la moda de la informática retro hay muchos aficionados que están sacando auténticas joyas para este veterano de los 80 pero para pasar juegos descargados de internet hay que cacharrear en profundidad o comprar aparatos para leer dispositivos modernos.
¿Qué otras alternativas hay para los manazas del soldador como yo? pues una solución es conectar la salida de audio de tu tarjeta de sonido a la entrada de cassette del Amstrad, simple pero efectivo... aunque ha tenido sus dificultades...


Hardware necesario

  • Cable de cassette: realmente no hace falta más se conecta el cable de entrada de audio de cassette a la salida de audio de la tarjeta de sonido (conector verde).
  • Alargador jack: normalmente el cable no llega desde el Amstrad al PC a no ser que los tengas realmente juntos, un simple alargador soluciona la papeleta y hace más sencillas las cosas (menos de 2€ en el chino de abajo de mi casa).

Software necesario

En mi Ubuntu 16.04 64 bits es necesario tener instalados los siguientes programas.

Al lío

Una vez instalados estos programas y conectados ambos equipos hacemos lo siguiente:

En el Amstrad CPC

Tecleamos 
|TAPE
RUN"
Y como nos indica el mensaje pulsamos una tecla

En el PC

  • Convertimos el archivo cdt o tzx en un voc
playtzx -voc mijuego.cdt temporal.voc
  • Reproducimos el archivo con audacious
audacious -pqH temporal.voc

Consideraciones y problemas que han surgido

Para que funcione hay que hacerlo con el volumen adecuado, en mi caso he tenido que poner el volumen a tope pero incluso por encima del 100%, para lo cual me he tenido que ir a la configuración de sonido y señalar permitir más del 100%


Al menos esta vez no he necesitado del mini amplificador chino como en otras ocasiones.

En teoría se podría reproducir directamente el cdt con playtzx mijuego.cdt sin más parámetros pero a mi no me ha funcionado, por eso he tenido que hacer la conversión y luego reproducirlo con audacious.

Debería funcionar también con otros ordenadores de 8 bits como mi ZX Spectrum +2 (no tengo tan claro si valdría para mi Commodore 64), aunque en estos casos el alargador habría que enchufarlo a la salida del cassette conversor.



Asímismo nos podríamos ahorrar el alargador si tenemos un altavoz bluetooth que tenga salida para auriculares, siempre que dé el volumen necesario.
Se puede automatizar en un script que sería algo así:
#!/bin/bash
playtzx -voc mijuego.cdt /tmp/temporal.voc
audacious -pqH /tmp/temporal.voc
rm /tmp/temporal.voc
Bueno, pues ya podemos disfrutar de los últimos estrenos para nuestro Amstrad CPC :)

sábado, 19 de noviembre de 2016

Compilar QB64 en GNU/Linux

QB64 es una nueva reimplementación del legendario lenguaje QuickBasic que lo que nos permitirá ejecutar diversos programas hechos en este lenguaje, además de traer funcionalidades nuevas.

Instalación en GNU/Linux en PC

Para compilarlo en GNU/Linux hay que seguir una serie de pasos.
  1. Instalamos g++ si todavía no lo tenemos instalado, ya sea desde la herramienta gráfica de tu distro o desde consola con el comando:
    sudo apt-get install g++libglu1-mesa-dev
  2. Nos descargamos la última versión de su página de descargas.
  3. La descomprimos en la carpeta que queramos, ya sea desde el explorador gráfico de nuestra distro o desde consola:
    tar -xcvf qb64-xxx.tar.gz
  4. Nos situamos en la carpeta que se creado después de la descompresión y seguimos haciendo las siguientes operaciones en ella.
  5. El código tiene el fallo de que el programador ha creado los archivos en formato DOS así que antes de compilar hay que pasarlo a formato linux con el comando:
    find . -name '*.sh' -exec sed -i "s/\r//g" {} \;
  6. La compilación se hace simplemente ejecutando el archivo ./setup_lnx.sh

Instalación en raspberry pi (raspbian)

Los mismos pasos solo que antes de ejecutar ./setup_lnx.sh hay que editar el archivo internal/c/common.cpp y añadirle la siguiente línea al principio:
#define QB64_NOT_X86
AVISO: Cuando se ejecuta QB64 o programas compilados con este programa la raspberry el uso de la CPU ronda el 90% o más, lo que puede acarrear calentamientos y daños en la plaquita, sobre todo si no está bien refrigerada.
¡Avisados estáis!

Uso

Ya podemos usar el nuevo lenguaje, para ello debemos acceder siempre a esta carpeta y ejecutar  ./qb64
Para ejecutar y compilar programas accedemos la opción de menú Run tal y como hacíamos con el QuickBasic original de DOS.

Yo he compilado con éxito en Ubuntu 16.04 de 64 bits y raspberry pi 2.
¡Ah!, está disponible para GNU/Linux, Windows y Mac.

sábado, 12 de noviembre de 2016

Instalar y configurar LAMP en Centos 7

La instalación de LAMP en Centos tiene una serie de pasos:

Instalación y preparación del propio Centos

  • Para evitarnos problemas nos instalamos Centos 7 Everything ISO.
  • Configuramos la red para que se inicie al principio:
Editamos un archivo que se debe llamar algo como /etc/sysconfig/network-scripts/ifcfg-eno16777736 para que tenga un aspecto similar a este (subrayado en verde lo que hay que cambiar):
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=8bb9564b-95c6-49ee-832d-a76e4063964d
DEVICE=eno16777736
ONBOOT=yes 
PEERDNS=yes 
PEERROUTES=yes

Instalación y configuración de LAMP

  • Actualizamos el sistema e instalamos los siguientes paquetes:
su -
yum update
yum upgrade
yum install httpd mysql mariadb-server php php-mysql phpmyadmin -y
  • Iniciamos los servicios:
service httpd start
chkconfig httpd on
systemctl start mariadb.service
systemctl enable mariadb.service
  • Configuramos el cortafuegos:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  • Para que el cambio del cortafuegos se quede de forma permanente editamos el archivo /etc/rc.local y añadimos esa línea al final
  • Definimos las contraseñas y seguridad en mariadb
mysql_secure_installation
Y ya está, es un poco más difícil que en otras distros pero es bastante seguro y robusto, si tenemos el hardware adecuado se podría utilizar en un entorno de producción.

Fuentes

viernes, 4 de noviembre de 2016

Screencast profesionales con kazam y keymon

Un screencast es una captura en vídeo de lo que pasa en tu ordenador, normalmente se usa para fines educativos y demos.
Una excelente alternativa al famoso y caro programa privativo que se utiliza profesionalmente para este menester son los programas libres y multiplataforma kazam y keymon.

Instalación

Para instalarlos en Ubuntu y derivados de Debian basta con este comando:
sudo apt-get install kazam keymon

Keymon

Para hacer la captura lo primero es ejecutar keymon que muestra la actividad del teclado y el ratón en tiempo real, algo muy útil para hacer un tutorial para subir a youtube, por ejemplo.
Se puede ejecutar desde el menu de aplicaciones de tu distro (sección Gráficos) o con el comando key-mon
 

Pulsando sobre este panel con el botón izquierdo se puede arrastrar y poner donde interese.
Si pulsamos con el botón derecho podremos cerrarlo o configurarlo según nuestras necesidades.

Kazam

Este es el programa que hace la captura, se puede ejecutar desde el menu de aplicaciones de tu distro (sección Sonido y vídeo) o con el comando kazam:
 
 
Como se puede ver en las capturas tiene muchas posibilidades tanto de vídeo como de imagen fija, por ejemplo puedes decirle que guarde los sonidos que genere el sistema (speakers) y/o añadir tus comentarios mientras haces la captura con un micrófono o manos libres (microphone).

Se puede ver que se puede hacer con estas herramientas en este vídeo en el que explico como modificar las particiones en un sistema con varios linuxes para raspberry pi desde el Ubuntu del PC:
 

Incluso puedes añadir vídeo de tu webcam si quieres como explican en el blog del atareao.

jueves, 27 de octubre de 2016

Arranque dual raspbian y recalbox en tu raspberry pi

Raspbian y Recalbox, dos de los sistemas operativos más útiles para raspberry pi y que se complementan mejor en sus respectivas deficiencias, ¿por qué no tenerlos juntos en una misma microsd?
Al lío...

Instalación

  1. Borramos todas las particiones de la microsd que vayamos a utilizar y creamos una nueva que ocupe toda la tarjeta con formato FAT32 (podemos usar gparted desde GNU/Linux por ejemplo).
  2. Descargamos la última versión de noobs (offline and network start).
  3. Descomprimimos su contenido sobre la microsd.
  4. Descargamos la última versión de recalbox.
  5. Descomprimimos el contenido en una carpeta de nuestro disco duro.
  6. Copiamos la subcarpeta recalboxOS-rpi2 o recalboxOS-rpi3 a la carpeta os en la carpeta raíz de la tarjeta SD (según la versión de placa que tengamos, la rpi1 no tiene sentido pues no iría raspbian jessie pixel).
  7. Metemos la tarjeta en la raspberry pi apagada y la encendemos, seleccionamos los dos sistemas operativos y pulsamos Install (i).
  8. Cuando termine el proceso ya tendremos ambos sistemas operativos.

Posconfiguración

Si esto lo hemos hecho en una tarjeta nueva y teníamos otras dos con raspbian y recalbox, ahora es muy fácil copiar lo que había en las antiguas para dejar los sistemas tal y como estaban antes.
Ya no es necesario Kodi en raspbian porque lo tenemos en recalbox (más rápido), pero para tener todas sus funcionalidades hay que copiar la carpeta .kodi que teníamos en el raspbian antiguo (/home/pi/.kodi) A RECALBOX (/recalbox/share/system/.kodi), no al raspbian nuevo.
El el nuevo raspbian se puede instalar el script de retropie y así poder emular también los sistemas que aún no están soportados en RecalBox (DosBox, Amiga, C64...)
Para no duplicar los juegos se pueden guardar en recalbox y mapear las rutas desde raspbian con comandos como éste:
ln -s /media/pi/share/roms/gba/ /opt/retropie/emulators/gpsp/roms
O cambiar las rutas de configuración de cada emulador en raspbian para que apunten a la ruta de recalbox.

Fuentes y enlaces de interés