jueves, 23 de enero de 2020

Manipular imagenes cas de cintas de MSX desde GNU/Linux

El formato cas es el formato principalmente usado por emuladores de MSX y castools es un conjunto de herramientas para pasar estos archivos a WAV para ser reproducidos en un MSX real entre otras manipulaciones.


Vamos a ver como se instalaría
  1. Instalamos los paquetes necesarios para compilar si es que todavía no los tenemos instalados:
    sudo apt install build-essential make
  2. Bajamos el código fuente:
    git clone https://github.com/joyrex2001/castools
  3. Compilamos:
    cd castools
    make
  4. Instalamos:
    sudo make install
Los comandos principales que tenemos son los siguientes:
  • cas2wav archivo_cas archivo_wav
    Convierte un archivo cas en un archivo wav que podemos reproducir con cualquier reproductor de audio y así cargar el programa en un MSX real conectando la salida de audio del PC con la entrada de cassette del MSX
  • wav2cas archivo_wav archivo_cas
    Convierte un volcado wav de una cinta MSX en un archivo cas
  • casdir archivo_cas
    Muestra el contenido del archivo cas.
Estos ejecutables tienen más parámetros para hacer más cosas, para saber todo que pueden hacer basta con ejecutar el comando sin parámetro alguno.

miércoles, 15 de enero de 2020

La búsqueda de la solución del puerto DVI (II): ¿cómo distinguir los buenos consejos de los malos?

En el anterior artículo vimos como arreglar un par de problemas que tenía para conectar un segundo monitor al puerto DVI dejando solucionado el problema, pero como os dije iba a poner un segundo artículo para quien quiera profundizar en la búsqueda y solución de este tipo de problemas.

Lo primero que hice fue informarme en foros especializados y redes sociales, aunque con estas últimas hay que tener más cuidado, en cierto grupo "para profesionales" la solución que me planteaban era actualizar a la última versión de Ubuntu, la 19.10, ¡UNA NO LTS! como una solución mágica al problema, también está el que recomienda su distribución favorita como respuesta a todo aunque nadie les haya preguntado eso.

En estos casos hay que desconfiar y antes de cambiar una versión LTS por otra que no lo es lo que os recomiendo es probar primero con un pendrive en modo live para ver si se soluciona el problema y no se presentar problemas nuevos.
Tal como mi imaginaba no solo no se solucionaba el problema sino que aparecían otros nuevos, recordemos de una versión no LTS, es una versión de pruebas no apta para entornos de producción.

En fin, hay gente que se pone a aconsejar lo primero que se les ocurre pero de manera irresponsable y además con una rotundidad de catedrático de carrera, otros movidos por una noble intención de ser de ayuda. pero el caso es que no ayudan, si hubiera sido un novato que les hubiera hecho caso y no solo no tendría solucionado el problema sino que tendría otros y con una complicada vuelta atrás, y una mala impresión, injusta e irreal imagen del mundo GNU/Linux.

Así que toca buscarse la vida...

¡Ojo! Los dos siguientes pasos pudieron terminar el pantallazo negro, aunque es reversible, yo sí os aviso.

Comprobé el driver que estamos usando, ya sea mediante menú:
Sistema ► Preferencias ► Hardware ► Controladores Adicionales 

O desde consola:
ubuntu-drivers devices
A mi me sale que la mía es nvidia 390

A continuación lo que hice fue quitar los drivers que tenía, al final creo que este paso era innecesario y peligroso, bastaba con actualizarlo después de añadir el ppa:
sudo apt-get purge "nvidia*"

Y metemos el driver nouveau en la lista negra, para ello creamos el archivo /etc/modprobe.d/blacklist-nouveau.conf con el siguiente contenido:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
Y a partir de aquí puse el ppa e instalé el driver de la nvidia 390 como comenté en el artículo anterior.

Si hubiera tenido un pantallazo negro, es decir, que no arrancara las X, lo hubiera solucionado probando con mover el archivo de la lista negra a la carpeta $HOME por ejemplo para desactivarlo o habría probado a buscar e instalar diferentes paquetes con el comando apt search paquete o apt install paquete respectivamente.

Todo tiene solución, aunque estas cosas pueden asustar a los más novatos.


jueves, 9 de enero de 2020

Domando el puerto DVI en Ubuntu Mate 18.04

Desde hace tiempo he estado usando dos monitores en mi i7, un moderno full HD como principal por HDMI y viejo televisor LCD Samsung por VGA, pero ahora quería conectarle también mi viejo pentium 4 que tiene sistemas arcaicos que van bien por VGA, así que la solución más sencilla era conectar mi segundo monitor del i7 por DVI... o eso creía.

Parece que el viejo conector DVI es un potro salvaje que da la lata en todos los sistemas en los que se conecta, por eso he tenido que domarlo, ha costado pero lo he conseguido.

Los problemas y sus soluciones

Nada más conectarlo me he encontrado con dos problemas:

Letras enormes al arrancar

Este problema ocurre en los dos monitores, se soluciona provisionalmente cambiando el tema de mate y volviendo a poner el que tenías, pero esto no es una solución definitiva.
La solución ha sido actualizar a los últimos drivers de la tarjeta gráfica... a través de un PPA, que ya sabéis "lo mucho que me gusta usarlos", pero no ha habido otro remedio.
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt -y upgrade
sudo apt install xserver-xorg-video-nvidia-390


Reiniciamos y ya deberíamos estar con el driver nuevo.

Overscan

Los usuarios de raspberry pi estarán más familiarizados con este concepto, es cuando la imagen ocupa más que la pantalla del propio monitor provocando que no se vea partes importantes como los botones para maximizar, minimizar o cerrar ventanas o las barras de menús en caso de ser el monitor principal.



Lo he solucionado con la aplicación NVidia X server settings, que en Mate está en las opciones menús Sistema ► Administración.

Tenemos que acceder a la opción X Server Display Configuration, pulsar en el monitor que queremos corregir, vamos aumentando el valor de la casilla Overscan hasta que consigamos que no se pierda imagen por arriba y por abajo y no queden tampoco espacio en negro (underscan).



Para corregir la pantalla que no vemos por la derecha y la izquierda pulsamos sobre el botón Advanced

Vamos cambiando solo el ancho, es decir, el primer valor de la resolución ya que el alto ya está bien, lo vamos haciendo de 20 en 20 en los campos ViewPortIn, VideoPortOut y Panning.


En estas imágenes puedes los valores que tenía antes de la corrección y con los que se queda después.

En el caso del campo ViewPortOut veis que he modificado el primer multiplicando de la operación pero también el primer sumando añadiéndole la mitad de lo que le he quitado.
¿Y por qué es así? porque si sumáis el primer multiplicando (espacio de trabajo) con el doble del primer sumando (espacios que se dejan a los lados) debe daros la resolución horizontal.
Si hacéis la operación con el segundo multiplicando y el segundo sumando os debe salir la resolución vertical.

No olvides pulsar en el botón Save to X Configuration File o perderás lo que has hecho en el próximo reinicio.

¡Ah! Como curiosidad, NO ES UN PROBLEMA DE GNU/LINUX, ya que antes de hacer todo esto probé usar el puerto DVI con el pentium IV de los 4 sistemas y en todos ellos tuve el problema del overscan, con una tarjeta ATI y además solo era subsanable en MX Linux.

Quien quiera puede saber más de la búsqueda de la solución puede ver este otro artículo, pero por ahora lo vamos a dejar aquí, ya que con esto se soluciona el problema.


Enlaces de interés


jueves, 2 de enero de 2020

MX Linux: instalación, posinstalación y dieta de adelgazamiento en pentium III

La semana pasada instalamos MX Linux en un pentium 4 de 2002 con 2Gb de RAM y funcionaba razonablemente bien para esos recursos pero, ¿se podría instalar en algo aún más limitado y antiguo?
Me refiero al pentium III de 2000 con 512 Mb de RAM que me regaló un amigo hace años.


La instalación va a ser exactamente igual que en el caso del pentium IV, da igual que hagamos la instalación de dos sistemas, acompañado de un Windows o como sistema único.

Dieta de adelgazamiento

Una vez instalado vemos que responde más lento, algo que nos esperábamos, ¿cómo aligerarlo?
  1. Como siempre que se instala un sistema operativo nuevo lo primero es actualizado a la última:
    sudo apt update; sudo apt -y upgrade
  2. Desactivamos y desinstalamos servicios como bluetooth que no necesitamos y gastan muchos recursos:
    sudo systemctrl disable bluetooth
  3. Buscamos y desinstalamos los paquetes relacionados con esos servicios desde synaptic para mayor comodidad y facilidad.
  4. Otros servicios que no usemos los podemos al menos detener, por ejemplo, si nos conectamos por cable desactivamos el wifi, podemos ver los servicios que están corriendo con el comando:
    sudo systemctl list-units --type=service
Este apartado de dieta de adelgazamiento no es tan necesario en el pentium IV pero si también se lo aplicamos vamos a obtener más rendimiento.


El navegador Firefox que trae no funciona en un Pentium III

Al lanzar el navegador desde el icono vemos que no hace nada, ¿que ha pasado?

Como siempre si lanzamos una aplicación que no va desde consola sabremos que está pasando y efectivamente, si ejecutamos firefox, nos dice que este navegador requiere el juego de instrucciones SSE2 que no tiene este viejo micro pentium III, así que tendremos que instalar otro navegador que sí soporte este micro tan viejo.

La solución: usar otro navegador que funcione sin ese juego de instrucciones como midori o mejor aún Epiphany (ahora se le conoce como web):
sudo apt install epiphany
Firefox lo podemos desinstalar ya que con este ordenador no nos va servir.
Hay que tener claro que tenemos 512Mb de RAM, por lo que si entramos en algún sitio que pida algo más puede que se nos cierre el navegador.

Tenemos que tener muy claro que éstos no son problemas de GNU/Linux ni de MX Linux sino limitaciones de este hardware que tiene dos décadas a sus espaldas, lo mismo pasa con otros sistemas privativos, la mayoría de navegadores modernos requieren SSE2 para funcionar y de encontrar alguna versión obsoleta vamos a tener muchos problemas para entrar en sitios modernos.

La solución definitiva es tan simple como descargar lo que necesitemos en otro ordenador y pasarlo por ssh, recuerda que synaptic y apt sí que funcionan perfectamente en el pentium III por lo que no vamos a tener más limitaciones a la hora de instalar que la capacidad del disco... otra cosa es que requieran recursos que no tenemos y que por tanto no funcionen, como es lógico.

viernes, 27 de diciembre de 2019

Gotek para Amstrad CPC6128: preparación y programación con FlashFloppy en GNU/Linux

Estos días me ha llegado una gotek, un emulador de disquetera para mi Amstrad CPC que me permite cargar imagenes de disquete desde un pendrive como si fueran discos de verdad.


Para disfrutarla ha venido con algunos complementos:
Para la preparación he seguido el tutorial Cómo programar Gotek con FlashFloppy mediante USB de AUAmstrad, con algunas salvedades.


Conexionado y preparación

Alimentación

Antes de usar el cable dupont he comprobado que los pines rojo y negro corresponden efectivamente a +5V y masa, para ello he usado un simple led.
Después solo he tenido que conectar el rojo a donde ponía +5V en la serigrafía y el negro al lado.



Apertura de la unidad y puenteado

Solo hay que retirar 3 tornillos que tiene en la parte superior para mostrar la placa.
La placa gotek

Al retirar la placa hay que tener especial cuidado en los elementos más delicados, los pines, el puerto USB, etc...

En el artículo de AUAmstrad se muestra los pines que hay que cortocircuitar para permitir la programación del firmware, mr.byte recomienda soldar un par de cablecitos y yo también, pero como todavía no estoy muy habil con el soldador lo que he hecho es poner un par de alambres de cobre que toquen en todo momento lo que hay que tocar y nada más.
Hay que tener mucho cuidado también al quitar los puentes después de hacer la programación del firmware para no dañar ninguna pista o componente, paciencia y buena letra.


Programación del firmware

He utilizado el firmware libre FlashFloppy que cubre mis necesidades, hay que seguir los siguientes pasos:
  • Descargar el último firmware, hay que descargarse la última versión estable y descomprimirla en la carpeta donde vayamos a trabajar.
  • Aplicar el firmware:
    sudo dfu-util -a 0 -s :unprotect:force -D FF_Gotek-v2.13.dfu
    sudo dfu-util -a 0 -D FF_Gotek-v2.13.dfu
  • Lógicamente si ves estas instrucciones dentro de un tiempo la última versión será otra y deberás sustituir 2.13 por la versión que sea.
Si tienes dudas sobre el éxito de la operación, puedes comparar lo que has obtenido en pantalla con lo que yo obtuve.

Ya podemos retirar los puentes con la unidad apagada, mientras los teníamos puestos no se encendía ninguna luz en la gotek y parecía no tener ninguna actividad pero si la volvemos a conectar después ya muestra el mensaje F-F que indica que ha ido todo bien (por ahora he trabajado con la pantalla original).



Muchas gracias a los compañeros del grupo de telegram AUA Club, en especial a jgilcas que me ha proporcionado los comandos.


Cambio de pantalla

Esta operación es delicada y conviene seguir al pie de la letra el esquema del artículo de AUA, puedes usar los mismos cables de la pantalla original, aunque dispuestos vertical en lugar de horizontalmente.



Como puedes ver en esta foto he puesto la nueva pantalla ya conectada junto a la original desconectada para apreciar que es igual de alta pero bastante más ancha así que toca mecanizar la caja, de nuevo con mimo y cuidado.

Pero antes comprobamos que funciona en el CPC, para lo cual preparo un pendrive con una única partición FAT32 y algunos archivos DSK.

La unidad la conectamos como hicimos con la disquetera de 3.5", recuerda que los interruptores que tengamos para cambiar de cara o elegir unidad deben estar abiertos, es decir, CARA A y funciona como unidad B.

En la pantallita debe salirnos los nombres de los archivos y una vez seleccionados accedemos a la unidad B y procedemos como de costumbre:
|B
CAT
RUN"LOQUESEA
Cuidado con el cable y el escaso peso de la gotek comparado con la disquetera, cuando la estés manipulando todavía abierta puede llevarse un golpe, yo casi pierdo uno de los tornillos así.


Resultado final

Al final me cargué la pantallita nueva y tuve que volver a poner la vieja mientras me traen otra, son muy baratas pero extremadamente delicadas.



Por ahora voy a disfrutar del aparatito con la vieja, ¡que le vamos a hacer!


Enlaces de interés


viernes, 20 de diciembre de 2019

Calendarios 2020 hechos con inkscape y gimp

Este año voy a hacer 4 calendarios para imprimir en A3 con impresora láser color de mis temas de interés favoritos: GNU/Linux, retroinformática, tente y Málaga.
Como siempre he usado software libre pero este año voy a utilizar herramientas distintas: inkscape para hacer el calendario en sí y gimp para ponerle el fondo que más nos guste.

Vamos al lío.

Inkscape

Simplemente abrimos inkscape y accedemos al generador de calendarios con las opciones de menú:
Extensiones ► Generar ► Calendario
Una vez nos abra el asistente cambiamos los valores de cada pestaña a nuestro gusto, prestando especial atención a:
  • Pestaña configuración:
    • Año: 2020. Mes: 0 (todos en una sola página).
    • Día de inicio de la semana: Lunes.
    • Fin de semana: Domingo o Sábado y Domingo.
  • Pestaña colores: elige los que más te gusten, los tienes que introducir en formato RRGGBB, que puedes obtener fácilmente con gpick o gimp por ejemplo.
  • Pestaña Localización: presta atención a los nombres de meses y días de la semana y a haber elegido la codificación UTF-8 para no tener problemas con los acentos.
Y ya está, si dominamos inkscape incluso podríamos terminar el calendario desde esta herramienta, o si no lo guardamos como un archivo csv y terminamos el trabajo con GIMP.
En mi caso he personalizado la tipografía poniendo una muy especial para que sea un poco más original.




GIMP

  • Una vez que tenemos el archivo csv lo abrimos con GIMP.
  • Como se trata de una imagen prediseñada nos preguntará por la resolución con la que la vamos a abrir que debe ser generosa para que salga bien al imprimirla en el tipo de hoja que vayamos a usar.
  • En mi caso voy a imprimirla en un A3 así que una resolución de entorno a 5000x7000 pixeles sería adecuada, teniendo en cuenta que estos son valores orientativos que variaran para que se mantenga las dimensiones del calendario.
  • A partir de ahí vamos abriendo las imágenes que queramos en nuevas capas, que situaremos unas detrás de otras a nuestra conveniencia mediante el selector de capas, por supuesto la capa más superficial debe ser siempre nuestro calendario.
  • A estas imágenes hay que aplicarles filtros, alguna capa extra o jugar con el tono y saturación para que queden como una marca de agua y así se vean bien los textos del calendario. 




 Los resultados

Aquí tenéis los 4 calendarios que he hecho para este 2020: Amstrad pinups, Grandes éxitos del software libre, Campeones de Tenteexpress y Málaga a orillas del Alcazaba.

Amstrad pinups, calendario 2020 Campeones tentexpress, calendario 2020 Málaga 2020: a orillas del Alcazaba Calendario 2020: grandes éxitos del software libre

¡Ojo! haz clic en ellos, no te guardes la imagen directamente o no tendrás la calidad necesaria para una buena impresión.

Y si te quieres hacer el tuyo propio, aquí tienes el archivo CSV para que le añadas tus imágenes favoritas.

Espero que os guste el regalo de Saturnalia.

¡Felices fiestas!

sábado, 14 de diciembre de 2019

Instalar el último FreeDOS en un ordenador pre-UEFI

Hace poco vimos como instalar 4 sistemas operativos en un pentium 4, siendo el primero el MS-DOS 6.22 pero, ¿podríamos haber instalado FreeDOS, su alternativa libre en su lugar? Rotundamente sí, vamos a ver como.

  • Descarga la última versión de FreeDOS y tuéstala en un PC con grabadora de CD, recomendada la versión legacy si lo vas a usar en un equipo muy antiguo como va a ser el caso.
    Si tu equipo es tan antiguo que no puede arrancar desde CD-ROM descárgate también el disco de arranque y lo grabas en un disquete.
  • Configura la BIOS de tu PC para que arranque desde CD-ROM antes que de disco duro (o disquete en su caso).
  • Arranca el PC e introduce el disco de FreeDOS.
  • Selecciona el idioma: Spanish.
  • Aviso sobreescritura sistema operativo: Si continúe con la instalación.
  • Nos indica que la unidad C: no parece estar particionada le decimos que sí, que
  • cree una nueva tabla de particiones.
  • Nos dirá que FDISK puede particiones mayores de 2Gb usando FAT32 le decimos que
  • sí.
  • Borramos las particiones que hay, indicando el tipo que es, posiblemente sea NON-DOS (lógicamente si había algo en ellas lo perderás si todavía no has hecho copia de los contenidos de tu interés).
  • Creamos Una partición DOS, primaria, le indicamos cuando queremos que ocupe, ya no tenemos la limitación de 2Gb como con MS-DOS 6.22.
  • Dos veces ESC para salir de FDISK.
  • Reiniciamos el equipo.
  • Dira que la unidad C: parece no tener formato, le decimos que SI que formatee.
  • Instalamos todos los paquetes pero sin sus fuentes.
  • Al final nos pedirá reiniciar una vez más.
  • Saca el CD antes de que empiece a iniciar otra vez para arrancar ya con tu instalación de FreeDOS. 

Después de instalar FreeDOS

Casi todo el software de MS-DOS va a funcionar en FreeDOS así que podemos instalar lo que queramos o necesitemos.
Algunos drivers como el de CD-ROM lo trae de serie, por lo que no necesitaremos instalarlo como en el caso de MS-DOS, aunque otros sí tendremos que instalarlos.

¿Windows 3.1x? También lo podemos instalar pero al arrancar FreeDOS debemos elegir la opción para ejecutar con EMM386 o nos tendremos que conformar con lanzar Windows 3.1 con el comando win /s
Lo bueno es que el arranque de FreeDOS se queda con la última opción que le hayamos indicado.

Vídeo de instalación de FreeDOS

Os dejo este vídeo en el que se ve la instalación de FreeDOS en VirtualBox en un equipo moderno.

Las diferencias son mínimas aunque, eso sí, para que funcione hay que descargarse la versión normal (no legacy) y el disquete de arranque de FreeDOS.