CODINGApprendre pas à pas la programmation en assembleur Z80 ★ Les différents composants de l'ordinateur ★

Fonctionnement d'un Amstrad au démarrage

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.

★ ANNÉE: 2025
★ AUTEUR: Roudoudou

Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 705 millisecondes et consultée 8 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.