Mostrando entradas con la etiqueta Amstrad CPC. Mostrar todas las entradas
Mostrando entradas con la etiqueta Amstrad CPC. Mostrar todas las entradas

lunes, 26 de mayo de 2025

Gotek Flashfloppy en Amstrad CPC 6128

Muy buenas amigos y amigas de lo retro!!!

Amstrad CPC 6128 fue uno de los ordenadores más icónicos de Europa y por supuesto, en España. Este microordenador de 8bits ya lo hemos visto anteriormente cuando le dimos una buena limpieza y puesta a punto.

En competencia directa con el Commodore 64 y el ZX Spectrum, su hardware robusto, teclado de calidad y gráficos en color lo convirtieron en una plataforma ideal para juegos y aplicaciones. Sin embargo, como toda tecnología de la época, dependía de un soporte físico frágil y obsoleto hoy en día: los disquetes de 3 pulgadas.

Disquete Amstrad 3'

Con el paso de los años, las disqueteras originales han ido fallando debido al desgaste de los cabezales, la degradación de las bandas elásticas y la escasez de discos en buen estado.

Esto hace cada vez más difícil disfrutar de la amplia biblioteca de software del CPC... hasta que llegó la Gotek, un dispositivo que ha revolucionado la forma en que los usuarios de sistemas retro interactúan con su software.


¿Qué es exactamente una Gotek?

La Gotek es una unidad de disquete emuladora basada en un microcontrolador STM32, diseñada originalmente para entornos industriales como reemplazo económico de disqueteras.

Sin embargo, la comunidad retro rápidamente descubrió su potencial: al conectarla a un ordenador clásico como el Amstrad CPC y cargar un firmware alternativo como FlashFloppy, la Gotek se convierte en una "disquetera virtual" capaz de leer cientos de juegos desde una simple llave USB.


¿Qué es FlashFloppy?

Logo Flashfloppy
FlashFloppy es un firmware alternativo y mejorado para las unidades Gotek, desarrollado por keirf. Esta disponible en su repositorio de GitHub y con el podemos sacarle mucho más jugo a nuestros amados ordenadores de 8bits.

El firmware de Flashfloppy ofrece muchas más funciones que el original, mejoras funcionales ya que admite diferentes mods como pantalla OLED o encoder rotativo.

El mod de la pantalla OLED ofrece mejoras visuales como mostrar el archivo seleccionado o la navegación por carpetas:

  • Soporte para múltiples formatos de disco (.DSK, .EDSK, .IPF, .HFE, etc.).
  • Navegación por carpetas en el USB.
  • Pantallas OLED o LCD para visualizar el archivo seleccionado.
  • Soporte para rotary encoder (selector giratorio en lugar de botones).
  • Autoconfiguración para diferentes sistemas (Amstrad CPC, Spectrum, MSX, etc.).
  • Personalización de sonidos y temas visuales.

Es en este punto donde decidimos integrar este sistema en el CPC 6128 y estas son los puntos que tenemos que tener en cuenta antes de empezar:

Microcontrolador: Los dispositivos Gotek han presentado tres generaciones de MCU:

  • STM32F105
  • Artery AT32F415
  • Artery AT32F435

La Gotek que tenemos es la que tiene el chip Artery AT32F415.

Chip Artery AT32F415

Materiales:

  • Cable USB-A a USB-A Este cable lo podemos fabricar con un par de cables USB que tengamos sin usar. Solo hay que unir los cables que tengan el mismo color. En el caso de que no lo sean, hay que medir con el polímetro que los pines coincidan.
    Cable USB-A to USB-A
  • Pines y puentes Necesarios para que la operación sea más cómoda para la instalación y futuras actualizaciones.
    Pines para soldar

Ahora que tenemos todos los materiales, vamos a ver las modificaciones que tenemos que realizar sobre la placa:

La pantalla Oled en la Gotek es algo prácticamente imprescindible, puede ser de 128x32 o 128x64. Dispondremos de una información más detallada sobre las capetas y archivos.

Diagrama conexión pantalla 128x32

Listado de pines del zócalo de programación:

  • Boot Jumper: Puenteado con "3V" ponemos la Gotek en modo de programación.
  • 3V: Alimentación 3V
  • Tx: Puerto Tx para programador USB.
  • RX: Puerto Rx para programador USB.
  • RST: No se usa.
  • 5V: Alimentación 5V.
  • GND: GND o masa.

Listado de pines de control:

  • J5: Cambio de disco.
  • JA: Botón Seleccionar/Expulsar/Insertar con pulsador.
  • JC: Selección de máquina Abierto=Shugart Cerrado=IBMpc
  • JB: Conexión de un pequeño altavoz o buzzer (J- y B+).
  • S0: On=Gotek seleccionada como unidad A (S1=OFF).
  • S1: On=Gotek seleccionada como unidad B (S0=OFF).
  • M0

Listado de pines para pantalla Oled:

  • SDA: Conexión de datos I2C
  • SCL: Conexión de datos I2C
  • 3V: Alimentación + .
  • GND: Alimentación - .

Actualización del Firmware

En este paso necesitamos el cable USB-A a USB-A y en la placa puentear los pines marcados como Boot Jumper y 3V como se muestra en la parte inferior de la siguiente imagen:

Puentes de programación para Gotek

Gotek con los pines soldados

En este paso vamos a cargar el firmware en una maquina con Linux instalado, en este caso Ubuntu:

Vamos a utilizar la herramienta "dfu-util" para flashear el firmware de la Gotek que soporta el protocolo DFU (Device Firmware Upgrade).

Abrimos un terminal y escribimos:


sudo apt update && sudo apt-get install dfu-util

Con la herramienta instalada descargamos el software de Flashfloppy y descargamos la última versión.

Solo falta descomprimir el archivo, lo podemos hacer en el mismo directorio /Descargas. Encontraremos el archivo con extensión .dfu dentro del directorio dfu.

Recuerda usar el firmware correspondiente al microcontrolador que use la placa, en este caso el Artery AT32F435.

Gotek archivos dfu con el firmware

Ahora seguimos los siguiente pasos:


1-. Configuración de pines:

Establecemos el pin de programación en la Gotek tal y como hemos visto en la imagen anterior.


2-. Conexión:

Conectamos la Gotek con el cable USB-A a USB-A


3-. Desbloqueamos el firmware actual:

Abrimos un terminal y escribimos:


  dfu-util --list

dfu-utils nos devuelve la siguiente información:

Para romper la protección del firmware en el hilo original proponen el siguiente comando:


sudo dfu-util -D /path/to/flashfloppy-at415-st105-3.44.dfu -a 0 -s 0x08000000:unprotect:force

Pero por algún motivo nos daba un error como que había dos unidades y que le especificara la dirección de la disquetera correcta.

Este dato lo obtenemos del mismo comando "dfu-utils --list" y en este caso es: 2e3c:df11 al que llamaremos "MAC_GOTEK". Investigando un poco por internet tenemos esta variación del comando dfu-util en la que se incluye dicha dirección:


sudo dfu-util -v -d MAC-GOTEK -a 0 -s 0x08000000:unprotect:force -D /path/to/flashfloppy-at415-st105-3.44.dfu 

Esto termina con un error, pero desactiva la protección, por mi parte bien...


4-.Instalacion de Flashfloppy:

Ahora instalamos el firmware Flashfloppy donde tenemos que cambiar /path/to/ por el directorio donde tengamos el archico .fdu y X.XX por la versión de flashfloppy que hayamos descargado


sudo dfu-util -D /path/to/flashfloppy-at415-st105-X.XX.dfu -a 0


5-. Comprobación

Ya tenemos instalado Flashfloppy en nuestro dispositivo Gotek, Ahora desconectamos el cable USB y retiramos el puente entre el "Boot Jumper" y "3V"

Ahora volvemos a conectar el cable USB y en la pantalla aparecerá la siguiente imagen:

Gotek primer inicio con Flashfloppy

¡¡¡Enhorabuena ya tienes la Gotek con firmware Flashfloppy!!!

¿Y ahora?

Ahora nos toca configurar las opciones básicas que, por suerte, son pocas.

En el directorio "examples" tenemos el archivo FF.CFG con la configuración básica de la Gotek. Este archivo lo leera la unidad USB antes de empezar y modificará la configuración con los parámetros que hayamos definido en el archivo FF.CF.

Es decir, para que tenga efecto solo tenemos que copiar el archivo FF.CFG en la raíz de la memoria USB.

A continuación estos son algunos parametros a los que merece la pena echar un vistazo

Mantener pantalla encendida:


# Turn an LCD or OLED display off after N seconds of inactivity.
# N=0: always off; N=255: always on
# - Values: 0 <= N >= 255
# display-off-secs = 60
display-off-secs = 255

Cambio del tamaño del texto

Primero definimos la pantalla en display type y activamos la opción -narrow:


# Display Type.
# auto: Auto-detect (7-seg LED, LCD, OLED)
# lcd-CCxRR: CCxRR backlit LCD with I2C backpack (16<=CC<=40, 02<=RR<=04)
# oled-128xNN: 128xNN I2C OLED (NN = 32 | 64)
#  -rotate:     OLED view is rotated 180 degrees
#  -hflip:      OLED view is flipped horizontally
#  -narrow[er]: OLED view is restricted to Gotek display cutout
#               (-narrow: 18 chars; -narrower: 16 chars)
#  -inverse:    Inverse/reverse video (black text on white background)
#  -ztech:      ZHONGJY_TECH 2.23" 128x32 SSD1305 OLED display
#  -slow:       Run I2C bus slower (use this if OLED regularly blanks/corrupts)
# Values: auto | lcd-CCxRR | oled-128xNN[-rotate][-narrow[er]]...
# display-type = auto
display-type=oled-128x32-narrow

Y cambiamos el tamaño en la sección OLED Font:


# OLED Font. Narrow and wide options.
# Narrower 6x13 font permits:
#  - More characters per row
#  - Use of Gotek display cutout (eg. "display-type=oled-128x32-narrow")
# Values: 6x13 | 8x16
# oled-font = 6x13
oled-font = 8x16

Podemos volver a la configuración original si retiramos la memoria USB y después mantenemos pulsados los botones A(+) y B(+) durante 3 segundos y nos aparece el mensaje: Reset Flash Configuration

Con todo configurado ya podemos conectar la Gotek a nuestro Amstrad CPC6128 con un cable de disquetera estándar FDD que tenga la entrada para disqueteras de 5.25. No hace falta ninguna modificación en el cable FDD.


Ahora si, Cargar discos con Gotek

Con la memoria USB con los juegos y el archivo FF.CFG, lo introducimos en la Gotek y le damos alimentación.

El archivo FF.CFG se carga automáticamente (no hay que hacer nada) y ya podemos pasar a utilizar el archivo que seleccionemos.

Para movernos entre archivos y directorios la Gotek cuenta con 2 pulsadores para el controlar el disco que queremos cargar:

Pulsador A (+) :

  • Siguiente Archivo

Pulsador B (-) :

  • Archivo anterior

Ambos:

  • Reset memoria Flash

Resolución de problemas frecuentes

Como todo, siempre pueden surgir fallos o cosas que salen como deseamos, veamos los fallos mas comunes:

  • Cable de datos mal conectado:

En este caso nos aparece un mensaje en la pantalla OLED informando que el cable no esta mal conectado. Este mensaje no aparece si no hay cable.

Gotek con cable de datos mal conectado

  • Inserte Disco en la unidad B:

Si tenemos este error limpia los conectores del puerto de disco. Para una buena limpieza es recomendable usar alcohol isopropílico y un bastoncillo para los oídos. Si esto no funciona cambia el cable.

Este fallo nos puede volver un poco locos, si escribimos:

  • |b

y luego el comando:

  • "cat"

y leía el contenido del archivo pero al ejecutar run"program.bas" saltaba el mensaje de que no hay disco. Como ya hemos comentado arriba, una buena limpieza al conector y un repaso al cable con un pincel y problema solucionado.

Gotek con Flashfloppy instalado

Otro proyecto que me he escontrado es con Symbos, un sistema gráfico capaz de funcionar en un cpc 6128.


jueves, 22 de mayo de 2025

Amstrad CPC 464 Reparación parte 2

Muy buenas a todos y todas!!!

La espera ha sido larga pero, desde Australia, ya tengo en mis manos la membrana para el Amstrad CPC 464!!!

De la mano de RetroFuzion una web que se dedica a repuestos para estas "reliquias" de los años 80, tanto Amstrad como Amiga o Commodore entre otros.

La membrana es nueva, y al tenerla en la mano se nota que es de buena calidad. Al igual que la original es de plástico, pero se nota tanto por peso como al tacto se nota que el material es más resistente que el original.

Como se aprecia en la fotografía es exactamente igual (salvando las diferencias en las pistas) y colocarla ha sido realmente fácil. Veamos que tenemos que desmontar para poner la nueva membrana.

Ya teníamos el Amstrad desmontado quitando los 6 tornillos de la parte posterior del Amstrad 464 como vimos en el articulo anterior Amstrad CPC 464 reparación parte 1. Ahora ya tenemos a la vista la parte posterior del teclado y podemos ver que tiene otros 6 tornillos que fijan el teclado a la carcasa.

Ahora que ya tenemos el teclado separado, tenemos que retirar con mucho cuidado las pestañas que fijan el teclado a la parte metálica. Esta pestañas son de plástico y son fáciles de romper, de hecho, faltan un par, aunque no influye a la hora de volver a montarlo y su funcionamiento.


Ahora si ya tenemos a la luz la parte del teclado que nos interesa, la parte mecánica del teclado:

Como se puede observar en la fotografía y ya comente anteriormente, faltan algunos muelles de las teclas, unos cuantos la verdad.

Como medida temporal he cambiado los muelles del teclado numérico a las teclas principales puesto que ya tengo números en el teclado normal, y como digo es temporal.

Ya con todo en su sitio, ponemos la nueva membrana en su posición y comprobamos que esta bien centrada y volvemos a los pasos anteriores pero de manera inversa. Primero ponemos la parte trasera metálica con las pestañas. Colocamos el teclado en su posición y ponemos los 6 tornillos que lo fijan a la carcasa.

Ahora conectamos los cables flex en sus sockets (2) y por último los cables de alimentación y un cable negro que va conectado al teclado. Alineamos las carcasa con cuidado de no "pisar" los cables flex entre ambas carcasas.

Con todo listo queda la parte más tensa después de la larga espera, ¿funcionará? ¿Tendremos algún problema extra? Solo hay una manera de comprobarlo...

Conectamos el cable RGB, alimentación, accionamos el botón de encendido y ....

Funciona todo correctamente aunque por el tema de los muelles no he podido probar el teclado númerico de la parte derecha. Pero todo lo demás de 10.

Los muelles seguramente los compraré por Aliexpress o similar, aunque he pillado unos del chino (si, en el chino venden muelles) aún no he tenido tiempo de probar si funcionan o encajan (se me hacen un poco grandes).

La siguiente misión es la carga de algún juego o programa desde cinta o desde un dispositivo tipo TZXDuino o similar. Creo que hay algunas opciones para Android como PlayTZX , pero eso lo veremos la próxima entrada donde tocaré estos temas ya que me parecen proyectos muy interesantes para estas bestias de 8bits.

Recuerda que puedes visitar Amstrad CPC 464 reparación parte 1 donde encontrarás la primera parte de esta aventura ochentera.

También tienes más información sobre su hermano mayor, el CPC 6128 en Amstrad CPC 6128 Limpieza y puesta a punto.

Saludos retro!!


lunes, 14 de abril de 2025

Amstrad CPC 464 Reparación parte 1

Muy buenas a todos y todas!!!

Hoy traigo la segunda adquisición de Amstrad: El Amstrad CPC 464.

Antes de empezar con mis idas y venidas con este ordenador vamos a ver sus especificaciones técnicas:

Como su hermano mayor, el CPC 6128, el CPC 464 cuenta con procesador Zilog Z80. También con una velocidad de 4Mhz de los cuales son efectivos 3,3Mhz.


Zilog Z80 en Amstrad CPC 464

Su memoria RAM es de 64Kb (La mitad que el CPC 6128).

Su memoria ROM es de 48Kb.

Su Controlador de vídeo es un Amstrad Gate-Array 40010 y un controlador de gráficos 6845 CRTC. Esto nos permite tener 3 diferentes modos de texto y 3 modos gráficos:

  • Los 3 modos de texto:
    • 20x25 caracteres
    • 40x25 caracteres
    • 80x25 caracteres
  • Los 3 modos gráficos:
    • Modo 0: 160x200 en 16 colores
    • Modo 1: 320x200 en 4 colores
    • Modo 2: 640x200 en 2 colores

Otras particularidades de la máquina son:

  • Paleta de 27 colores.
  • Unidad de casete integrada, con 2 velocidades, 1000 y 2000 baudios.
  • Conectores para monitor RGB, impresora Centronics, joysticks y salida de audio.
  • Chip de sonido General Instrument AY-3-8912, con 3 canales de sonido y un canal de ruido blanco.

Amstrad CPC Locomotive Basic 1.0

Mi Amstrad CPC 464

Lo adquirí en una web de cosicas de segunda mano con un estado "En condiciones aceptables".. Spoiler: No eran tan aceptables.

Por suerte, su primera conexión fue exitosa, Una pantalla azul casi identica a la que sale en CPC 6128. Hasta aquí todo bien.

Ahora empiezan los problemas: Al pulsar una tecla... nada... al pulsar otra.. nada... EL TECLADO NO FUNCIONA y esto no me lo había comentado el vendedor...

Tocaba destripar al paciente.

Primero tenemos que retirar los 6 tornillos que están en la parte posterior del teclado y con esto ya tenemos separadas las carcasas. 


 

Separamos poco a poco ya que hay cables conectados entre las dos carcasas, el cable del teclado, que son dos conectores de plástico y El conector que sale de la unidad de cinta y va hacia la placa.

Hecho esto podemos ver la placa del Amstrad CPC 464:


Primera misión: Encontrar el fallo:

La parte que va dedicada al teclado está en la parte izquierda de la placa. No ha sido difícil encontrar el fallo: La Membrana esta rota y faltan de algunos muelles que presionan las membranas.

Aquí falta algo...

Según tengo entendido gracias a este magnifico vídeo de Manuel Cuenca llamado Reparación Amstrad CPC 472 de Juanan, no enciende, fallo parcial de teclado y sin sonido. en su canal de Youtube: "Manuel Cuenca (MMChip)".

Aunque no es especifico para el Amstrad CPC 464, nos puede servir como una excelente guía para detectar el fallo. En mi caso me centre en el minuto 5:00 que es donde explica como probar que la placa este correctamente haciendo unos puentes entre los diferentes puntos del conector CP002. Haciendo esto comprobé que aprecian letras y números.

Podemos comprobar esto con un puente entre los pines 9 y 19 en el conector CP002:

Esta combinación activa la tecla "intro", de esta manera descartamos que sea la placa del CPC la que pueda tener algún integrado en mal estado.

En la siguiente imagen están todas las combinaciones de teclas tal y como viene descrito en la pagina 11 del Service Manual (en Ingles):


Pincha en la imagen para agrandar.

Segunda misión: Encontrar repuestos.

Esta es la parte mas difícil hasta ahora, encontrar repuestos... y para la membrana nada menos!!! Navegando por diferentes Webs podemos encontrar algunas alternativas. Pero antes de comprar mejor tener la mayor información posible, así que recurrí otra vez al canal de Manuel Cuenca quien, desde un principio se ofreció a echarme una mano con mi pequeña empresa de arreglar esta pequeña joya.

La solución ha venido de la mano de "Retro Fuzion", una web situada al sur de Australia dedicada a repuestos de Commodore, Atari, Amiga y alguno más.

Es curioso que siendo un aparato de origen Ingles, los únicos que tengan este tipo de repuestos sea el sur de Australia.

Bien!! hasta aquí la primera parte, continuaré con la entrada cuando reciba el repuesto y lo ponga en la máquina.

Saludos Retro!!!

Amstrad CPC 464 reparación parte 2

lunes, 27 de noviembre de 2023

Instalar RetroPie en Ubuntu

Retropie

Ayer intente instalar un emulador en el portátil en el que tengo instalada una distribución de Ubuntu y después de probar varios emuladores sueltos, reconozco que me costo hacerlos funcionar.

Y se me vino a la mente RetroPie que es una plataforma de emulación que te permite usar juegos antiguos en una variedad de consolas y sistemas arcade.

Esta es una pequeña guía sobre cómo instalar RetroPie en un sistema con Ubuntu y poder revivir la nostalgia de los juegos retro que a muchos nos acompañaron durante nuestra infancia.

Requisitos previos:

  1. Un sistema con Ubuntu instalado.
  2. Una conexión a Internet estable.
  3. Un controlador (mando) compatible para disfrutar de una experiencia de juego completa.

miércoles, 1 de marzo de 2023

Amstrad CPC 6128 Limpieza y puesta a punto

Muy buenas a todos y todas!!

Hace mucho tiempo me regalaron un Amstrad CPC 6128 y hoy en día una de mis "joyas" retro de mi pequeña colección.

Este compacto ordenador empezó a fabricarse por la empresa británica Amstrad Consumer Plc año 1985 y 1990.

Su procesador, un Zilog Z80. Este procesador fue creado por la compañia Zilog en 1976 con un encapsulado PDIP de 40 pines y con una velocidad de reloj de 4 Mhz y un rendimiento efectivo de 3,3Mh.

Su memoria RAM es de 128KB pero se podía ampliar a 512KB.

Su memoria ROM es de 48KB, esto es su "disco duro" y están repartidos así:

  • 16KB para BASIC.
  • 16KB para el Firmware.
  • 16KB para AMSDOS.

Actualmente no nos dará para mucho pero en la época era más que suficiente para jugar y hacer funcionar distintos programas de ofimática.

El controlador de gráficos Motorola 6845. Tenía en total 3 modos:

  • MODE 0: Resolución de 160x200 píxeles, texto de 20x25 caracteres en 16 colores.
  • MODE 1: Resolución de 320x200 píxeles, texto de 40x25 caracteres en 4 colores.
  • MODE 2: Resolución de 640x200 píxeles, texto de 80x25 caracteres en 2 colores.

Evidentemente por edad, recuerdo vagamente estos ordenadores, por algún familiar y de verlos en el colegio. Así que cuando me lo regalaron me hizo mucha ilusión, ya que siempre me pregunte como funcionaban realmente esas maquinas.

Lo primero fue realizar una limpieza "intensa" de todo el ordenador. Además de los años que tiene a sus espaldas, parte de su vida la paso a merced de los elementos en una terraza, Mi esperanza de hacerlo funcionar no era mucha...