viernes, 4 de julio de 2025

RetroMultiInstaller: los menús solo muestran apps compatibles con el ordenador que lo ejecuta (e instalación desatendida)

RetroMultiInstaller, el script facilitador de instalaciones tenía el defecto de ofrecerte todos los scripts de instalación en sus menús, aunque no fueran compatibles con tu hardware, así por ejemplo, si lo ejecutabas en una Raspberry Pi podrías terminar instalando un programa que no fuera compatible con ARM y que por tanto no iba a funcionar.

También se ha corregido la instalación por lotes desatendida y ya aparecen solo los programas ordenados para la arquitectura actual.
 
Recuerda que, si ya tienes instalado RMI, lo puedes actualizar seleccionando las opciones:
Update ► update own
 

¿Como lo he hecho y como puedes añadir más instaladores?

Para solucionar esto he incluido un nuevo mecanismo que mira las arquitecturas declaradas en los archivos menu/*.txt de tal manera que la definición de cada línea de script quedaría ahora con esta estructura:
arquitecturas etiqueta definición
  • Las arquitecturas se ponen una detrás de otra separadas por el carácter tubería "|" por ejemplo, NUNCA ESPACIOS NORMALES.
  • La etiqueta sigue siendo el identificador del script.
  • La definición tampoco permite ESPACIOS NORMALES pero sí espacios duros.
Algunos ejemplos, que podemos encontrar casi todos en el archivo menus/multisystem.txt:
  • Si ponemos como arquitectura 'all' no filtrará, es decir, mostrará el script del menú independientemente del hardware desde el que ejecutemos RMI:
    all ZEsarUX ZEsarUX multi emulator
  • Podemos poner una sola arquitectura, en la siguiente línea tenemos un script que solo se mostraría en Raspberry pi OS de 32 bits:
    armv7l Retropie Multi Emulationstation Enviroment
  • Un ejemplo de un script que se ejecutaría en varias arquitecturas, en este caso solo para Intel de 32 o 64 bits o Raspberry pi OS de 64 bits.
    x86|x86_64|aarch64 RetroVM Retro Virtual Machine
  • Las opciones para abrir otro menú o salir del actual deben tener la etiqueta menu para no aparecer en las opciones de la instalación desatendida:
    menu Exit Return to Main Menu
  • Si en un momento un script dejara de funcionar ya no teníamos que borrarlo podemos dejarlo para arreglarlo más adelante y en el menú poner como arquitectura algo así como 'none' o 'disabled':
    none oldgame Old Game
 

He encontrado un programa que NO funciona, ¿qué hago?

Ahora queda la ardua tarea de ir comprobando que las arquitecturas definidas en cada script se corresponden con los programas que se pueden ejecutar en cada arquitectura, como seguro se me van a pasar muchos necesitaré vuestra ayuda en los comentarios para que me indiquéis los que no funcionan.
 
Aunque si abrís una incidencia en el propio gitlab me resultará más fácil tener el seguimiento de lo que está pendiente de arreglar. ;-)



Instalación desatendida por lotes (batch)

viernes, 27 de junio de 2025

Instalar dos versiones distintas de php en Debian

Para instalar varias versiones de PHP, por ejemplo, 7.4 y 8.3 en Debian 12 , podemos usar el repositorio de Ondřej Surý, que es la fuente recomendada y más actualizada para múltiples versiones de PHP en Debian. Aquí tienes la guía paso a paso:

  1. Actualizamos el sistema:
    sudo apt update
    sudo apt upgrade -y
  2. Instalamos las dependencias que vamos a necesitar:
    sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common curl wget
  3. Agremos el repositorio de Ondřej Surý:
    sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
    sudo apt update
  4. Instalamos php 7.4 y sus módulos necesarios:
    sudo apt install -y php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip
  5. Instalamos php 8.3 y sus módulos necesarios:
    sudo apt install -y php8.3 php8.3-cli php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip
  6. Comprobamos las instalaciones:
    php7.4 -v
    php8.3 -v
  7. Podemos cambiar la versión activa de php manualmente desde la línea de comandos:
    sudo update-alternatives --set php /usr/bin/php7.4
    O para PHP 8.3:
    sudo update-alternatives --set php /usr/bin/php8.3
  8. O Habilitar y arrancar PHP-FPM para cada versión:
    sudo systemctl enable php7.4-fpm
    sudo systemctl start php7.4-fpm
    O para PHP 8.3:
    sudo systemctl enable php8.3-fpm
    sudo systemctl start php8.3-fpm

Esta metodología es segura y ampliamente usada en entornos de producción y desarrollo.


Configuración extra para Moodle

Para usar con Moodle hay que instalar también los siguientes paquetes:

sudo apt install php7.4-intl php7.4-xmlrpc php7.4-soap

Y

sudo apt install php8.3-intl php8.3-xmlrpc php8.3-soap 

En los archivos  /etc/php/X.Y/fpm/php.ini hay que añadir o cambiar en la sección correspondiente:

max_input_vars = 5000 

Y reiniciamos los servicios php-fpm

sudo systemctl restart php7.4-fpm

sudo systemctl restart php8.3-fpm



¿Qué diferencia, ventajas e inconvenientes, hay entre usar update-alternatives o php-fpm?

update-alternatives y PHP-FPM cumplen funciones distintas en la gestión de PHP en sistemas Debian:

  • update-alternatives: Herramienta del sistema para seleccionar la versión de un ejecutable por defecto en la línea de comandos (CLI), como php, phar, etc.
  • PHP-FPM: Gestor de procesos FastCGI para PHP, diseñado para servir aplicaciones web de alto rendimiento, gestionando pools de procesos PHP que atienden peticiones web a través de sockets o puertos TCP.

Cuadro comparativo:

Característicaupdate-alternativesPHP-FPM
PropósitoSelección de versión de ejecutable CLIProcesamiento eficiente de peticiones web PHP
ÁmbitoLínea de comandos y scripts del sistemaServidores web (Apache, Nginx, etc.)
Cambio de versiónAfecta solo a la CLI (no al servidor web)Cada pool puede usar una versión diferente
ConcurrenciaNo aplicaManeja múltiples peticiones concurrentes
PersonalizaciónLimitada a la selección de ejecutablePools configurables por usuario, dominio, etc.

 

Consideraciones:

  • Cambiar la versión de PHP con update-alternatives solo afecta a la CLI, no a los sitios web servidos por PHP-FPM.
  • Para que un servidor web use una versión específica de PHP-FPM, debes apuntar el socket o puerto correspondiente en la configuración del servidor web.
  • No puedes tener un único socket genérico para alternar versiones de PHP-FPM sin perder la posibilidad de ejecutar varias versiones simultáneamente.
  • PHP-FPM es imprescindible para entornos web modernos y de alto tráfico, mientras que update-alternatives es útil para scripts y tareas del sistema.



viernes, 20 de junio de 2025

Copiar archivos clave de un Batocera a otro

Imagina que un amigo te ha pasado una imagen para raspberry pi, ya preparada con una colección estupenda de roms y bios de libre difusión para raspberry pi 3+ pero tu tienes una raspberry pi 2, una 4 o una 5, por supuesto no te funciona, ¿qué haces?

Pues lo más sencillo es bajarse la versión para tu modelo concreto de la página oficial de Batocera y copiarte los directorios roms y bios de la imagen de tu amigo a tu tarjeta, pero ¿cómo?

Hay varias maneras de conseguir esta "proeza", hoy voy a explicar la más evidente, copiar el contenido de la carpeta /share de una imagen de batocera a otra, al menos los subdirectorios roms y bios completos.

Para complicarnos lo mínimo vamos a "tostar" la imagen que nos ha pasado nuestro amigo a un pendrive que tenga como mínimo el tamaño de la imagen,  con el tamaño suficiente y conectarlo a un puerto USB.

La imagen microSD que hemos tostado de la página oficial de batocera la conectaríamos al PC, si usamos GNU/Linux bastaría con ejecutar mc como administrador (root) y copiar el contenido de cada carpeta del pendrive a la microSD.

Pero... ¿y si usamos Windows?

Hay soluciones para leer particiones de GNU/Linux, como ext4, desde el ventanucos pero son bastante inestables y nos pueden dar algún disgusto, así que la solución correcta es hacerlo de manera nativa.

Simplemente, nos creamos un pendrive de autoarranque con alguna distribución live sencillota, por ejemplo Linux Mint Mate que ya incluye mc (aunque si usamos otra la podíamos instalar en el live temporalmente) y seguir los mismos pasos que si tuvieramos un GNU/Linux nativo. Así ni siquiera tocamos el sistema que trae el ordenador y no lo comprometemos con software experimental y puede que hasta de dudosa procedencia.

viernes, 13 de junio de 2025

Lo mínimo para hacer un video con presentación una sola persona con un móvil y edición básica con GNU/Linux

Este experimento lo hice para crear el vídeo sobre como resetear un Android TV.

En esta ocasión usé dos programas, ffmpeg y vlc, que si no los tienes instalados ya estás tardando. 

sudo apt install ffmpeg vlc

Vamos al lío:
  • introduccion.mp4En la primera parte de vídeo aparezco en mi cuarto de ordenadores con algunos equipos de fondo, este trozo lo grabé yo mismo con el móvil haciendo un "video selfie", pero como en todos los selfies la imagen sale como si te miraras en un espejo, por tanto este trozo requería un efecto de espejo horizontal, para ello usé el siguiente comando de ffmpeg:

fmpeg -i introduccion.mp4 -vf "hflip" introduccion_corregida.mp4

 

  • video_principal.mp4Después grabé en otro archivo todo lo que fue la operación de wipe con la cámara normal del móvil, aquí el problema era hacerlo todo con una sola mano, pero por lo demás fue un vídeo que no requirió modificaciones.

  • video_final.mp4Así que ya solo me quedaba unir los dos trozos, en esta ocasión usé VLC en modo CLI, es decir, un comando de consola:

vlc introduccion_corregida.mp4  video_principal.mp4 --sout "#gather:std{access=file,dst=video_final.mp4}" --sout-keep


Resumiendo: 

introduccion_corregida.mp4 +  video_principal.mp4 = video_final.mp4

Y ya está, terminado y listo para subir :-D

viernes, 6 de junio de 2025

Script bash para comprimir cada directorio de la ruta actual en un archivo zip independiente

Supongamos que tenemos, en una ruta determinada de nuestro disco, varias carpetas cada una con los archivos correspondientes a un determinado programa y queremos que el contenido de cada una se guarde en un archivo zip independiente, lo podíamos hacer con un script como éste:

#!/bin/bash
for dir in */; do
    dirname=$(basename "${dir}")
    cd ${dir}
    zip -r "../${dirname}.zip" .
    cd ..
done

El script hace lo siguiente:

  1. Recorre la lista de nombres de directorios
  2. Nos cambia a la ruta
  3. Comprime el contenido en un archivo zip con el mismo nombre que el directorio y guardándolo en un nivel inferior de la ruta, es decir, donde ejecutamos el script.
  4. Vuelve a la ruta original, bajando un nivel.

Este script lo copiaría con el nombre dir2zip en la ruta /usr/local/bin para que esté disponible desde cualquier lugar de nuestro disco, ya que debe ejecutarse desde el mismo directorio.

Se puede mejorar fácilmente para que haga otras cosas:

  • Pasar la ruta opcionalmente como parámetro.
  • Comprimir solo un nivel e ir ejecutándose recursivamente, si esa es nuestra necesidad.
  • Borrar la carpeta después de una compresión exitosa.

Si se te ocurre maneras de mejorar en el script exponlas en los comentarios y así seguimos aprendiendo entre todos.

Quien sabe lo mismo me animo y explico más adelante como hacer el script contrario: zip2dir.

viernes, 30 de mayo de 2025

Usar impresora Epson WorkForce WF-2835 en Debian GNU/Linux

Estos días un compañero del trabajo me ha regalado esta multifunción Epson WorkForce WF-2835.

 


Se trata de una multifunción, con alimentador de hojas, Wi-Fi y muchas de esas cosas modernas que tienen los aparatos de ahora, ¿podré echarla a andar en mi Debian GNU/Linux?

La podemos conectar con el tradicional cable USB pero ya que tenemos, vamos a...

Configurar la Wi-Fi 

Me ha sorprendido la facilidad para configurar la Wi-Fi:

  1. Eliges el SSID de tu Wi-Fi
  2. Tecleas la contraseña, bien usando el teclado virtual o con el teclado tipo móvil del panel.
  3. Pulsar OK

Compruebo si mi i7 con Debian ha detectado la impresora en red directamente sin hacer nada más, para ello me voy a las opciones del menú:

Sistema ► Administración ► Configuración de Impresión
Y efectivamente, ya aparece entre las impresoras configuradas en mi ordenador:


Pero si no es así toca instalar...

Los drivers

Hay que instalarse tanto el driver para impresora como el driver y utilidad para el escaner,  en el caso de Debian, el de impresora lo tenemos en los repositorios, así que simplemente hay que ejecutar:

sudo apt install epson-inkjet-printer-escpr epson-printer-utility sane-airscan escputil

El driver para el scanner NO lo tenemos ni en los repositorios ni en la página oficial de Epson, así que hay que descargárselos de freeprinterdriverdownload.

Hay que instalarse el driver para impresora como para el escaner, y que vienen como paquetes deb, tanto para 64 bits como para 32 bits, en mi caso instalo los de 64 bits y arreglo dependencias al final:

wget   https://download2.ebz.epson.net/epsonscan2/common/deb/x64/epsonscan2-bundle-6.6.42.0.x86_64.deb.tar.gz

tar -zxvf epsonscan2-bundle-6.6.42.0.x86_64.deb.tar.gz

cd epsonscan2-bundle-6.6.42.0.x86_64.deb

./install.sh


Uso de Epson Scan 2

Para acceder a este programa de escaneo por red nos vamos a las opciones de menú:

Aplicaciones ► Graficos ► Epson scan 2

La primerz vez nos pedirá la dirección IP, pero nosotros mejor le ponemos el nombre cualificado para que no nos lo cambie el router, que puede ser algo así como EPSON161EB9.local (*)

Le damos a aceptar, lo busca y ya tenemos operativo el escáner inalámbrico:


Si los conectamos por cable como siempre tendremos disponible el escaner por el programa estándar de escaneado de GNU/Linux.

 (*) El nombre cualificado del dispositivo lo podemos obtener con aplicaciones como AngryIPScanner o comandos de red de consola para descubrir los dispositivos conectados a nuestra Intranet.


viernes, 23 de mayo de 2025

Pysol Fan Club Edition, el juego definitivo de cartas es software libre

Pysol Fan Club Edition, es una alucinante colección de juegos de cartas que instalamos en un solo paquete:

sudo apt install pysolfc

Incluye la friolera de alrededor de ¡1200 juegos de cartas! organizados por categorías.


Permite cambiar algunas reglas y la baraja que queremos usar, incluso cierta personalización como descargar conjuntos de cartas.

Os animo a que lo instaléis y lo probéis, ya que si os gustan los juegos de cartas no os vais a aburrir.

viernes, 16 de mayo de 2025

¿Cómo quitar peso a una imagen con GIMP?

GIMP, aparte de ser un gran programa de retoque fotográfico también es capaz de hacer operaciones tanto operaciones complejas como algunas tan sencillas como bajar el peso de una imagen, es decir, el tamaño de archivo y lo que ocupa en nuestro disco, evitando problemas de carga en páginas web, libros electrónicos, dispositivos de almacenamiento limitado, etc...

El primer paso es, evidentemente abrir la imagen que abriremos como abrimos cualquier archivo en cualquier programa.


Una vez abierto hay diversas estrategias para bajar el tamaño del archivo:

  • Limpiar la imagen: mediante filtros o incluso aplanado manual se puede bajar muchísimo el peso de la imagen.
  • Reducir el tamaño: ya sea reduciendo el cuadro o reescalando.
    En el menú 'Imagen' puedes explorar las opciones 'Tamaño del lienzo...' y 'Escalar la imagen...'
  • Reducir la cantidad de colores.
    La manera más sencilla es ir a las opciones:
    Colores ► Posterizar
    y vamos aumentando uno a uno el valor de 'Niveles de posterización', es decir, el número de colores, hasta que la imagen se vea razonablemente bien.

Para guardarlo, nos vamos a las opciones Archivo y Exportar, ya que si vamos a guardar lo salvará como un archivo nativo de GIMP, algo muy interesante para editarlo por capas por ejemplo, pero en este caso no nos interesa ya que lo que queremos es que siga con el mismo formato y menos tamaño.

Probamos a grabarla con la extensión .png si se trata de una imagen generada por ordenador o con transparencias.

Si es una fotografía seguramente obtendremos mejores resultados con la extensión .jpg.

¡Ojo! jpg es un formato con pérdidas mientras que png no tiene pérdidas, solo comprime la imagen. 

¿Conoces más trucos para reducir el peso de imágenes con GIMP? Compártelos en los comentarios.

viernes, 9 de mayo de 2025

El poder de lo analógico (y de lo que no precisa Internet)

A estas alturas seguro que te has enterado de lo nos ha pasado hace dos lunes en la Península Ibérica, incluso si no vives en este país.

Un apagón que nos tuvo a muchos sin electricidad, ni internet, ni agua... para algunos casí un día en el siglo XIX.

Recuerdo hace no muchos años cuando se quería enterrar definitivamente la radio convencional de la que se quería hacer un apagón como se hizo con la tele análogica primero y con la TDT normal después, para que nos gastáramos un buen dinero en la radio digital, ya que de todas formas "nadie escuchaba la radio en la radio". Esta vez no coló y la rueda de la obsolescencia programada no dio esta vuelta de tuerca, afortunadamente para todos.

Como aficionado a la retroinformática, ya estoy acostumbrado a que me diga gente ignorante que tire esos cacharros viejos, pues esta vez un cacharro viejo ha sido mi principal fuente de información.


Algo poco conocido es que la mayoría de los móviles ya tienen radio, ya vimos la semana pasada como hacerlo.

Para salir del paso puede estar bien, el problema es que agotará la batería antes que la pilas un transistor o un walkman usando solo la radio, y el móvil puede que lo necesitemos cargado más adelante.

Para controlar el tiempo, mi Casio con años de autonomía, no se va a necesitar ser cargado todos los días como un smartwatch.


En otras ocasiones hemos tenido incidencias en los que "solo" nos hemos quedado sin Internet o bien no hemos podido acceder a un servicio que necesitamos por temas de violación de la soberanía tecnológica o incluso bloqueo de otros países. En estos casos es mejor que todo lo que se ejecute esté en tu ordenador, incluido por supuesto la validación, por lo que las credencias siempre deben estar en nuestro ordenador.

Por poner algunos ejemplos:

  • Si usas Chrome OS y no puedes acceder a Google en un momento determinado ya que te validas con tus credenciales del correo, es decir, no puedes usar tu ordenador.
  • Si usas Office 365 y no puedes acceder a Microsoft no vas a poder abrir la hoja de cálculo para entregar el informe ni escribir una simple carta. Tampoco podrías acceder al sistema si usas credenciales de Microsoft para abrir tu Windows.
  • La gente que usa plataformas que requieren conexión para ejecutar programas, como los juegos igualmente tampoco podrán disfrutar de ellos.

Ya se que es difícil de dejar de depender de la "droga de la nube", pero mejor irnos quitando porque no hay que olvidar que la nube es solo el hardware de otro.

Y desde luego hay que tomar nota y no pasar por cualquier aro que nos haga pasar la industria, ya se llame DRM, TPM, ataques a la soberanía tecnológica, electrodomésticos que no arrancan o casi sin Wi-Fi, etc...

Sobre el dinero, hasta hace poco querían acabar con el dinero efectivo y quienes lo usábamos eramos casi sospechosos por usarlo, campaña orquestada una oligarquía bancaria que quiere más y más poder y los que hacen "ingeniería financiera", de las estafas piramidales que se presentan como "alternativa", solo recordar que no han inventado nada: antes fueron la filatelia, multipropiedad, vendedores de pócimas milagrosas, vendedores de humo de toda la vida... y a los que piquen les recuerdo que está próximo el centenario del crack del 29, ahí lo dejo.

Mira por donde el cash es lo que salva el día cuando no hay electricidad.

Es hora de reivindicar el valor de lo analógico y rechazar lo que se conecte a una red sin ser realmente necesario.

viernes, 2 de mayo de 2025

Activar la radio en tu dispositivo móvil

No todo el mundo sabe que su móvil posiblemente tenga radio FM, algo que te pudo venir muy bien el lunes pasado si vivías en la península ibérica (aunque lo ideal es tener un transistor de toda la vida), y algunos saben que lo tienen pero no como ponerlo en marcha.

Vamos a explicar como activarlo:

  1. Desbloqueamos la pantalla de nuestro móvil, si lo tenemos configurado para manejo por gestos desplazamos, en la pantalla principal la flecha que hay encima de los iconos inferiores.

  2. Hacemos clic en el icono "Radio FM".


  3. Si tenemos Internet en el móvil o no es la primera vez que usamos la aplicación posiblemente nos aparecerán la parrilla de emisoras en el móvil, podemos hacer clic en el icono de la emisora deseada o hacer clic en el icono verde que aparece arriba a la derecha de 'Radio Local'.


  4. Sea cual sea nuestra elección nos aparecerá un aviso indicando que debemos poner los auriculares para que "hagan de antena", los enchufamos a nuestro jack y desaparecerá el mensaje al tiempo que podemos escuchar sonido a través de los mismos. No hay que pulsar ningún botón porque NO queremos escuchar ninguna radio online.


  5. Si hemos seleccionado una emisora de las ofrecidas nos aparecerá el logo de la misma, en caso contrario simplemente nos aparecerá la frecuencia de la emisora. En ambos casos podemos cambiar haciendo clic en los iconos derecha e izquierda que aparecen en la parte baja de la pantalla.


  6. Si queremos escuchar por el altavoz, pulsamos en el icono de los tres puntitos y seleccionamos "Cambiar al altavoz".

     
     

Recuerda que debes dejar puesto los auriculares o se desconectará la radio, ya que son la antena. 

Otras limitaciones que te puedes encontrar son que:

  • Solo radio FM, no hay onda corta.
  • Tu móvil no tiene conector jack o le han bloqueado el soporte a radio FM... mala suerte, ya sabes que es algo que debes tener en cuenta cuando compres el próximo móvil.
  • El uso de la radio va a disminuir la duración de la batería, si no vas a poder cargarla al menos puedes desactivar los datos, la wifi y el bluetooth.
     

jueves, 24 de abril de 2025

Chafa, espectacular visor de imágenes para consola

Chafa es una de esas aplicaciones de consola que no te puedes creer que sean una aplicación de consola, se trata de un visor de imágenes que muestra lo mejor que puede una imagen usando simplemente la consola de texto de GNU/Linux... y vaya sí que lo hace lo mejor que puede...


Para te genere la imagen basta con ejecutar:

chafa miimagen.png

Si le pasas un GIF animado te lo muestra en movimiento y no te devuelve el prompt hasta que tecleas CTRL y C

Si no la tienes instalada, la puedes instalar desde los repositorios oficiales de tu distro, en el caso de Debian y derivadas se podría instalar desde consola con el comando:

sudo apt install chafa

chafa permite definir el número de colores y el tamaño, si no intentará mostrar la imagen con el máximo espacio disponible.

¿Quién dice que la terminal es fea y aburrida?


Con Chafa un nuevo nivel de ASCII Art a todo color se abre ante tí.

viernes, 18 de abril de 2025

Agrupar varias fichas LDraw en una sola

Para explicar como y porqué hacer esto, voy a poner un ejemplo de una pieza que hice a partir de otras piezas para la librería de piezas: la "Rueda 21 lisa montada en jácena 2", nombre de archivo: rueruj2l.dat.


Para hacer la agrupación monte el conjunto como si fuera otro modelo de TENTE más con algunas peculiaridades:

  • Las piezas que tengan el color "Main color", es decir, el código de color 16, cambiarán al color que le asignemos a la pieza agrupada resultante.
    En MLCad aparece como color negro pero si seleccionamos la pieza y nos vamos a color personalizado podemos ver que el código de color es 16 y no 0.
  • El conjunto se debe guardar en la carpeta 'parts' dentro de la ruta donde tenemos las piezas de TENTE 3D con el nombre que acordamos 'rueruj2l.dat'.
  • Debemos cerrar MLCad y abrimos el archivo con editor de texto para programa, tipo jEdit o notepadpp, y le añadimos al principio unas líneas de cabecera que indicarán:
    • Nombre completo de la pieza | categorías en las que va.
    • Name: <nombre del archivo>
    • Author: <quién hace la pieza>
    • Indicar que es una ficha NO oficial de ldraw.org
    • BFC CERTIFY CCW
  • Volvemos a abrir MLCad y para que reconozca la pieza seleccionamos las opciones de menú:
    File ► Scan parts
    Si tenemos un modelo sin guardar nos preguntará si queremos guardarlo porque se cerrará al actualizar las piezas.

En este caso el archivo quedó así:

0 Rueda ruta 21 lisa montada en jacena2     |R:R
0 Name: rueruj2l.dat
0 Author: CPCBEGIN
0 !LDRAW_ORG Unofficial_Part
0 BFC CERTIFY CCW
1 383 0 16.5 0 1 0 0 0 1 0 0 0 1 eje28.dat
1 16 -21 24 20 1 0 0 0 1 0 0 0 1 llantrut.dat
1 256 -21 24 20 1 0 0 0 1 0 0 0 1 ruta21nm.dat
1 16 21 24 -20 -1 0 0 0 1 0 0 0 -1 llantrut.dat
1 256 21 24 -20 -1 0 0 0 1 0 0 0 -1 ruta21nm.dat
1 0 0 24 0 1 0 0 0 1 0 0 0 1 jacn2x2a.dat

Como podéis apreciar la cabecera está definida tal y como hemos indicado y la pieza es la agrupación de 6 piezas más pequeñas:

  • El eje de las ruedas (color plateado).
  • La jácena 2x2 agujereada (color negro).
  • 2 llantas (color variable).
  • 2 neumáticos (color negro).

Estas 6 piezas se corresponden con las 6 últimas líneas del archivo.

viernes, 11 de abril de 2025

Frozen Bubble: videojuego libre inspirado en Puzzle Bobble

Frozen Bubble era un juego libre inspirado en Puzzle Bobble que permite jugar en solitario, con otro amigo, ya sea en local o en red, local o internet, editor de niveles, etc... con la posibilidad de jugarlo en ventana o a pantalla completa.


Se llegó a hacer incluso una versión live con un GNU/Línux mínimo que solo lanzaba el juego, venía en distribuciones ya instaladas como en Max Linux, incluso se hicieron versiones portables para Windows, versiones en java...

Después salió Frozen Bubble 2 que mejoraba sustancialmente los gráficos.


Está disponible en los repositorios oficiales de la mayoría de las distros, en el caso de las derivadas de Debian podemos instalarla con un comando similar a este:

sudo apt install frozen-bubble

Es un juego muy adictivo, con una curva de dificultad bastante suave aunque requiere habilidad y rapidez para avanzar en la sucesivas pantallas.


Frozen Bubble fue creado en Perl por Guillaume Cottenceau usando la librería SDL (Simple DirectMedia Layer), incluye 100 niveles, incluido un editor de niveles.

jueves, 3 de abril de 2025

Retropixel 2025, el evento retro gratuito de Málaga es este fin de semana

Este  año el evento retro del año Retropixel 2025 se celebra los días 5 y 6 de abril, VIII Muestra de retroinformática y videojuegos, como siempre en el hall de la Facultad de Derecho con horario de 11:00 a 20:00


Este año se celebra:

  • 40 aniversario de Sega Master System, de hecho la portada de este año recuerda a las portadas de sus cartuchos con fondo de papel cuadriculado.

  • 25 aniversario de Sony Playstation 2.

  • Especial conmemorativo a la marca Commodore.
     


Habitualmente Retropixel se suele celebrar sobre el fin de semana siguiente a la Semana Santa, pero supongo que como este año va a ser tan tarde se va a celebrar este fin de semana, que es el anterior al viernes de Dolores.

Gracias a su ubicación el aparcamiento es más que suficiente para todos los asistentes. entre el que hay en la propia Facultad de Derecho y la explanada de enfrente entre Derecho y Letras.

También se puede llegar en autobús (líneas 8, 11, 18, 22 y 62) o metro (línea 1 conectada con la estación de trenes)... o andando :D

Para quien a estas alturas no haya oído hablar del evento tiene zonas de exposición de hardware, una amplia zona de juegos, conferencias en las aulas de la propia facultad, torneos y talleres.


Sobre las conferencias de las 5 programadas a fecha de hoy, más o menos la mitad tratan directamente sobre el Amstrad CPC:

También habrá el Taller Retro Gaming - Crea tu videojuego arcade en una tarde el sábado de 16:00 a 19:30. 

Y una exposición de retrocuevas de aficionados.

Os recomiendo mirar las páginas oficiales del evento para ampliar la información de estas conferencias, exposiciones, talleres y eventos, así como modificaciones de última hora que se puedan producir.

Como en años pasados, iré editando este artículo con más información que vaya obteniendo. ;-)

viernes, 28 de marzo de 2025

xgalaga, remake libre galaga para GNU/Linux

Xgalaga es un remake del clásico juego Galaga para GNU/Linux, un matamarcianos aún más trepidante y adictivo que el original, a pesar de que las pequeñas naves puedan hacernos pensar lo contrario.


Lo podéis instalar con el comando:

sudo apt install xgalaga

En realidad son dos versiones del mismo juego, xgalaga y xgalaga-hiperspace que tiene la peculiaridad que si te vas con la nave a una esquina apareces por la otra evitando que te acorralen las naves y los disparos.

Por defecto se ejecuta a pantalla completa, si queréis disfrutarlo en una ventana, tenéis que ejecutarlo desde consola con el modificador -window

xgalaga -window

xgalaga-hyperspace -window

También hay un fork del fork más estático y sencillo llamado xgalaga++ pero no es tan bueno:

sudo apt install xgalaga++

De hecho, es uno de los pocos juegos exclusivos para GNU/Linux, en realidad para el compositor clásico xorg, por lo que en teoría no debería funcionar en Wayland, aunque seguramente lo terminarán adaptando, ¿waylaga?

Los requerimientos son realmente ridículos, diría que funcionaría en cualquier ordenador que tenga menos de 20 o 25 años que pueda ejecutar cualquier distribución de GNU/Linux, incluso las más antiguas.

Se maneja con teclado o ratón, pulsando las teclas k y m respectivamente para iniciar la partida, una buena idea es mapear su teclado con antimicro y así disfrutarlo con un buen mando de juegos.

viernes, 21 de marzo de 2025

SimulIDE, simulador en tiempo real de circuitos electrónicos

SimulIDE es un simulador en tiempo real de circuitos electrónicos que dispone de una amplia colección de componentes agrupados por categorías que vas colocando en una mesa de trabajo virtual.

En la imagen podemos ver un sencillo esquema de unos interruptores conmutados, como veis el polo positivo se reprsenta con el componente 'Fixed Volt', de 5 voltios en este caso, y el negativo con el componente 'Ground' (tierra) representando así el cierre del circuito, de manera similar a los esquemas electrónicos de los manuales técnicos. 


Los puedes conectar haciendo clic con el ratón en un extremo del componente y arrastrando al otro extremo del otro componente, de esta manera se creará el cable que los une.

Una vez que tenemos diseñado el circuito le podemos dar al botón de encendido y ver como se comporta, si hemos puesto algún pulsador o interruptor podemos interactual con él.

Si quieres eliminar algún componente o cable hay que hacer clic con el botón derecho y seleccionar 'Remove'.

También los podemos mover un componente haciendo clic con el botón derecho pudiendo elegir entre:

  • Rotate CW: rotamos 90º grados siguiendo la dirección de las agujas del reloj.
  • Rotate CCW: rotamos 90º en sentido inverso a las agujas del reloj. 
  • Rotate 180: rotamos 180º.
  • Horizontal flip: espejo horizontal.
  • Vertical flip: espejo vertical.

Asimismo a la derecha podemos encontrar unas solapas verticales que permiten mostrar:

  • Components: los componentes que podemos seleccionar y arrastrar al área de trabajo.
  • RamTable: Tabla de RAM para los chips, si procede.
  • Properties: Muestra y permite modificar las propiedades del componente que tengamos seleccionado, como por ejemplo el valor de una resistencia.
  • File explorer: un explorador de archivos para encontrar lo que queremos.

Hay quien dice que le recuerda al viejo Electronic Workbench, pero SimulIDE es mucho más potente y la manera de representar los circuitos es profesional como hemos indicado al principio, no un mero dibujo de un circuito.

Por ello es perfectamente válido para diseños profesionales.



viernes, 14 de marzo de 2025

Guía actualizada de emuladores de ordenadores AMSTRAD para GNU/Linux

Cuando a primeros de siglo empecé a usar GNU/Linux, la oferta de emuladores para ordenadores Amstrad era escasa por ser suave, sin embargo hoy la oferta de emuladores de ordenadores Amstrad para GNU/Linux es mucho más amplia de lo que podemos intuir, nada que ver con lo que teníamos hace algunos años.
 
Los emuladores que tenemos hoy son la mayoría de gran calidad y permiten hacer muchas más cosas que simplemente ejecutar los juegos de estas veteranas máquinas.


Emuladores CPC

Retro virtual machine

Retro virtual machine es uno de los mejores y más espectaculares emuladores disponibles para Amstrad CPC/CPC+, ZX Spectrum, MSX, Sega Genesis, Megadrive y cada vez más máquinas a nuestra disposición, incluyendo clones.
 
El objetivo del emulador es que el usuario tenga la experiencia más próxima a usar la máquina real, tanto en nuestra interacción con los "dispositivos" como puede la inserción del medio en unidades de cassette, disqueteras, cartuchos... o el comportamiento de los diversos tipos de monitores que se le podían enchufar. El objetivo siempre es la precisión técnica pero funcionado de manera fluida en cualquier PC con menos de 10 años.
 
Es ideal para hacer vídeo tutoriales porque es lo más cercano a mostrar el comportamiento de la máquina real sin la máquina real, más que suficiente para el más concienzudo tutorial o demostración de uso.
 
Para las distros de la familia Debian nos podemos descargar el archivo deb de la última versión e instalarlo con el típico comando:
sudo dpkg -i paquete.deb
Normalmente no se va a quejar que le falten paquetes ya que incluye todo lo necesario en el propio ejecutable, aunque en la mayoría de los casos no va a ser necesario ejecutar el comando que soluciona las dependencias:
sudo apt install -f
Si nuestra distro es de otra familia, nos podemos descargar el archivo zip que contiene un único archivo binario que pondemos lanzar sin más, ya que es una aplicación portable que funciona en casi cualquier distro con la arquitectura x86_64, y recientemente también para arquitecturas ARM64, como las Raspberry pi 4, 400, 5 o 500.

También hay un emulador derivado llamado RVMplayer que, usando el core de RVM, es capaz de ejecutar programas desde un navegador, algo muy útil como escaparate para los desarrolladores.

Más detalles:

Caprice32

Caprice32 nos que ofrece una muy buena experiencia en emulación con pocos requerimientos, lo que lo hace ideal para una raspberry pi o un viejo pentium 4 por ejemplo.
 
Incluso en equipos más potentes es bueno tenerlo para lanzar rápidamente desde consola un dsk, por ejemplo.
 
En realidad no es un emulador sino varios, ya que se han hecho diversos fork a partir de la versión original, las ventajas que tiene ser software libre.

Más detalles:
 

ZEsarUX

Un emulador de gran calidad y libre es ZEsarUX, que soporta gran cantidad de máquinas, incluidos todos los CPC no plus y PCW desde luego es un emulador muy a tener en cuenta y que se encuentra muy desarrollado para otras plataformas como ZX Spectrum  que es donde empezó por lo que incluye muchos clones, incluidos los del otro lado del telón de acero y evoluciones como el ZX Spectrum Next, por supuesto también los últimos modelos de Amstrad :))
 
El emulador está continuamente incorporando nuevas características sorprendentes como lectura de aventuras gráficas para ciegos, IA para generar imágenes mejoradas, emulación de microdrives, vista gráfica del funcionamiento de medios, soporte para los nuevos cartuchos...
Ya emula más de 30 máquinas distintas y subiendo. 

Más detalles:

CPCEC

CPCEC es un potente emulador libre que soporta la gama plus y que se acompaña de tres emuladores más: uno de ZX Spectrum llamado ZXCEC, otro de Commodore 64 llamado CSFEC y otro de MSX llamado MSXCEC.
 
Los requerimientos son tan bajos que es muy recomendable para placas de poca potencia como las primeras Raspberry pi o PC con más de dos décadas a sus espaldas, aunque va de lujo en cualquier equipo puntero, hay que compilarlo pero es muy fácil, y si te intimida recuerda que tienes a Retro Multi Installer lo hace por ti. 
 

ACE-DL

ACE-DL es un potente emulador, que no solo emula el ordenador sino que el único que emula determinados dispositivos avanzados gracias a plugins que incluye como controladoras de disco,  placas de sonido, sintetizadores, pistolas, ratones y muchos más periféricos que permite ejecutar increíbles demos, entre muchas otras cosas.

Hasta hace poco solo estaba disponible para MorphOS en su versión completa y tenía una versión recortada para Haiku, pero ya tenemos la versión completa para PCs, con GNU/Linux o Windows, y para MacOS.
 
Asimismo, permite hacer screencast de la emulación, control preciso de la velocidad, opciones avanzadas para desarrollo
 

JavaCPC

JavaCPC, más que un emulador, toda una suite de emulación que permite diversas tareas tales como importar imágenes de PC a CPC, conversiones entre formatos, gestión de dispositivos, huevos de pascua, etc..

Al estar escrito en java, es compatible con GNU/Linux y prácticamente cualquier sistema.

Retroarch, emulationstation y sistemas retroconsola

Hay sistemas completos basados en GNU/Linux que convierten ordenadores en retroconsolas y permiten su uso inmediato sin apenas configuración, solo hay que añadir las imágenes de cinta, disco o memoria en las carpetas correspondientes.

Los más conocidos como Batocera, Recalbox, Retropie, Lakka, etc... incluyen un core para emular Amstrad CPC normalmente basado en el código de Caprice y otro que emula la GX4000 y CPC+.

En el caso de los PCs puedes usar un pendrive de autoarranque donde tienes todo lo necesario y que puedes añadir juegos a una carpeta desde una distro linux, por red y ponerlos en otro pendrive aparte.
 
Una vez preparada simplemente arrancas el ordenador con el pendrive y no se toca nada en tu disco interno.
 
Otra opción es instalar Retropie como otra aplicación más, un hecho poco conocido es que se puede instalar también en distros para PC y va muy bien, es mucho más fácil y limpio que instalar directamente emulationstation o retroarch, aunque también requiere algo de postconfiguración y tiene algo más de dificultad.
 
Si usas placas como la raspberry pi lo que preparas es una microsd donde puedes añadir juegos de la misma manera, aunque los últimos modelos también pueden arrancar con pendrives que se preparan igual.

Más detalles:

Arnold Emulator

Arnold Emulator, es otro emulador para Amstrad CPC con muchas posibilidades como soporte para la gama plus, extensiones especiales y compatible con la base de datos de WinApe y que ya lo tenemos disponible para GNU/Linux.
 
Como también es software libre, tiene forks muy interesantes que al menos en algunos aspectos superan al original, Arnold Rofl0r por ejemplo.

Para quien quiera compilárselo por si mismo, aquí tenéis las instrucciones y paquetería ya compilada, quien no se sienta cómodo al final de este artículo tiene la solución. 

CPCEmu

CPCEmu, fue para muchos nuestro primer emulador de Amstrad CPC cuando usábamos en MS-DOS y también fue con lo que pasamos nuestros programitas gracias a las utilidades que tenía para pasar archivos y disquetes enteros por el puerto paralelo mediante un cable que había que hacerse.
Ahora vuelve a la vida con la versión 2.X disponible para versiones actuales de los sistemas operativos que ya soportaba (Windows y GNU/Linux para PC), a los que ha añadido Android, Raspberry PI OS y los sistemas de Apple.

 

MAME

Sí, has escuchado bien, he dicho MAME, ese emulador que muchos creen que solo emula recreativas, pues también emula ordenadores, consolas y artefactos de lo más variados.

En artículos anteriores vimos como configurarlo para ejecutar Amstrad CPC, tanto desde el entorno gráfico del propio MAME como por comandos.
 
De la misma manera podríamos ejecutar PCW, diversos ZX Spectrum y sus clones, así como los primos cepeceros del otro lado del telón de acero KC compact y Aleste 520EX, entre muchos otros ordenadores y consolas de todo tipo.

Otros emuladores CPC nativos

Hay otros emuladores nativos que fueron los primeros para los sistemas Unix como CPC++, DSP o cpc4x.
Para quien tenga curiosidad por su valor histórico puede echarles un vistazo e intentar echarlos a andar pero puede que no funcionen o, en el mejor de los casos, no tengan las posibilidades de los anteriores.


Joyce, el emulador nativo de Amstrad PCW

Joyce, es un veterano y excelente emulador de Amstrad PCW y Joyce/Anne, en este caso te tienes que buscar el archivo de la BIOS y un disco de autoarranque, porque a día de hoy, todavía no son de libre descarga.

Durante muchos años fue el único y empezó siendo un emulador para MS-DOS, las últimas versiones están disponibles para Windows y GNU/Linux.

Recomiendo echar un ojo a la Guía de compilación, instalación y uso.


¿Emuladores de Amstrad PC?

Lo primero que pensarás es que no tiene sentido, ya que estamos hablando de compatibles y podríamos ejecutar los programas simplemente con DosBox como cualquier programa DOS, y en la mayoría de los casos es así, pero en otros puede que necesitemos o queramos emular un modelo concreto de Amstrad PC, recordemos que tenían sus peculiaridades y te puedes encontrar con software que solo funcione en determinados Amstrad PC.
 
Para esos casos tenemos el emulador PCEm con el cual podemos emular un modelo concreto de PC, aunque como en el caso de Joyce tendremos que buscarnos la BIOS y discos de autoarranque para poder usarlo.

Para profundizar más:

¿Emuladores no nativos?

Aunque la mayoría de emuladores de ordenadores Amstrad para Windows funcionan con WINE(*) y los que son para DOS con DosBox, normalmente NO los vamos a necesitar teniendo disponibles emuladores nativos de tan alta calidad salvo para cosas muy específicas, por ejemplo, si desarrollamos con algunas librerías por ahora tenemos que seguir usando WinAPE (excelente emulador pero solo para Windows) aunque, como hemos visto, ya hay varios emuladores capaces para el desarrollo.

Si nos encontramos en ese caso os recomiendo echar un vistazo a:

(*) WINE is not an emulator, significa que traduce las llamadas de la API de Windows a GNU/Linux, eso significa que debes tener la misma arquitectura de hardware que la que necesitarían los ejecutables de Windows.
Esto implica que estos programas funcionarán bien en un PC con GNU/Linux, pero lo más seguro es que NO lo hagan en arquitecturas basadas en ARM con las raspberry pi y placas similares.

La mayoría de estos programas los puedes instalar fácilmente con RetroMultiInstaller, una vez instalados los encontrarás en la nueva carpeta Emuladores del menú de tu GNU/Linux.
 
Consulta también la lista de vídeos sobre emulación en GNU/Linux, donde encontrarás muchos vídeos de primeros pasos y píldoras de conocimiento para tareas concretas.


viernes, 7 de marzo de 2025

Spectacle: capturas de pantalla vitaminadas

KDE Spectacle es la increíble herramienta para sacar capturas que trae KDE.


Permite hacer capturas de todas las pantallas, de la actual, de la ventana activa, de la ventana que está bajo el cursor o una región rectangular.

Se puede definir una demora en la captura, incluir el puntero del ratón, incluir los bordes la ventana o no,...

Pero lo más interesante es la cantidad de añadidos que permite preparar la captura para su consumo para la creación de tutoriales o cualquier tipo de explicación, de una manera rápida y sencilla, gracias sobre todo al botón Anotar:

 
No solo podemos hacer anotaciones también podemos remarcar elementos con cuadrados o triángulos, numerar puntos de la captura para definir los pasos a seguir, ocultar zonas con datos sensibles, etc...
 
La configuración nos permite definir las combinaciones de teclas para sacar las capturas adecuadas. 

Las herramientas disponibles permiten directamente imprimir lo capturado, abrir la carpeta donde guardamos las capturas, grabar la pantalla a otras aplicaciones de screencast como Vokoscreen, OBS Studio, etc...

La captura se puede exportar directamente a diversos programas para su visionado o tratamiento especializado tales como navegadores web, editores de imágenes como GIMP, lectores de PDF, compartirlo, entre otras opciones.


viernes, 28 de febrero de 2025

Godot Engine 4 en Debian 12: instalación (I)

Godot Engine es un motor de creación de videojuegos libre y multiplataforma, una gran alternativa a otros privativos que nos imponen condiciones leoninas para su uso y explotación.

Con él se puede hacer juegos profesionales de gran calidad y de hecho hay muchos ya hechos y que podéis encontrar casi por cualquier sitio.

Permite crear juegos en 2D y en 3D.

Si estás pensando crear un videojuego sopesaría usar este motor.

Hay dos versiones, la normal en lenguaje gdscript o una especial en lenguaje .NET para quien está acostumbrado a este lenguaje. En casi todos los sitios se recomienda la normal.


Vale, ¿y como se instala?

Lo mejor es que ni siquiera tienes que instalarlo, al menos en GNU/Linux, basta con descargarte la última versión estable de la página de descargas en una carpeta, darle permisos de ejecución y ejecutarlo con el comando:

./godotengine

Si no se viera bien es porque tu tarjeta gráfica es muy antigua, y no cumples con los requisitos mínimos como es mi caso, se soluciona lanzando el comando con el siguiente parámetro:

./godotengine --single-window 

En el caso de Debian 12 también lo puedes instalar desde los repositorios oficiales, pero tendrás la versión 3, que puede que te interese más por retrocompatibilidad, incluso puedes tener "instaladas" las dos versiones.


Primeros pasos

Lo primero es crear nuestro proyecto al que le pondremos un nombre, en el que hay que elegir las algunas opciones entre las que destaca las  de Renderizador entre las que podemos elegir:

  • Forward+: para usar el hardware más moderno y puntero, en mi caso no es la mejor opción y si quieres que el juego funcione con hardware más antiguo tampoco va a ser la tuya.
  • Móvil: adecuado para el hardware más limitado de los móviles, aunque el proyecto se pueda luego exportar igual a no vamos a utilizar la potencia del hardware más moderno lo ideal es elegir la opción 'Compatibilidad' en la opción Renderizador.
  • Compatibilidad: pensada para la mayor compatibilidad posible y equipos con menos recursos, esta es la que yo voy a usar.

Como veis también permite controlar el progreso del proyecto con git, algo completamente recomendable y que nos facilitará después la subida a algún repositorio como gitlab o github por ejemplo.

Una vez que creamos el nuevo proyecto nos aparecerá una vista para crea un proyecto de juego en 3D


Pero para empezar se recomienda iniciarse con la creación de un juego 2D, podemos ir cambiando entre unos y otros haciendo clic en los textos que ahí encima de la zona de desarrollo, pudiendo elegir entre Scripts y Asseslib.


En la opción Accesslib podemos descargar recursos y complementos que podamos necesitar para nuestro proyecto.


Intenta hacer alguna chorrada pequeña solo para familiarte con este software, los vídeos que te dejo al final te ayudarán, ve poco a poco.

Ya lo puedes exportar como un ejecutable portable, para ello abre el proyecto con el que has estado trabajando y ve a las opciones:

Proyecto ► Exportar ► Añadir

La primera vez descargará el paquete para exportar que tardará un poco, y ya puedes elegir el sistema para ejecutar tu juego, tienes disponibles:

  • Android
  • GNU/Linux (arquitecturas: x86_64, x86_32, arm64, arm32, rv64, ppc64, ppc32)
  • MacOS
  • Web
  • Windows (arquitecturas: x86_64, x86_32, arm64).


En futuros artículos iremos viendo como hacer algunas cosas con este motor, por ahora aquí tienes algunos sitios para iniciarnos en Godot Engine:

Estad atentos a esta lista de enlaces porque irá creciendo a medida que vaya descubriendo más. ;-)