viernes, 21 de noviembre de 2025

SANYO M2402-7F, reparaciones (I)

Voy a empezar una nueva sección donde contaré mis aventuras y desventuras reparando, o al menos intentando, mi colección de radiocassettes y otros aparatos que están faltos cariño para volver a ser lo que fueron.

El primer conejillo de indias va a ser este radiocassette Sanyo M2402-7F de los años 70 y que perteneció a mis abuelos.


Como veis, lo primero que hago es identificar el modelo, algo que suele aparecer en la parte de atrás del aparato, en este caso en una pegatina con las características, muy importante para conseguir información si hay complicaciones.

El problema de esta unidad es que el cassette se escucha lento, por lo que sospecho que toca cambiar la goma que ya tiene medio siglo.

Para acceder al mismo retiro los tornillos que hay en la parte de atrás y lo abro como un libro con cuidado con el cable de alimentación que está soldado a la fuente de alimentación, ya que aún no era común el conector de 8 de alimentación.


Me llama la atención que, incluso están indicados donde van los tornillos de la placa principal, igualito que ahora que casi hemos perdido el derecho a reparar.

Como siempre hay que tener mucho cuidado y orden para que no se estropeen los tornillos y luego lo volvamos a montar como antes, cada uno en su sitio.

Para retirar la goma y cambiar la nueva he tenido que retirar el tornillo de la rueda grande a la que va la goma porque no pasaba, también he tocado el tornillo que hay en el motor, me parece que esto ha sido un error.

Cierro el radiocassette y hago la prueba con una cinta que no sea muy valiosa por si se enrenda y... bueno, no se enreda pero ahora se escucha más rápido y con interferencia.

Así que toca vuelvo a abrir y repasar, pensando en que algún tornillo era el potenciómetro y resulta que el culpable era...

 

La goma que era muy gruesa, pongo otra más fina y ya suena la música a la velocidad correcta. 

Me queda quitarle un sonido de estática, pero la limpieza de E.T. la dejo para otro día. 

Continuará.... 


viernes, 14 de noviembre de 2025

Mostrar el contenido de un archivo de texto en Amstrad CPC

Si en un Amstrad CPC tecleas el comando:

CAT misdatos.txt

No te mostrará el contenido del archivo de nombre misdatos.txt, en el mejor de los casos te mostrará el nombre del archivo si está en el directorio del disquete o si lo encuentra recorriendo la cinta.

Entonces, ¿cómo puedo ver el contenido de un archivo de texto en el Amstrad CPC?

La idea es sencilla: 

  1. Para empezar ponemos el ordenador en MODE 2 para usa el modo de 80 columnas.
  2. Abrimos el archivo como texto con el comando:
    OPENIN "misdatos.txt"
  3. Abrimos un bucle que vaya leyendo líneas por el canal 9 hasta que llegue al final del archivo al tiempo que la sacamos por pantalla (canal por defecto) o por impresora (canal 8):
    WHILE NOT EOF
    LINE INPUT #9,l$
    PRINT l$
    WEND
  4. Cerramos el archivo como texto:
    CLOSEIN
  5. El programa lo podemos enriquecer para que nos pida el nombre del archivo a mostrar, detecte el final de línea y nos pida interacción, sacar la salida por pantalla o impresora (canal 8), etc... como podéis ver en este ejemplo real del programa que usaba en su momento para esta tarea.


Esta técnica es muy útil para acompañar de un manual interactivo a un programa o juego que se vea en el propio Amstrad.

Eso sí, si incluís un archivo creado en un PC hay que definir el archivo de texto con las siguientes propiedades:

  • Character encoding ASCII, ISO-8859-1 o ISO-8859-15. 
  • Saltos de línea de DOS/Windows.

Hay que tener especial cuidado con evitar acentos, eñes y otros caracteres especiales que no existan en los CPC o sean distintos.

viernes, 7 de noviembre de 2025

Accesos directos en el menú de MATE con categorías y subcategorias (niveles ilimitados)

Este artículo trata sobre algo que tenía ganas de hacer y que es muy difícil encontrar información: tener accesos directos en menús en categorías y subcategorías nuevas y distintas a las que ya tienes en el sistema. Vamos a verlo paso a paso.

Antes de continuar, recomiendo tener activado etckeeper por si nos equivocamos en la creación de la estructura de accesos directos y categorías, aunque en todo caso se pueden borrar los archivos que relacionan accesos directos y categorías.
 

1. Crear un acceso directo

Hace tiempo expliqué como crear un archivo .desktop para crear un acceso directo, en este caso, como queremos que sea un acceso en el menú del sistema, debemos crearlo en la carpeta /usr/share/applications, por poner un ejemplo muy simple, podríamos crear un archivo caprice32.desktop para crear un acceso directo al emulador Caprice32 con este contenido:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Caprice 32 (Amstrad CPC)
Name[es]=Caprice 32 (Amstrad CPC)
Comment=Amstrad CPC/CPC+ Emulator
Comment[es]=Emulador de Amstrad CPC/CPC+
Icon=caprice32cp
Exec=./cap32
Path=/opt/linuxemus/caprice32
Terminal=false
Categories=Games;

En este ejemplo, definimos:

  1. Las dos primeras líneas definen que el tipo de acceso es para ejecutar una aplicación (Type=Application) y la codificaciones de caracteres, unicode (UTF-8) para representar acentos, por ejemplo. 
  2. El nombre del acceso directo (Name).
  3. La descripción que se mostrará al situar el ratón sobre el mismo (Comment).
  4. El nombre del icono, que en este caso debería estar creado en la ruta absoluta /usr/share/pixmaps/cap32.png (el formato de imagen recomendado es png).
  5. El comando a ejecutar, si se va a ejecutar en una ruta concreta debe ir precedido por ./ mientras que si se puede ejecutar en cualquier directorio sería simplemente:
    Exec=cap32
  6. La ruta desde la que se va a ejecutar el comando, en este caso /opt/linuxemus/caprice32, si es un comando que se puede ejecutar desde cualquier ruta no ponemos una línea que empieza por Path=
  7. Terminal, indica si se va a abrir una terminal para ejecutar el programa o no, es útil, cuando vamos a ejecutar programas que se muestran en consola.
  8. La categoría en la que va a estar el programa (Categories), en este caso iría a la de juegos pero en este ejemplo habría que eliminar esta línea si solo queremos que aparezca en la categoría que vamos a crear. 
  9. Las etiquetas que terminan en [es] indican el texto alternativo para el idioma español. 

 

2. Crear una nueva categoría (de primer nivel)

Si queremos crear una nueva categoría, por Ejemplo emuladores hay que añadir tres archivos más:

  1. Un nuevo icono para la categoría, por ejemplo,  /usr/share/pixmaps/emulators.png.
  2.  El archivo que define la nueva categoría, que debe estar en la ruta /usr/share/desktop-directories, vamos a llamar al archivo emulators.directory con el siguiente contenido:
    [Desktop Entry]
    Version=1.1
    Name=Emulators
    Name[es]=Emuladores
    Comment=Emulation and retrocomputing
    Comment[es]=Emuladores y retroinformática
    Icon=emulators
    Type=Directory
  3. El archivo que indica que el acceso directo previamente creado debe estar en esta nueva categoría que debe estar en la ruta absoluta /etc/xdg/menus/applications-merged/caprice32cp.menu con el siguiente contenido.
    <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
        "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
    <Menu>
        <Name>Applications</Name>
        <Menu>
             <Menu>
               <Name>Amstrad</Name>
               <Directory>amstrad.directory</Directory>
               <Include>
                 <Filename>caprice32cp.desktop</Filename>
               </Include>
             </Menu>
        </Menu>

 Y con esto ya tendríamos el acceso directo en nuestra nueva categoría emuladores.

Repetimos todo el proceso para todos nuestros emuladores, creando sus accesos directos y creando nuevos archivos para relacionarlos con la categoría, que deben ser exactamente iguales, salvo por la línea que empieza por <Filename> 

 

3. Crear más profundidad de categorías

Bueno, pues ya hemos creado accesos directo para las 3 docenas de emuladores que tenemos instalados, pero el menú se hace muy largo y desorganizado, ¿no podríamos crear subcategorías para cada tipo de emulador?

Pues sí, para ello solo tenemos que crear un nuevo acceso directo y un nuevo archivo de definición de categoría como hemos visto en el punto anterior, en las rutas:

  • /usr/share/pixmaps/amstrad.png
  • /usr/share/desktop-categories/amstrad.png

El archivo que va a tener que cambiar algo con respecto al anterior caso va a ser el de relaciona el acceso directo con la categoría ya que debe definir que dentro de la categoría Emuladores debe haber una categoría Amstrad y dentro de ella el acceso directo al emulador, de forma que el archivo /etc/xdg/menus/applications-merged/caprice32cp.menu ahora quedaría así:

 <Menu>
    <Name>Applications</Name>
    <Menu>
         <Name>Emulators</Name>
         <Directory>emulators.directory</Directory>
         <Menu>
           <Name>Amstrad</Name>
           <Directory>amstrad.directory</Directory>
           <Include>
             <Filename>caprice32cp.desktop</Filename>
           </Include>
         </Menu>
     </Menu>
</Menu>

El resto de emuladores de Amstrad deben tener un archivo igual para relacionar las categorías y el acceso directo que solo van a cambiar en el nombre del archivo y en la referencia a su acceso directo en la línea <FILENAME>

Igualmente podríamos crear más subcategorías para el resto de sistemas, que diferirían con ésta de Amstrad también en las dos líneas que definen la subcategoría y que deben ser iguales en las del mismo sistema para no duplicar subcategorías.

Este truco debe funcionar en la mayoría de entornos gráficos de GNU/Linux. 

viernes, 31 de octubre de 2025

Abbaye des morts (remake libre GPL3 hecho con Godot Engine)

El remake L'Abbaye des morts hecha por Nevat es una versión libre hecha con Godot bajo licencia GPL3 basada en el divertido juego freeware que en su día hizó Lomomalito con música de Gryzor.

Si pulsamos la tecla C al inicio del juego podemos disfrutar de los gráficos mejorados.


Curiosamente en la pantalla de inicio pone que es un juego Freeware, supongo que es un despiste porque en la web y en el código pone que es GPL/3.

La respuesta es muy buena y sigue siendo un juego muy divertido y absorbente.


Para descargarlo lo mejor es ir la página de descargas y bajarnos la última versión disponible, podemos elegir entre 4 arquitecturas: PC de 64 y 32 bits o ARM de 64 o 32 bits.

Como son binarios portables, los puedes descargar en cualquier carpeta, darle permisos de ejecución y ejecutarlo.

Mi recomendación es copiarlo luego a /usr/local/bin y así podemos ejecutarlo como un comando más del sistema como otro comando más del sistema, por ejemplo:

abbayedesmorts-godot-1.1.0-linux-arm64

También sería interesante crearle un acceso directo para nuestra mayor comodidad.

Por supuesto, como software libre, tenemos disponible el código fuente para analizarlo y compilar a partir de él.

viernes, 24 de octubre de 2025

ghostwriter: el editor de lenguaje markdown

Ghostwriter, es un editor de archivos de lenguaje de marcas, también conocido como markdown.


Markdown es un lenguaje para la creación de documentación técnica, los típicos archivos de documentación README.md que acompañan al código en sitios de hospedaje de código, tales como gitlab, github, etc...

Ghostwriter es software libre GPL3, está dentro del proyecto KDE y suele estar incluido en los repositorios de las distros, en el caso de Debian y derivadas se puede instalar con el comando:

sudo apt install ghostwriter 

Este programa permite crear, visualizar y ver estos archivos mostrando una pantalla principal dividida en tres zonas, de izquierda a derecha:

  • Información del documento: esta zona, que es la más pequeña, solo se muestra si hemos abierto algún documento y nuestra resolución horizontal es lo suficientemente amplia.
    Muestra unos iconos a la izquierda donde podemos elegir ver:
    • Esquema de documento: es un índice interactivo que nos permite ir rápidamente a diferentes zonas del documento, los items los genera a partir de los títulos que vayamos creando en el documento.
    • Estadísticas de la sesión actual: muestra información sobre nuestro trabajo en esta sesión de trabajo.
    • Estadísticas del documento: Da información como el número de palabras, caracteres, oraciones, párrafos, páginas. 
      También el tiempo, facilidad y nivel de lectura
    • Hoja de referencia: muestra la sintaxis del propio lenguaje markdown.
  • Código markdown: aquí es donde escribimos el código.
  • Resultado visual: muestra el resultado del código que introducimos reflejando los cambios en tiempo real.

También trae muchas funciones extra como generador de formatos, exportación html, corrector ortográfico, zoom, etc..

En conclusión, éste es uno de esos programas que debes tener instalado sí o sí en tu ordenador, en especial si haces documentación en formato markdown.

viernes, 17 de octubre de 2025

Controla tus cambios de configuración con etckeeper

etckeeper es una herramienta para controlar todos los cambios de configuración que hagas haciendo uso de git, de manera que si te equivocas al hacer una configuración vas a saber que has cambiado y hasta volver atrás.

Para que sea efectiva lo ideal es instalarla justo al completar la instalación del sistema operativo junto al propio git, en el caso de Debian y derivadas lo podrías hacer con un comando como éste:

sudo apt install git etckeeper

A partir de este momento la carpeta /etc estará controlada por git, de manera que cuando hagas ciertos cambios como instalar paquetes se van a crear commits registrando la operación.

Hay que tener en cuenta que dichos cambios se registran con permisos para root, por lo que tenemos que hacer las operaciones con ese usuario, ya sea con sudo o su-

Si queremos ver los cambios que se han ido haciendo:

sudo git log

Si hacemos cambios manuales y queremos registrarlos:

sudo git add .
sudo git commit -m "Descripción de los cambios en la configuración."

Si queremos renombrar el último commit:

sudo git commit --amend

Por lo demás podemos tener el mismo control que en cualquier otra carpeta con código gestionada por git.


viernes, 10 de octubre de 2025

Crear un disco de 3.5 para Amstrad CPC desde tu PC retro

Para crear discos de 3.5" que pueda leer tu Amstrad vas a necesitar varias cosas:

  • Un PC con disquetera con conexión interna clásica, NO USB con el sistema operativo Windows XP.
  • El programa CPCDiskXP.
  • Disquetes de 3.5" DD (double density), si no se tienen se pueden usar HD (high density) tapándoles el agujero de la derecha con cinta adhesiva que pegue bien y no se pueda desprender.
  • Un Amstrad CPC con controladora de disco al que se le haya conectado una disquetera de 3.5".

Instalación de CPCDiskXP

  1. Nos descargamos la última versión.
  2. Instalamos el driver para la disquetera, archivo FdInstall.exe.
  3. Copiamos el programa CPCDiskXP.exe en una carpeta.
  4. Creamos un acceso directo a CPCDiskXP.exe para nuestra comodida.

 

Uso de CPCDiskXP

  1. Ejecutamos el programa desde el acceso directo o haciendo doble clic en CPCDiskXP.exe
  2. Formateamos el disco DD, para ello hacemos clic en el botón FORMAT, seleccionamos la cara a formatear y pulsamos el botón Format Disk.



    No uséis la opción Side A & B porque suele fallar, tenéis que formatear primero la cara A y luego la cara B.
    El resto de opciones las dejamos con sus valores por defecto si queremos que funcione en un CPC con sus BIOS originales.

  3. Un vez formateado pulsamos en el botón Disk File => Floppy.

  4. Seleccionamos el archivo DSK.

  5. Seleccionamos la cara A (Floppy Head 1) o cara B (Floppy Head 2)

  6. Pulsamos Write Disk.



  7. Repetir las veces que se desee y pulsar Exit al terminar.

  8. Comprobar en el CPC que todos los discos y caras funcionan correctamente.

 

Como alternativa para los que uséis Windows más modernos o necesitéis crear disquetes en otros formatos está Omniflop 64, yo no lo he probado, si alguien lo prueba que nos cuente su experiencia en los comentarios.