Revenir au plan du site


Que se passe-t'il au démarrage d'un Amstrad CPC/Plus?


La première chose que fait l'ordinateur, c'est exécuter un programme situé en ROM. Dès la première microseconde après l'allumage, le Z80 va lire la mémoire morte (ROM) située à l'adresse zéro. Simple, basique.

Le Gate Array qui s'occupe de filtrer la mémoire sélectionne la ROM basse par défaut, le processeur ne lit jamais la mémoire vive (RAM) au démarrage, et c'est heureux car elle peut contenir n'importe quoi!

Dans l'animation ci-dessous, au ralentit, l'ordinateur redémarre. On voit à gauche le contenu de la mémoire vive uniquement. À droite, c'est ce que voit le Z80 "au travers" du Gate Array. On remarque une différence en haut, soit le premier 1/4 de la mémoire, plus précisemment la première page de 16K (16384 octets). Ce sont les données du programme BIOS (firmware+BASIC). Le Z80 exécute ce programme.

Dans l'ordre, si vous regardez bien, plusieurs choses vont se passer.

- D'abord des données sont copiées au tout début de la mémoire (tout en haut à gauche).
- Ensuite des données sont copiées aux 3/4 de la mémoire. C'est l'installation des vecteurs système, de la pile, ...
- Enfin le dernier 1/4 de la mémoire est effacé. C'est là où se situe la zone graphique (ce qui est affiché à l'écran)
- L'affichage du texte commence.
- Juste après l'affichage de "Software Ltd" et avant le message de la ROM additionnelle Discology, on remarque une ligne de données qui vient s'écrire un peu avant les vecteurs systèmes.
- Enfin, le système commence à effacer le reste de la mémoire. Mais pas tout le reste, il va s'arrêter au premier trait de données. On remarque que pendant cette opération, la ROM a été désactivée (le mapping de l'écran tout à droite ne l'affiche plus) car le programme qui efface est situé dans la zone aux 3/4 de la mémoire.
- Enfin, le Ready s'affiche.

Note : On voit qu'il reste de la mémoire non initialisée. Le Z80 est toujours en train d'exécuter un programme. C'est le firmware/BASIC. Il attend vos ordres. Et comme on le remarque sur le mapping visuel de ce que voit le processeur, sa ROM est connectée presque en permanence, car c'est là qu'est localisé son programme principal, qui s'occupe de gérer les couleurs, les interruptions, le son, le clavier.

L'autre chose importante est de savoir que vous ne disposez pas (depuis le Basic) de toute la mémoire disponible. Il y a quelques centaines d'octets au début de la mémoire et plusieurs kilo-octets situées peu après la zone #A000 jusqu'en #C000 qui est l'adresse de début de la mémoire attribuée par défaut à l'écran vidéo.