Le principe est rigolo. Ca ne marche pas avec tous les CPU, certains ayant a priori une séquence d'initialisation plus compliquée :-).
En gros, il pose en dur (avec de fils) sur le bus de données la valeur de l'instruction NOP (No OPeration). C'est une instruction qui ne fait rien et qu'on utilise pour réserver de l'espace dans le code binaire ou ajuster le temps d'exécution d'une routine, par exemple. Elle tient sur 16 bits (2 octets), valeur ox4E71
Quand le CPU la lit, il ne fait rien et passe à la suivante.
Et pour lire la suivante, il ajoute 2 à l'adresse du compteur de programme, donc 2 sur le bus d'adresses, qui ne sert du coup qu'à ça (l'instruction ne faisant rien, elle ne fait pas de lectures ou d'écritures sur le bus d'adresses).
Du coup, l'adresse posée sur le bus ne fait qu'augmenter, jusqu'à l'overflow, et on recommence à 0!
Chaque ligne du bus d'adresses est rattachée (directement, ici, c'est pas bien) à une LED qui indique son état. Un CPU qui fonctionne verra donc défiler les adresses sur ces LED. Mais peut-être qu'un CPU qui ne fonctionne pas le fera aussi. Le test n'est pas des masses précis, mais permet déjà d'identifier des pannes sur un coup de bol et d'identifier des fausses puces 68k!
Les DIP en bas permettent de diviser les horloges fournies par les oscillateurs pour choisir la fréquence de test. Ici, aussi, la pertinence du test d'horloge pour tester des NOP est discutable
.
Si ça te branche, tu dois pouvoir refaire ce projet (en mettant des résistances!), c'est un exercice cool! Pour s'amuser, ce serait plus simple si le 68k était au format DIP 2.54mm, mar contre
.
J'aime beaucoup cette chaîne (pas parce que Adrian Black s'appelle Adrien!), c'est l'une des seules où la réparation de CRT est bien expliquée!