Actualidad AUASoftwareSoftware AUAUtilidades

CPC Doctor: el médico que tu Amstrad CPC necesitaba

CPC Doctor realiza diferentes comprobaciones sobre el hardware

0
(0)

Te presentamos CPC Doctor… Cuando un Amstrad CPC empieza a dar problemas, localizar la avería puede convertirse rápidamente en un pequeño rompecabezas: una tecla que no responde, memoria defectuosa, problemas de imagen, sonido extraño, una disquetera que no gira correctamente… CPC Doctor nace precisamente para facilitar ese trabajo y convertir el propio ordenador en una herramienta de diagnóstico.

Desarrollado por Raúl Jiménez para el taller de la Asociación de Usuarios de Amstrad (AUA), CPC Doctor es un sistema de diagnóstico guiado que se ejecuta directamente en el CPC y que está pensado tanto para recuperar equipos como para comprobar máquinas adquiridas de segunda mano o aportar información útil cuando se necesita localizar una avería.

El proyecto está basado en Amstrad Diagnostics, de Noel Llopis, pero amplía considerablemente sus posibilidades con nuevas pruebas y una interfaz orientada a que el usuario pueda entender qué se está comprobando y qué pasos debería seguir después.

Mucho más que un simple test

CPC Doctor realiza diferentes comprobaciones sobre el hardware del ordenador y presenta los resultados de forma bastante clara, diferenciando entre Superado, Error, Inconcluso, Sin probar y No disponible.

Entre las pruebas disponibles encontramos la identificación completa del equipo, donde puede determinar el modelo, frecuencia de vídeo, memoria, tipo de CRTC, Gate Array, chip de sonido, controladora de disquetera y tipo de Z80.

El apartado de teclado y joystick comprueba teclas sin respuesta, teclas atascadas, rebotes e incluso problemas relacionados con líneas o columnas completas de la matriz. También contempla las denominadas teclas fantasma para evitar confundir determinados comportamientos con una avería.

La sección de imagen utiliza diferentes patrones para comprobar niveles de color, brillo, geometría, Mode 2 y movimiento, adaptando las indicaciones según el tipo de pantalla utilizada.

En cuanto al sonido, se prueban individualmente los canales A, B y C del AY/YM, además del ruido y la envolvente de volumen. El sistema puede ayudar a diferenciar un problema en el generador de tonos de una avería en la propia salida de audio.


CPC Doctor realiza diferentes comprobaciones sobre el hardware

cpc doctor

También mete mano a cassette, disco y memoria

CPC Doctor no se queda en los periféricos más evidentes.

La prueba de cassette permite medir la velocidad del motor y la estabilidad de la señal utilizando un tono de calibración de 2000 Hz. Incluso proporciona indicaciones para ajustar aspectos como el azimut o la velocidad.

En el caso de la disquetera, se mide su velocidad de giro en revoluciones por minuto.

La memoria también recibe una revisión bastante profunda. La RAM baja puede comprobarse bit a bit y, cuando se detecta un fallo, el programa puede indicar qué chip de la placa debería revisarse en función del modelo y los esquemas de Amstrad.

La RAM alta permite comprobar bancos de 64 KB hasta 4 MB y la configuración C3. En un CPC 6128 sin ampliaciones también puede llegar a señalar el chip que presenta el problema.

Las ROM se identifican mediante CRC, mientras que una prueba continua permite repetir las comprobaciones de memoria y ROM para localizar fallos que solamente aparecen cuando el ordenador lleva un tiempo funcionando.

Un resumen perfecto para enseñar la avería

Una de las funciones más prácticas es el resumen final, diseñado para poder fotografiar la pantalla y compartir fácilmente el estado del ordenador.

En esa pantalla aparecen el equipo identificado, los resultados de las pruebas, aquello que queda pendiente y un código que reúne toda la información obtenida.

Además, CPC Doctor incorpora un modo automático. Si al arrancar no se pulsa ninguna tecla durante 30 segundos —algo especialmente útil cuando precisamente el teclado está averiado— el programa continúa automáticamente con diferentes pruebas. Comprueba teclado y joystick, muestra patrones gráficos, reproduce sonidos y realiza las comprobaciones de disquetera, RAM y ROM, finalizando posteriormente en el resumen.

Diferentes formatos para prácticamente cualquier CPC

El proyecto genera versiones en español e inglés y ofrece varias formas de utilizarlo.

La versión de disco se distribuye como:

  • CPCDOCTOR-ES.DSK, ejecutable mediante RUN"DOCTOR.
  • CPCDOCTOR-ES.CDT y WAV para cassette.
  • CPCDOCTOR-ES-LOWER.ROM, pensada para sustituir la ROM baja.
  • CPCDOCTOR-ES-UPPER.ROM, destinada a placas de ROM o sistemas como la M4.
  • CPCDOCTOR-ES.CPR, para los CPC Plus y GX4000.
  • También se incluye el tono de calibración de 2000 Hz para las pruebas de cassette.

La versión en ROM tiene una limitación lógica: las pruebas guiadas no caben en los 16 KB disponibles, por lo que incorpora las pruebas técnicas con la nueva interfaz.

Versión 0.9.3

Actualmente el proyecto se encuentra en la versión 0.9.3.

Ya ha sido probado sobre un CPC 464 real, incluyendo el uso con M4 Board y la ROM del 6128. En esas pruebas se han comprobado, entre otros aspectos, la carga, identificación, teclado, joystick, sonido, registros del AY, puerto A, modo automático, RAM baja, prueba continua, ayuda y salida al BASIC.

Eso sí, el propio proyecto deja claro que todavía queda trabajo de validación sobre hardware real. Algunas funciones, como determinadas pruebas de disquetera, cassette, CRTC, otros modelos y ampliaciones, han sido verificadas únicamente mediante el emulador de pruebas.

Para compilar el proyecto se necesita sjasmplus 1.21 o posterior y Python 3, mientras que el repositorio incluye herramientas para compilar las diferentes versiones, ejecutar las pruebas automáticas e incluso cargar el programa directamente en una M4 Board.

En definitiva, CPC Doctor convierte el Amstrad CPC en su propio banco de pruebas. Una herramienta especialmente interesante para quienes reparan, recuperan o mantienen estos equipos, porque en lugar de limitarse a decir que algo «no funciona», intenta aportar información concreta sobre qué está fallando y dónde continuar buscando.

Proyecto y código fuente: CPC Doctor en GitHub

¿Te ha Resultado útil este artículo?

Ayúdanos a mejorar y danos tu opinión:

Mostrar más

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones relacionadas

Botón volver arriba