19 décembre 2023

Cet homme va sauver mon CPC, et peut-être le vôtre aussi !

Par Claire CheshireCat

… Et je ne lui ai jamais parlé ! Noël Llopis possède une excellente chaîne Youtube, Noel’s Retro Lab. Depuis plusieurs années il démonte, étudie, répare tous un tas de machines, dont l’Amstrad CPC. On l’a vu plusieurs fois regretter dans ses anciennes vidéos l’absence d’un outil de diagnostic comme on peut trouver sur C64 par exemple. Le besoin créant l’organe, il s’est donc développé lui-même un outil de ROM permettant d’analyser un CPC et de révéler les problèmes techniques que pourrait receler une carte mère d’Amstrad.

Je possède une carte de ce type, récupérée lors d’un meeting il y a des années. C’est Eliot, l’auteur de la démo « Stand up » dont je vous ai parlé il y a quelques semaines, qui me l’a donnée. Il a testé tous les composants sur support, ils marchent tous quand on les installe sur un autre CPC fonctionnel. Il était dans une impasse. Pour lui la carté était irréparable. Il a prélevé le CRTC, la carte était donc officiellement non fonctionnelle. Je l’ai conservée, pour éventuellement récupérer les autres composants mais la présence de toutes ces puces fonctionnelles me titillait.

La carte est donc restée dans un coin, jusqu’à il y a quelques jours. Candy m’a envoyé plusieurs CRTCs. J’ai donc eu la possibilité de brancher un nouveau composant graphique pour faire des tests. Au moins pour l’allumer et voir ce que ça donne. Au démarrage, on a un écran noir avec quelques clignotements de traits jaunes un peu partout sur l’écran. Un écran non synchronisé, c’est le signe que le CPC n’a même pas pu s’initialiser : Le paramétrage de la vidéo est l’une des choses qui sont faites en priorité par le firmware. Le Z80 étant noté comme fonctionnel, et mon CRTC étant neuf, il s’agit peut-être d’un problème lié à la ROM ? Aucun moyen de vérifier facilement. Sauf si on a la ROM de diagnostic de Noel sous la main !

L’outil de Noel est une ROM basse, « lower ROM » en anglais. Cela veut dire qu’elle est conçue pour remplacer la ROM firmware : Lorsque le CPC démarre c’est cette ROM et non l’officielle d’Amstrad qui sera lancée. En clair, si je met cette ROM en place et que le CPC arrive à afficher quelque chose, c’est que la carte mère devrait pouvoir être sauvée. Je vous propose de faire la manipulation ensemble.

Pour commencer il faut avoir une M4 (Noel utilise un Dandanator mais je ne connais pas cette extension), placer la ROM dessus et paramétrer la M4 afin qu’elle utilise cette ROM en tant que ROM basse. Nous allons donc télécharger le fichier sur le Github de Noel Llopis. Si vous n’êtes pas habitué à Github, le fichier est téléchargeable directement là. Il faudra le dézipper (je ne vous ferai pas l’affront de vous expliquer comment on fait). Parmi les fichiers décompressés, vous trouverez « AmstradDiagLower.rom ». C’est celui-là qui nous intéresse.

Rendez-vous sur l’interface web de votre M4, cliquez sur l’onglet « ROMS« . Tout en bas de la liste, sélectionnez le bouton « upload » en face de la « Rom slot 31« .

Une nouvelle page web s’ouvre, vous permettant de sélectionner le fichier « AmstradDiagLower.rom » et de lui donner un petit nom sympa, comme « Diagnostic ROM« . Cliquez ensuite sur « Upload » pour lancer le téléchargement du fichier.

Vous revenez à la page des ROMs. Vérifiez que la ROM 31 contient bien votre fichier.

Ensuite, on va demander à la M4 d’utiliser cette ROM en tant que ROM basse. Pour cela il suffit de cocher la case « Lower-rom Enabled« , puis sur le bouton « Set » à sa droite. Il convient également de vérifier sur la ligne suivante que la « Lower-rom Slot » est bien la 31. Dans le cas contraire mettez le bon nombre et cliquez sur « Set« .

Et voilà ! Pour tester le tout, je vous conseille d’éteindre physiquement le CPC, sinon il peut se passer des choses étranges.

Ah, et bien entendu, si vous voulez désactiver la lower rom de diagnostic, un simple décochage de « Lower-rom Enabled » suivi d’un petit clic sur « Set » fera l’affaire.

Et ma carte mère HS, elle dit quoi avec la ROM de diagnostic ?

Un problème de RAM ! C’est le premier test effectué par la ROM. Il affiche en rouge les composants qui ne fonctionnent pas, et en vert ceux qui sont bons. Les RAMs font partie des composants qui n’ont pas été testés par Eliot, vu qu’ils ne sont pas sur support. Je vais donc devoir les remplacer.