miércoles, 1 de mayo de 2019

Copiar archivos a disquetes de doble densidad desde el PC para el Amstrad CPC (mediante disquetera USB en máquina virtual VirtualBox)

El objetivo es pasar archivos a disquetes de doble densidad desde el PC en un formato que sea capaz de leer el Amstrad CPC, pero con dos limitaciones:
  • Hacerlo en un equipo moderno que no trae disquetera interna.
  • Hacerlo en un equipo que solo tiene como sistema nativo GNU/Linux (Ubuntu Mate 18.04).

Vamos a ver que necesito.

Hardware

Necesitaremos tres cosas:
  • Disquetes de doble densidad (DD Disks), si solo tienes de alta no hay problema, le pones un trozo de celo opaco tapando el agujero derecho como puedes ver en el disquete negro de la foto y ya es un disco de doble densidad como el azul (que no tiene el agujero).
  • Una disquetera USB que soporte discos de doble densidad, como la que me pille hace unos meses.
  • Un PC, en mi caso voy a usar mi i7.

Software

  • VirtualBox, se recomienda instalar el Extension Pack correspondiente a la  versión que instales para tener un soporte completo USB.
    Lo puedes instalar desde el centro de software de tu distro.
  • La máquina virtual con Windows, al menos XP, que es la que soporta el programa para pasar los disquetes.
    Simplemente se crea la máquina virtual y lo instalas en ella como si fuera un ordenador real, os dejo un manual para quien no sepa.
  • La disquetera USB la puedes montar a posteriori una vez arrancado el Windows virtual haciendo clic en el icono para mapear dispositivos USB pero mi recomendación es añadir un filtro de dispositivo USB en el apartado USB de la configuración de la máquina virtual antes de arrancarla y así hacer que se mapee automáticamente.
  • CPCDiskXP, el programa que va a pasar los archivos al disquete y que lógicamente hay que descargar e instalar en el Windows XP virtual.
    Debe ser la última versión que es la que permite usar disqueteras USB con limitaciones que veremos a continuación.
  • Los archivos sueltos o archivos dsk que queramos pasar que también deben estar en el sistema virtual.
 

Uso de CPCDiskXP

Este programa se distribuye en un archivo ZIP como aplicación portable, por tanto, basta con copiarla en una carpeta y hacer doble clic en el ejecutable CPCDiskXP.exe (crear un acceso directo para más comodidad).
También incluye otro binario llamado FDInstall.exe que es el driver para usar el disquete de forma nativa pero no es compatible con las unidades USB.
Recomiendo mantener conectada la disquetera con el disquete dentro desde que iniciamos la máquina virtual hasta que salgamos de ella.
Puede que algunos disquetes con tantos años fallen pero ya vimos que unos buenos soplidos en su interior hace maravillas.

Bueno, vamos al lio:
  1. Arrancamos la máquina virtual con la unidad conectada y el disquete dentro.
  2. Ejecutamos CPCDiskXP.
  3. Hacemos clic en el botón DSK EDITOR.
  4. Clic en New.
  5. Marcamos la opción USB Floppy Drive  Compatible Formats y dejamos el que nos ofrece por defecto.
  6. Hacemos clic en el botón Add Files para añadir archivos sueltos y/o..
  7. Hacemos clic en el botón Add Files From Another DSK para incluir archivos sueltos incluidos en un DSK que no esté protegido.
  8. Una vez incluidos todos los archivos deseados pulsamos los botones Write USB Floppy y Write Disk.
  9. Si todo ha ido bien cerramos la aplicación y salimos de la máquina virtual, ya tenemos nuestro disquete listo para usar en una unidad 3.5'' conectada a nuestro CPC.

Limitaciones

  • Realmente solo puede copiar ficheros sueltos, aunque los lea de un dsk desprotegido, no se podría "quemar" una imagen tal cual en el disquete (raw).
  • Hay que usar formatos IBM y además compatible con la ROM que tenemos en nuestro CPC, que en mi caso es la estándar.
  • Por otro lado sólo podemos grabar la cara A, lo que nos hace aprovechar muy poco del disco.
  • El disquete no se podrá releer desde la aplicación por lo que siempre hay que empezar de cero.
  • Posiblemente no sea reconocido ni por GNU/Linux ni por el Windows virtual. 

Videotutorial

Aquí tenéis el vídeo con las peculiaridades de hacerlo en una máquina virtual desde GNU/Linux, en un Windows nativo sería igual.

 


Última hora

El compañero KaosOverride, una vez más, nos proporciona información interesante desde el grupo de Telegram Amstrad Power.
Se puede hacer directamente desde GNU/Linux con las aplicaciones dsk2ima y dd. 
Tomo buena nota para futuro artículo.

2 comentarios:

  1. Ejecutar exe dentro de virtualbox desde Debian/Ubuntu/Mint
    https://soygnulinux.blogspot.com/2019/04/ejecutar-exe-dentro-de-virtualbox-desde.html

    Otra opción para la automatización de este tipo de programas específicos de winbugs.

    ResponderEliminar
  2. También vale para el Spectrum.
    https://programbytes48k.wordpress.com/2020/02/23/creando-una-imagen-dsk-compatible-spectrum-con-la-utilidad-cpcdiskxp

    ResponderEliminar