Mostrando entradas con la etiqueta floppy+amstrad+cpc. Mostrar todas las entradas
Mostrando entradas con la etiqueta floppy+amstrad+cpc. Mostrar todas las entradas

viernes, 27 de febrero de 2026

Manejo de los botones de la gotek

Si tienes un sencillo emulador de disquetera gotek con botones de selección te habrás percatado que solo hay dos botones para moverte por los archivos del directorio a la izquierda o a la derecha pero no hay un botón para seleccionar el archivo o el directorio si queremos navegar por ellos, entonces, ¿cómo hacemos estas operaciones?

 


Como podéis apreciar en la imagen, son los botones que están a la derecha del puerto USB y debajo del led de encendido, en este caso ya tiene seleccionado la imagen del juego 1943, os recuerdo que la gotek recuerda la última imagen DSK que seleccionamos guardando su nombre en un archivo en el raíz con un nombre similar a IMAGE_A.CFG

 Si pulsamos el botón de la izquierda iremos viendo los diferentes archivos que están antes del seleccionado hasta que nos muestre "[..]" 

 


Si dejamos de pulsar botones durante un par de segundos directamente selecciona esta opción que no es otra que bajar en el árbol de directorios, y nos mostrará el directorio en el que estábamos, en este caso "favoritos".

 


En el momento que sale el nombre del directorio debemos pulsar los botones rápidamente para que NO vuelva a entrar en el mismo directorio. 

Supongamos que tenemos un directorio llamado [cpm] y dentro de él otro que se llame [games], en este caso pulsaremos el botón izquierdo hasta que aparezca [cpm], momento en el cual pulsamos el botón correspondiente hasta que aparezca [games].


Cuando seleccionamos un directorio, si nos aparece otra vez [..] o un directorio que no nos interesa de nuevo hay que pulsar los botones rápidamente para terminar donde no queremos, por lo que seleccionamos la imagen deseada, en este caso la del juego Gozilla.BAS para CP/M.

 


Y así se navega por el árbol de directorios en una gotek, ya solo nos faltaría ejecutar el programa en nuestro Amstrad CPC, en este caso, como se trata de un juego que se ejecuta con el comando |CPM la unidad deberá estar seleccionada para que funcione como unidad A:

Para quien se haya perdido con las rutas de los archivos, aquí tenéis el camino que hemos seguido desde 1943 hasta Gorilla:

.
├── favoritos (2)
│   ├── ...
│   ├── 1943 (1988).dsk (1)
│   ├── ....
│   └── xevious.dsk
├── IMAGE_A.CFG
└── cpm (3)
    ├── ...
    ├── games (4)
    │   ├── ...
    │   ├── gorilla-cpc.dsk (5)
    │   ├── ...
    │   └── Zork III - The Dungeon Master_cpm_cpc6128_pcw.dsk
    └── system

 

Otras consideraciones

Si tienes selector giratorio el funcionamiento es el mismo, solo que en lugar de pulsar botones hay que girarlo paso a paso a la derecha o a la izquierda dependiendo lo que queramos seleccionar. 

Recomiendo que el contenido del pendrive esté organizado de manera que en cada directorio no haya demasiados archivos para no castigar a los pulsadores ni a nuestros dedos, así que si tenemos decenas de miles de archivos DSK no hay que meterlos en un solo directorio, sino crear directorios por cada primera letra de cada juego, dentro de los cuales se hace lo mismo para la segunda letra y dentro de cada subdirectorio igual para la tercera letra.

Como esto sería una locura hacerlo manualmente os recuerdo que el script splitpather crea toda la estructura por nosotros a partir del directorio donde tenemos nuestros dsk, normalizando el nombre de los archivos y hasta evitando duplicados de archivos repetidos.

Hace tiempo hice un artículo explicando más a fondo el funcionamiento de splitpather. 

 

Videotutorial

También hice unos días un videotutorial...


 

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. 

 

viernes, 16 de agosto de 2024

Cambiar la goma de la disquetera de mi Amstrad CPC6128, la primera vez

Mi Amstrad CPC6128 me lleva acompañando desde 1989 y, salvo una cara "avería" que tuvo la disquetera en 1993, la goma de la disquetera no se ha cambiado una operación de mantenimiento que llevaba postergando desde entonces hasta que ha dejado de funcionar.

Antes de hacer esta operación, que no había hecho antes y me imponía respeto a pesar de haber reparado varios PC a lo largo de los años, me he estado documentando con manuales y diversos videotutoriales cuyos enlaces he puesto al final del artículo. Si vais ha hacer esto os diré que verlos no es una recomendación, es completamente obligatorio para tener éxito y no liarla parda.

Vamos a ver los pasos que he seguido, tened en cuenta que hay que seguir un orden riguroso para no dejarse nada atrás ni romper nada más. No es la manera más ortodoxa y he ido al grano, es decir, no he desarmado otros elementos para limpiarlos por ejemplo. He tratado de desconectar lo mínimo posible siguiendo la máxima: "si funciona NO lo toques". 

 

Paso 1: Preparar la zona de trabajo

Teniendo en cuenta que el Amstrad CPC6128 se va abrir con un libro, lo ideal es una mesa que pueda albergar el doble de la longitud del Amstrad, en mi caso tengo dos mesas de IKEA que previamente he regulado para que estén exactamente a la misma altura y sea como si fuera una sola muy larga.


Paso 2: Abrir el Amstrad

Damos la vuelta al ordenador y empezamos quitando los tornillos de la parte trasera, son unos 6 tornillos de longitud media y uno algo más grande a la altura de los conectores de vídeo o energía.

 


En mi caso tenía la pegatina del servicio técnico tapando el tornillo grande, algo común en los SAT para limpiarse las manos si alguien hace alguna reparación posterior. 


A continuación retiramos los dos tornillos del lateral de la disquetera.


Es importante tener controlados todos los tornillos que vayamos quitando para luego saber ponerlos en el sitio y momento correspondientes.

Volvemos a dar la vuelta al ordenador para ponerlo otra vez en posición normal y con mucho cuidado vamos separando la parte de arriba de la de abajo, una vez liberado HAY QUE ABRIRLO COMO UN LIBRO, si lo hacemos al revés y forzamos nos cargaríamos los conectores del teclado entre otros.



Paso 3: Extraer la disquetera del ordenador

Hay que hacer dos cosas:

Retirar los dos tornillos que la siguen sujetando a la carcasa, observa que uno de ellos está conectado a un cable de tierra a la placa base, luego hay que dejarlo igual.


Retirar los cables de alimentación y datos, con cuidado de no dañarlos y apuntando como estaban conectados, lo mejor es hacer una fotografía con detalle.

 


También hay que retirar la chapa metálica de sujeción para acceder al interior de la disquetera. 


Paso 4: Acceder a la goma

Esta es la operación más delicada y donde hay más cosas donde liarla.

Retiramos el frontal desatornillando los dos tornillos que la sujetan y tirando hacia afuera con sumo cuidado de no dañar las pestañas.

 


Hay que tener en cuenta cuando la volvamos a poner que el plástico de la parte inferior debe quedar por debajo de la placa inferior de la disquetera.

 

Como es muy común perder el clavito que detecta si un disquete tiene protección de escritura o no, se pueden hacer dos cosas para prevenir esta contingencia:

  • Fijarlo momentáneamente con cinta de carretero.
  • Dejar un disquete dentro. Ésta es la opción que he usado yo.


 

Si al final terminamos perdiendo el clavito, consulta los enlaces del final para ver el vídeo y el artículo en el que se explica como solucionar este problema.

Ahora retiramos los tres tornillitos de la placa inferior de la disquetera, pero que todavía no vamos a retirar porque nos vamos a encontrar más cosas que hay que quitar para no romper nada.

Disquetera de 3", detalle placa inferior
Disquetera de 3", detalle placa inferior (sacada del artículo de AUA: Reparación de disquetera: disc is write protected)

 

También hay que quitar los conectores de los motores, que, en mi disquetera están a los lados.




Finalmente hay que retirar un sensor que hay que dejar exactamente en la misma posición para no tener errores de funcionamiento en la unidad.


Para volver a ponerlo igual hay que señalar con un rotulador indeleble su posición, aunque yo en lugar de retirarlo he quitado el cable del pasador para tener holgura para retirar un poco la placa de abajo, lo suficiente para acceder a la goma, por si muevo el sensor accidentalmente marco igualmente con indeleble su posición.


De esta manera es un poco más incómodo acceder a la goma y sobre todo limpiar los restos de goma si se hubiera deshecho, afortunadamente la mía está entera aunque algo dada de sí.


Con unas pinzas consigo retirar la goma vieja y sustituirla por la nueva, me aseguro que los rodillos funcionan moviendo uno y viendo como se mueve el otro.


Paso 5: Volver a cerrarlo y conectarlo todo

Ahora tenemos que ir cerrando todo y volver a conectar lo que hemos desconectado en el orden inverso, lista de tareas:

  1. Cerrar la disquetera.
  2. Poner el cable del sensor por el pasador.
  3. Conectar los dos motores.
  4. Atornillar la placa inferior de la disquetera. 
  5. Sacar el disquete.
  6. Volver a poner el frontal en su sitio exacto, de manera que la parte más inferior del frontal quede por debajo la placa inferior.
  7. Colocar la placa de sujección a la izquierda de la disquetera.
  8. Colocar la disquetera en su sitio en la carcasa del CPC.
  9. Conectar los cables de alimentación y datos.
  10. Atornillar la disquetera a la carcasa con sus dos tornillos.
  11. Cerrar el CPC como cerraríamos un libro.
  12. Poner los tornillos inferiores de la carcasa y los dos que sujetan la disquetera por su lateral derecho.


Paso 6: Pruebas finales

Una vez cerrado todo toca cruzar los dedos y ver que funciona todo correctamente:

  1. Encendemos el Amstrad y vemos que sigue arrancando correctamente.
  2. Introducimos algunos disquetes y vemos que carga los juegos y programas con normalidad.
  3. Probamos con algún disquete que tenga espacio libre y guardamos el típico programa BASIC del "Hola mundo", si lo hace con normalidad hemos terminado las pruebas con éxito. ¡ENHORABUENA!


Si tienes algún problema con algún disquete comprueba que las revoluciones de tu disquetera son las correctas.

 

Videotutoriales y otros manuales

A continuación pongo los enlaces de donde he sacado información para completar este mantenimiento, en orden de utilidad para la tarea:


Muchas gracias a los compañeros de los foros y grupos de Telegram que me han dado consejos de como proceder y en especial al sr. Rosa que incluso se ha ofrecido para ayudarme a cambiarla y que tenía en la recámara por si la cosa no salía como esperaba.

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.


Así que me tuve que pedir otra pantalla de nuevo (ya me pedí dos) y este fue el resultado definitivo:


Enlaces de interés



viernes, 24 de mayo de 2019

Menu para disquete de Amstrad CPC

Recupero un viejo programa Basic que usaba para poder cargar distintos programas que tuviera en un disquete con un menú como éste:


Nos podemos mover por las entradas con los cursores o el joystick y seleccionarla con las teclas ESPACIO, ENTER o el disparo 0 del joystick.
Este es el listado del programa:

10 REM Ejemplo Menu para seleccionar diversos programas en disquete.
20 MODE 1
30 PEN 1:PAPER 0
40 DIM B$(20)
50 cabecera$="EJEMPLO MENU DE DISCO (CPCBEGIN)"
60 X%=19-LEN(cabecera$)/2
70 ESPACIOS%=4+LEN(cabecera$)
80 PAPER 3
90 FOR Y%=1 TO 3
100 LOCATE X%,Y%:PRINT SPACE$(ESPACIOS%)
110 NEXT Y%
120 LOCATE X%,2
130 PRINT"  "+cabecera$
140 PAPER 0:READ Z%:FOR I%=1 TO Z%:READ a$,b$(i%):LOCATE 5,I%*(2+(z%>10))+5:PEN 2:PRINT USING"##";i%;:PRINT") ";:PEN 1:PRINT a$:NEXT i%
150 REM PEN 3:LOCATE 11,25:PRINT CHR$(164)+" 2019, MENSAJE COPYRIGHT";
160 opcion%=1
170 LOCATE 5,opcion%*(2+(z%>10))+5:PEN 0:PAPER 2:PRINT USING"##";opcion%;:PRINT") ";:a$="":WHILE a$="":a$=INKEY$:WEND
180 IF a$=CHR$(241) OR a$=CHR$(10) THEN LOCATE 5,opcion%*(2+(z%>10))+5:PAPER 0:PEN 2:PRINT USING"##";opcion%;:PRINT") ";:opcion%=opcion%+1:IF opcion%=Z%+1 THEN opcion%=Z%
190 IF a$=CHR$(240) OR a$=CHR$(11) THEN LOCATE 5,opcion%*(2+(z%>10))+5:PAPER 0:PEN 2:PRINT USING"##";opcion%;:PRINT") ";:opcion%=opcion%-1:IF opcion%=0 THEN opcion%=1
200 IF VAL("0"+a$)>0 THEN opcion%=VAL(a$):GOTO 230
210 IF a$<>CHR$(13) AND a$<>"X" AND a$<>" " THEN a$="":GOTO 170 ELSE 230
220 PRINT"Cargando..."b$(opcion%)
230 FOR j%=1 TO z%
240 PEN 2:PAPER 0
250 IF opcion%=j% THEN PRINT CHR$(24);
260 LOCATE 5,j%*(2+(z%>10))+5:PRINT USING"##";j%;:PRINT") ";
270 NEXT j%
280 PEN 1:PAPER 0:RUN B$(OPCION%)
290 END
300 'Use this syntax in DATA line:
310 'DATA number of programs,description 1,access 1,description 2,access 2,...
320 DATA 19,ALGEBRA,ALGEBRA.BAS,"BARAJA ESPANOLA",BARAJA.BAS,EDITOR DE CARACTERES,CARACTER.BAS,CRONOS I,CRONOS.BAS,IMPRIME DIRECTORIOS,DIR.BAS,DIRECCIONES Y TELEFONOS,DIRECCIO.BAS,CALCULO DIVISORES,DIVISOR.BAS,DEMO TINTAS,INKERS.BAS,TEST JOYSTICK
330 DATA JOYTEST.SPA,CALCULO NIF,NIF.SPA,PAGINADOR,PAGINAS.BAS,PIRAMIDE MALAGA,PIRAMIDE.BAS,NUMEROS PRIMOS,PRIMOS.BAS,QUIMICA JBL,QUIMICA.BAS,QUINIELA ALEATORIA,QUINIELA.BAS,TELEFONOS Y PREFIJOS,TELEFONO.BAS,TYPE AMSDOS,TYPE.BAS
340 DATA LEA ESTO,README.BAS,ENGLISH SOFTWARE,ENGLISH.BAS
350 'autosaving
360 SAVE"disc.bas",a

Si no queréis teclear todo esto, tenéis la última versión en mi github.

Para adaptarlo a tus necesidades basta con que cambies las lineas de DATA según lo que dice la linea 300, el primer dato es el número de programas.
También deberías cambiar el texto de la cabecera con el nombre que le des al disco o compilación.

Deben sobrar al menos 2K en el disquete para que quepa el programita.

Para grabarlo en un CPC real o emulado, recuerda que ya hemos visto como hacerlo con disquetes, inyectar código en un DSK con un editor de texto profesional. y que emuladores como RVM permiten inyectar y extraer archivos de las imágenes de disquetes muy fácilmente.

domingo, 19 de mayo de 2019

Tostar un archivo DSK en un disco de 3" desde la unidad de 3.5" del propio Amstrad CPC con dsk-cpc

Imagina que tu copia original de CP/M deja de funcionar (y todas las copias de seguridad que deberías haber hecho), ¿qué haces ahora? ¿cómo vas a hacer tareas habituales en el CPC como formatear disquetes?

La solución es estampar en un disco el archivo DSK del disco estropeado desde la unidad B del propio Amstrad, ¿cómo? con la utilidad dsk-cpc.

¿Qué necesito?


Preparando los discos de 3.5" en el PC

  • Copiamos la aplicación dsk-cpc a un disco de 3.5" en algún formato que lea el CPC tal y como vimos en un artículo anterior.
  • Formateamos el segundo disco de 3.5" como disco IBM de doble densidad:
    SistemaComando para formatear en doble densidad
    DOS/Windows unidad internaformat a: /t:80 /n:9 /v:dsks
    GNU/Linux unidad internafdformat /dev/fd0u720
    DOS/Windows unidad USBufiformat -f
    GNU/Linux unidad USBsudo ufiformat -f 720 -v /dev/sdd #sustituir sdd por lo que corresponda con la disquetera
  • Copiamos los dsk que queramos tostar en este segundo disco, arrastrándolos desde el explorador por ejemplo.

Nota para disqueteras USB

  • Para GNU/Linux: sustituir /dev/sdd por lo que corresponda según lo que nos diga el comando mount (hay que instalar previamente ufiformat de los repositorios oficiales).
    ¡Ojo! Si nos equivocamos podemos machacar la información de otra unidad.
  • Para Windows: el driver de la disquetera y la versión del S.O. debe soportar discos de doble densidad.
  • Para ambos: la disquetera debe soportar discos de doble densidad (se puede comprobar con el comando ufiformat -i

Uso de dsk-cpc en el Amstrad CPC

  1. Encendemos la disquetera de 3.5" y el Amstrad CPC.
  2. Introducimos el disquete de 3" a machacar y el disco de 3.5" con el programa dsk-cpc.
  3. Seleccionamos la unidad B: con el comando:
    |B
  4. Ejecutamos dsk-cpc
    RUN"dsk-cpc
  5. Sacamos el disquete de 3.5" con dsk-cpc y lo sustituimos por el disquete con las imagenes DSK.
  6. Pulsamos 1 para seleccionar el DSK.
  7. Seleccionamos el dsk que queramos tostar.
  8. Seleccionamos 1 para tostar el dsk en el disco de 3".
  9. Cuando termine podemos reiniciar y probamos que funciona el disco de 3".
Advertencia: este procedimiento no funciona con todas las imágenes dsk, especialmente si están protegidas o tienen pistas extrañas.

martes, 7 de mayo de 2019

Poner una disquetera de 3.5'' al Amstrad CPC 6128


En realidad, este cable lo tenía hecho y comprobado por Diego Vizcaíno hace muchos años pero yo nunca había conseguido hacer que funcionara, ¿por qué? porque hay que alimentar a la disquetera como es debido, 5V 2A, hace poco me regalaron algunos componentes viejos de PC que me podían servir como una fuente de ordenador de las antiguas.

El cable

El cable utilizado es el que usaban para conectar las viejas disqueteras de 5.25" con ciertas modificaciones:
  • Pines 33 y 34: deben estar cortocircuitados permanentemente para conseguir la señal Ready.
  • Pines 31 y 32: cortocircuitados leen la "cara B" del disco, sin unir leen la "cara A".
  • Pines 11 y 12: hacen que la unidad externa se convierta en la unidad A, lo que nos permitiría ejecutar programas que estén pensados para arrancar solo desde esa unidad, como diversos juegos y el propio CP/M.
Lo más recomendable es poner interruptores entre los pines que se conectan o desconectan según nuestra necesidad, por precaución NO DEJAR SUS CONEXIONES AL AIRE.

 
Otra opción válida para alimentarla es suministrar 5V 2A por el conector de alimentación de la disquetera (como se ve en la foto de la disquetera por detrás), un alimentador de raspberry pi 2 podría servir y no sería tan aparatoso como el de un PC.
La disposición de los pines depende de si la muesca para el cable está abajo o arriba, de todas formas el cable solo debería entrar solo de la manera correcta en la disquetera (pin 1 al cable rojo), en el Amstrad sí hay que tener más cuidado como vamos a ver.

 

Conectándolo al CPC y a la disquetera

Hay que fijarse en el pin 1, que es el cable rojo:
  • A la disquetera debe ir al pin 1 de la disquetera, la mayoría de cables y disqueteras traen una muesca para que se conecten como debe ser, pero mejor comprobar este punto.

    En la serigrafía inferior podemos ver que el cable rojo está en el pin 1, en la etiqueta estaba puesto arriba porque así tenía que ser en la disquetera que iba a usar originariamente, que resultó estar cascada.
  • Al CPC debe conectarse de manera que el cable rojo sea el más alejado de la disquetera de 3" interna, normalmente junto al cable de vídeo.
¡CUIDADO!: En el manual oficial del Amstrad os encontraréis este esquema:



NO LE HAGÁIS NI CASO, es válido para las unidades Amstrad por que los pines se montaron al revés que la norma de las disqueteras de PC, es decir, el 1 sería el 34, el 2 el 33...


Funcionamiento 

Una vez conectado todo, encendemos la fuente que alimenta la disquetera y a continuación el propio CPC.
Para usarla como unidad B tecleamos
|B
y los comandos habituales para cargar o ejecutar programas.

Hay que tener en cuenta que algunos juegos y el propio CP/M solo permiten arrancar con la unidad A, así que en esos casos tenemos que unir los pines correspondientes para anular la unidad interna y que la externa funcione como A:

Una advertencia: si hacéis CAT sobre una unidad sin disquete el Amstrad se quedará bloqueado hasta que lo apaguéis y  volváis a encender.
Lo más cómodo es tener un disquete en cada una para evitaros el incordio.


Acabados (mucho por mejorar)

Como habéis visto en las fotos, he metido la fuente de alimentación y la disquetera en una caja de cartón recortada y agujereada, es cutre pero por ahora es lo que hay.
Eso sí le he hecho muchos agujeros para que escape el calor por algún lado pero de todas formas voy a estar pendiente de posibles calentamientos.

También tengo que poner un par de interruptores para cambiar de cara y puede que también para usar como unidad A.

También puedo añadir conectores para alimentar al propio Amstrad CPC para cuando quiera usar monitores externos distintos al CTM-644.

En estos vídeos podéis ver la disquetera en acción.


Fuentes y enlaces de interés


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.

sábado, 17 de noviembre de 2018

Hacer un disco de autoarranque con CP/M plus (Mallard Basic)

Vamos a preparar una cara de un disco de 3'' en un Amstrad CPC6128 para que al teclear |CPM arranque el sistema operativo y el comando que deseemos.

Formatear como SYSTEM

IMPORTANTE: En el asistente de DISCKIT3 hay que usar el teclado numérico para elegir las opciones, si usas las teclas de números normales NO FUNCIONARÁ.
  1. Introducimos el disco 1 de CP/M plus (o mejor una copia) y tecleamos:
    |CPM
  2. Ejecutamos la aplicación
    DISCKIT3
  3. Seleccionamos las opciones:
    Format > System Format
  4. Nos dirá que mantengamos el disco de sistema en la unidad A para copiar las pistas de sistema y pulsemos una tecla.
  5. Seleccionamos la unidad a formatear (si tenemos más de una).
  6. Confirmamos que es la unidad y formato que le queremos dar y pulsamos una tecla.
  7. Nos pregunta si queremos seguir formateando discos, en este caso le decimos que NO.
  8. Sacamos los discos y salimos de DISCKIT3.
  9. Volvemos al prompt de CP/M

Pasar el sistema al nuevo disco

  1. Introducimos de nuevo el disquete de sistema en la unidad A: 
  2. Copiamos los siguientes archivos esenciales al disquete previamente formateado:
    PIP B:=A:C10CPM3.EMS
    PIP B:=A:KEYS.*
    PIP B:=A:SUBMIT.COM
    PIP B:=A:SETKEYS.*
    PIP B:=A:SET24X80.COM
    PIP B:=A:AMSDOS.COM
    PIP B:=A:PIP.COM
  3. Sacamos los dos disquetes, reiniciamos e introducimos solo el nuevo en la unidad A: y comprobamos que funciona con el comando:
    |CPM

Copiar Mallard Basic y programas de ejemplo

En mi caso tengo un ejecutable del Mallard Basic del PCW con programas de ejemplo por lo que también tendría que copiarlo aquí:
PIP B:=A:BASIC.COM
PIP B:=A:*.BAS 


 Hacer que arranque Basic Mallard al iniciar CP/M 

  1. Sal de CP/M con el comando AMSDOS
  2. DESDE EL BASIC AMSDOS teclea el siguiente programa:
    10 OPENOUT "PROFILE.SUB"
    20 PRINT #9, "BASIC"
    30 CLOSEOUT
  3. Guárdalo por si hay que modificarlo en el futuro:
    SAVE "GENPROF.BAS"
    (recuerda siempre que es un programa del Locomotive Basic de AMSDOS, no lo abras con el Mallard Basic de CP/M).
  4. Ejecuta el programa.
  5. Vuelve a ejecutar el comando |CPM para comprobar buen funcionamiento.

RECORDATORIO: Para salir de Basic Mallard hay que teclear el comando SYSTEM

La gran pega es que para que funcione esto el disco no puede tener puesta la protección contra escritura. :(

¿Prefieres verlo en vídeo?

Sin problema...