viernes, 26 de junio de 2026

AMSpiT lite, el emulador de Amstrad CPC ahora también para GNU/Linux y macOS

AMSpiriT es un emulador para sistemas Windows, pero su creador ha lanzado estos días una versión especial para GNU/Linux y MacOS llamada AMSpiriT lite


Este emulador incluye herramientas para el desarrollo, extracción e incrustación de programas hechos en Locomotive Basic, el potente intérprete que incluían los CPC, algo así como el BasinC para ZX Spectrum que hemos visto con anterioridad, aunque en este caso cuando inyectamos o cargamos un programas basic, ya sea BAS o TXT, parece no hacer nada, pero cuando tecleemos LIST veremos que el programa ya está en memoria. 

Si se quiere, se puede programar con Visual Studio Code, ya que el mismo autor ofrece extensiones para programar e inyectar directamente en el emulador para este editor de programación.

Mi impresión es que se trata de un emulador muy intuitivo, con opciones fáciles de entender y acceder para cualquier perfil de cepecero y, aunque aún le faltan algunas cosas por pulir, el camino que lleva promete ser interesante.

AMSpiriT lite está disponible, en su página de descargas, para:

  • PC de 64 bits con Windows o GNU/Linux.
  • ARM aarch64 de 64bits, por ejemplo para raspberry pi OS.
  • macOS en ordenadores Apple distribuido en formato dmg.
  • Código fuente para instalártelo en otras arquitecturas. 

Las versiones para GNU/Linux, tanto la de PC como ARM de 64 bits se distribuyen como AppImage

También hay variantes para las librerías SDL2 y QT, incluso como core de RetroArch, así que posiblemente lo veamos en un futuro en Batocera, Recalbox, Retropie, etc...

Seguiremos la evolución de este joven emulador, que será la delicia de los trasteadores del poderoso Basic clásico de los CPC entre los que me incluyo.

jueves, 18 de junio de 2026

Uso de cascos o auriculares bluetooth en televisor moderno

Hace unos meses me pillé un par de cascos Bluetooth que venían de regalo en una revista, suelen rondan los 10€ o menos, y estos en concreto funcionan muy bien para que una persona pueda escuchar la tele sin molestar a nadie, incluso si están durmiendo en la misma habitación.


 

Configuración de los auriculares 

La configuración y emparejado es muy sencillo siguiendo las instrucciones del televisor o de los cascos, aunque es un proceso intuitivo que siempre son los mismos pasos:

  1. Encender el TV.
  2. Encender los casos o auriculares. En algunos hay que hacer una pulsación larga para que se pongan en modo visible". 
  3. En la TV ir a las opciones de Bluetooth, Emparejar y elegir un dispositivo que se llame igual que nuestros cascos.
  4. Si pide contraseña, posiblemente sea "0000". 

Ya lo tenemos configurado, a partir de ahora cuando encendamos la TV y luego los cascos se apagará el sonido del televisor y saldrá por los auriculares, cuando apaguemos los auriculares volverá a salir por el televisor. 

A continuación reproduzco las instrucciones que he hecho para mis padres para que usen los cascos y que creo que pueden ser útiles para tener impresas para los que tienen menos destrezas digitales en la familia, una vez configurado el tinglado:

 

Instrucciones uso de cascos 

Uso de los cascos/auriculares

  1. Encender el televisor.
  2. Mantener pulsado el botón de encendido de los cascos, el botón de arriba, hasta que se escuche una voz o se encienda una luz en la parte inferior. 
  3. Si sale en el televisor un mensaje para aceptar el uso de los cascos pulsar el botón del mando del TV para aceptar (botón central de la cruceta).
  4. Ponerse los cascos, 
  5. Se puede subir el volumen o cambiar de canal con  el mando a distancia como siempre.

Finalizar uso

  • Pulsar el botón de encendido/apagado en los cascos hasta que se escuche el sonido por el televisor. 

NO funciona

  • Cargar los cascos con el cargador del móvil enchufándolo al conector correspondiente

 

sábado, 6 de junio de 2026

Soporte para webcam con pantalla de privacidad hecha con TENTE

Hace unos años me compré una webcam de pinza de la marca Ewent de la que estaba muy contento porque fue barata, funcionaba bien y tenía buen soporte para GNU/Linux, pero con los años una de las patas de la pinza se partió por la presión del muelle y por la degradación del plástico, así que tenía que buscarme algún sistema que hiciera de soporte, así que una vez más me acorde de las piezas de TENTE que compre hace algún tiempo a iUnits para futuros proyectos.

 


Como veis le he hecho una "casita" a la webcam para que se mantenga de pie y ya que tenía una pieza de rueda con tentón de mi lo que queda de mi primer TENTE, ¿caja 403? le he enganchado una placa 6x8 y ya tengo pantalla móvil para mostrar u ocultar la imagen. 

En estas imágenes podéis ver la cámara con la pestaña rota:

 


Y la rueda que hace la magia de la privacidad.

 


Para quien tenga una webcam de este tipo se la quiera hacer comprando las piezas, aquí os dejo el modelo 3D, más estilizado y libre de la tiranía del stock. 

 


viernes, 5 de junio de 2026

Usar claves asiméticas SSH con gitlab

GitLab ya no permite subir por https los cambios en tus repositorios, por lo que hay que utilizar métodos "más seguros", aunque se puede crear un token para salir el paso, no lo recomiendo porque es "pan para hoy y hambre para mañana", ya puestos usamos claves asimétricas SSH.

Si NO las tienes creadas, ya las estás creando :D 

Si ya las tienes creadas tienes que seguir los siguientes pasos:

  1. Localiza tu clave privada, está en /home/tuusuario/.ssh y es un archivo que termina con la extensión .pub, vamos a suponer que es id_xxxx.pub
  2. Muestra el contenido con los comandos:
    cd /home/tuusuario/.ssh
    cat id_xxxx.pub
  3. Copia el contenido de la misma en el portapapeles seleccionándola con el ratón, clic con el botón derecho y copiar.
  4. Iniciamos sesión en gitlab con nuestras credenciales.
  5. Ve al avatar, selecciona Preferences > SSH Keys (si tienes dificultades para encontrar la opción tiene un buscador donde puedes poner "SSH Keys").
  6. Pega el contenido que habías copiado previamente en el campo "KEy".
  7. Clic en el botón "Add key".
  8. Verifica la conexión con el siguiente comando, si pide que confías dí que sí:
    ssh -T git@gitlab.com
  9. Ahora tienes que cambiar el archivo .git/config en tu repositorio local de manera que quede como algo así:
    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
    [remote "origin"]
        url = git@gitlab.com:tuusuario/elrespositoriodetuproyecto
        fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
        remote = origin
        merge = refs/heads/master
     
  10. Y listo, ya puedes subir de nuevo tus commits 

jueves, 28 de mayo de 2026

Cadence, emulador Amstrad CPC enfocado al desarrollo

Cadence es un nuevo emulador que está desarrollando Abalore, conocido en la escena Amstrad por hacer diversos desarrollos interesantes como su juego Alcon 2020, por nombrar un botón de muestra.


Está disponible para GNU/Linux, macOS  y Windows, en paquetes AppImage, DMG y EXE respectivamente.  

A pesar de estar en desarrollo, lo he probado como un emulador normal y me ha parecido que va muy fino y preciso, incluso con juegos tan exigentes como Pinball Dreams y algunos demos difíciles de emular.

Abalore ha preparado un appimage en su página de proyectos para simplemente descargar, darle permisos y ejecutar, si tienes una distro Linux actual es muy buena opción, por ejemplo Debian 13.

Sin embargo yo tuve algunos problemas con equipos con la versión anterior de Debian por versiones de una librería, además de que no serviría para una raspberri pi al ser otra arquitectura de hardware distinta.

Ambos problemas los solucioné compilando el código desde su repositorio en github, algo tan sencillo como ejecutar los siguientes comandos en tu terminal:

Nos hacemos administradores con los comandos sudo bash o su- y tecleamos:

apt install git qt6-base-dev qt6-svg-dev libqt6opengl6-dev libportaudio2 portaudio19-dev build-essential
git clone https://github.com/abalore/Cadence
cd Cadence
qmake6 Cadence.pro
make -j"$(nproc)" 

O lo instalamos con RetroMultiInstaller que ya incluye este emulador y hasta crea el acceso directo.

El funcionamiento es muy sencillo:

  • Abajo puedes ver unos botones alargamos para cargar cintas o discos, tanto en la unidad A: como en la B:, para cargar o expulsar hay que hacer doble clic en el botón correspondiente.
    •  También tiene un testigo como los CPC reales mostrando la actividad de las disqueteras.
  • Arriba tienes los menús para seleccionar el modelo de CPC, reseteo, selección de medios y la joya de la corona: las herramientas para desarrollo, debug, inspeccionar memoria, puntos de ruptura...
  • También puedes usar las teclas de función para diferentes operaciones, de entre las que destacamos:
    • F1: Insertar cinta
      • Mayus + F1: rebobina
      • Ctrl + F1: expulsa la cinta.
    • F2, insertar disco en la unidad A:
      • Ctrl + F2: expulsa disco en A:.
    • F3, insertar disco en la unidad B:
      • Ctrl + F3: expulsa disco en B;.
    • F5: muestra el depurador.
    • F6: muestra el ensamblador.
    • F9: desbloquea el límite de la velocidad real del CPC.
    • F10: activa la emulación de joystick.
    • F11: muestra el emulador a pantalla completa.
      • Mayus + F11: monitor fósforo verde.
      • Ctrl + F11: escalado suave.
    • F12: reset.
    • Ctrl + un número del 0 al 5: activa la persistencia del fósforo.
    • Alt + F4: salir del emulador.
  • Todos atajos de pantalla en el depurador y ensamblador podéis verlo mediante la opciones de Menú:
    • Help ► Shotcuts...

 

Cadence, como nos ha recordado su autor, también es un emulador pensado para tener la mínima latencia, tanto el vídeo como en audio, algo que van a agradecer y mucho los jugones más exigentes.

Puedes poner que emule el joystick o no, así como el comportamiento de la tecla mayúsculas para que emule teclas especiales. Os recomiendo que vayáis experimentando las muchas opciones que trae. 

Un emulador llamado a ayudar a los desarrolladores del CPC y a aficionados exigentes y amantes de los sistemas unix. 

viernes, 22 de mayo de 2026

Hacer juegos con bash

SÍ, no lo has leído mal pone "Hacer juegos con bash" no "Hacer juegos para bash", sabíamos que bash es un lenguaje de scripting para GNU/Linux muy potente pero, ¿tanto como para crear un videojuego? Pues sí, de hecho se han creado unos cuantos con él.

Lógicamente, no esperes un juego espectacular, pero hay varios creados para consola que se pueden hasta disfrutar. 

Algunos ejemplos:

  1. Basheroids: estilo Asteroids en Bash. Lo puedes descargar de https://github.com/Kafito/BashGameEngine
  2. Bash 2048: versión del juego 2048 programada en Bash. Lo puedes descargar de https://github.com/JosefZIla/bash2048
  3. bashcrawl: aventura de texto en Bash para aprender a moverte por la terminal y encontrar un tesoro. Se puede descargar de https://github.com/planetacomputer/bashcrawl
  4. Bash Hangman: ahorcado implementado en Bash. Lo puedes descargar de https://github.com/akshayub/Hangman-Bash
  5. Bash Invaders: clon de Space Invaders hecho en script Bash. Lo puedes descargar de https://github.com/Datron/space_invaders
  6. Bash minesweeper: buscaminas en Bash, normalmente en versión ASCII. Lo puedes descargar de https://github.com/matman26/shell-sweeper
  7. Bash Quiz games: cuestionarios interactivos hechos con Bash. Lo puedes descargar de https://github.com/AleksandarKostovic/bash-game
  8. Bash RPGs simples: aventuras de texto y combates por turnos en shell script. Lo puedes descargar de https://github.com/wolandark/bash-dungeon
  9. Bash Snake: versión de Snake escrita en Bash. Lo puedes descargar de https://draft.blogger.com/#
  10. Bash Tetris: Tetris hecho en bash. Lo puedes descargar de https://draft.blogger.com/#
    Bashtris: clon de Tetris hecho en Bash. Lo puedes descargar de https://github.com/dereksgithub/bash-tetris 
  11. Bash Tic-Tac-Toe: tres en raya hecho en shell script. Lo puedes descargar de https://github.com/AshutoshNirkhe/tic-tac-toe
  12. BashVenture: framework clásico de aventura textual para Bash. Se puede descargar de https://github.com/apetro/BashVenture 
  13. Playground: buscaminas para la consola. Lo puedes descagar de https://github.com/abhiTamrakar/playground
  14. Sausage: juego de palabras para terminal escrito en Bash, inspirado en Bookworm. Se puede descargar de https://gitlab.com/christosangel/sausage
  15. shell-adventure: aventura de texto pequeña escrita en Bash. Se puede descargar de https://github.com/aafrecct/shell-adventure
  16. tetri.sh: Tetris sencillo programado en Bash. Se puede descargar de https://github.com/psykulsk/tetri.sh

Algunos de estos programas los podéis encontrar en los repositorios de tu distro, por ejemplo en el paquete bash_games.

 


 

viernes, 15 de mayo de 2026

Crear una imagen para una microSD a partir de los archivos y directorios que hay en una ruta de directorio

Supongamos que queremos crear una imagen para distribuir entre dispositivos que consiste en un conjunto de archivos y directorios contenidos en un archivo ZIP que hay que volcar en una microSD con formato FAT32, por ejemplo para usar algún desarrollo baremetal para algún dispositivo ARM, real o emulado.

Vamos a tomar como ejemplo el paquete del software Symbos40pack para Amstrad CPC del que se habló hace poco en este artículo de AUA.

Para empezar hay que instalarse las dostools ya que vamos usar el formato FAT32:
sudo apt install dosfstools

  1. Descargar el sofware de la dirección:
    https://mega.nz/file/GMAHEQBQ#HGBzIviRVH5PZsMNnPDGBu-B3oa9764b-2vyph3bu_k 

    Cuando descargamos la distribución obtenemos un archivo ZIP que hay que descomprimir en una tarjeta SD que hay que meter en el M4, por tanto el primer paso va a ser descomprimir, lo podemos hacer desde el explorador del sistema o desde consola con el comando unzip.

  2. Para no liarla recomiendo descomprimir en una carpeta donde solo esté el contenido del zip, asumiendo que estamos en la ruta donde hemos descargado Symbos40pack.zip :
    mkdir symbos40
    cd symbos40
    unzip ../Symbos40pack.zip

  3. Hay que averiguar el tamaño del sistema descomprimido.

    du . -sh

    Que nos da un tamaño de 658M, así que habrá que crear una imagen de un tamaño algo más grande, por ejemplo de 1000Mb.

  4. Nos aseguramos que están instaladas las dostools:
    sudo apt install dosfstools
     
  5.  Creamos la imagen de la tarjeta SD:

    dd if=/dev/zero of=../symbos40pack.img bs=1M count=1024
    /sbin/mkfs.vfat ../symbos40pack.img
    mkdir /tmp/imgmnt
    sudo mount -o loop ../symbos40pack.img /tmp/imgmnt
    sudo cp -a . /tmp/imgmnt/
    sudo umount /tmp/imgmnt

Ahora esta imagen la podríamos "tostar" en una microSD o pendrive con el comando dd o usar en un entorno de virtualización, emulación, etc...