Table des Matières

Publicité

INT

Cette interruption est activée avec une instruction "EI" et désactivée avec une instruction "DI".
Le hardware de la Mk3 supporte seulement le "mode d'interruption 1". La boot ROM (ROM de
démarrage) exécute l'instruction "IM 1" lors de la mise sous tension.
Dans le mode 1, l'activation de la broche INT du Z80A provoque l'exécution d'une instruction de
redémarrage à l'adresse $38 à condition que l'interruption soit activée (enabled).
Cette interruption peut être activée par deux événements dans le circuit VDP:
1. Intervalle de blanking vertical (Vertical Blanking Interval).
2. Compteur de ligne horizontal (Horizontal Line Counter).
Voici le squelette d'une routine de gestion d'interruption:
(en $0038)
JP
.
.
INT:
PUSH
IN
.
.
.
POP
EI
RET
La première étape est de sauvegarder les registres et les flags de travail. D'autres instructions
"PUSH" devront être ajoutées pour chaque registre que votre interruption utilisera.
La lecture du port d'entrée/sortie $BF engendre deux actions. Primo, cela efface la ligne de requête
d'interruption provenant du circuit VDP. Secundo, cela fournit les informations suivantes à propos
du VDP:
bit 7 --- 1: Interruption VBLANK, 0:Interruption H-Line (si activée).
bit 6 --- 1: 9 sprites sur une ligne de raster.
bit 5 --- 1: Collision de sprites.
Bits 4-0
(sans signification)
Les interruptions du VDP VBLANK et H-Line (lignes de raster) sont activées (enabled) par les bits
IE et IE1 dans les registres VDP 0 et 1, suivant le schéma suivant:
Interrupt Enable Bits
IE (R1, bit 5)
0
1
Quand une INT est acceptée, le système d'interruption est désactivé, exactement comme si une
instruction "DI" avait été exécutée. Le code pour sortir d'une routine d'interruption doit donc
restaurer les registres, exécuter une instruction "EI", et faire un return.
Manuel de Référence Hardware de la Sega Mk3 (Rev1) Page 5
INT
AF
A,(0BFH)
AF
IE1 (R0, bit 4)
1
1
Source d'interruption
Interruption H-Line seulement.
A la fois H-Line et VBLANK.

Publicité

Table des Matières
loading

Produits Connexes pour Sega Mark III

Table des Matières