LE CPU
La Mk3 utilise un microprocesseur Z80A cadencé à 3,58 MHz.
L'implémentation des caractéristiques du Z80 ayant trait à la Mk3 est décrite dans cette section.
RESET
Le Z80A exécute un cycle de RESET quand l'appareil est allumé. C'est le seul mécanisme de reset
implémenté.
Le bouton RESET sur la console ne contrôle pas le reset du Z80A, il est relié à un port d'entrée pour
être testé par logiciel.
SYSTEME D'INTERRUPTION
La Mk3 implémente deux des interruptions du Z80: l'interruption non masquable (NMI:Non-
maskable Interrupt) et l'interruption masquable (INT).
NMI
La broche NMI est connectée au bouton "PAUSE" de la console. L'appui sur ce bouton provoque
l'exécution d'une instruction de redémarrage (Restart) à l'adresse $66. Cela agit comme un simple
appel de sous-routine : le Pointeur de Code (PC) est déposé sur la pile et un saut à l'adresse $0066
est effectué.
Cette interruption est déclenchée sur front, ce qui signifie que si le bouton PAUSE est maintenu
appuyé, vous n'aurez qu'une seule interruption.
NOTE: La dernière instruction de votre routine NMI doit être "RETN", Retour d'interruption non
masquable.
Le bouton PAUSE est réservé à l'usage exclusif de votre programme; vous devez passer le contrôle
à votre routine de pause en $0066.
La routine de pause la plus commune va basculer un flag (booléen) de pause et couper le son quand
ce flag sera allumé. La routine INT, qui est activée périodiquement, vérifie alors l'état du flag de
pause et ne fera aucun traitement si celui-ci est à 1 (elle boucle sur le flag de pause).
Cette méthode permet d'implémenter la fonction pause sans activer et désactiver les interruptions
(avec une instruction DI-Disable Interrupt- et ultérieurement EI-Enable Interrupt). Cette
combinaison DI-EI peut provoquer une interruption parasite dans le Z80.
La NMI ne peut être désactivée.
Manuel de Référence Hardware de la Sega Mk3 (Rev1) Page 4