La Place des Développeurs Interruptions sur MSX
Reprise du message précédent
le flag de p#6 il faut que je regarde la doc du v9990si on simplifie
Low level c'est 0V -> bit à 0
High level c'est 5V ->bit à 1
mais en électronique pure le Low Level est compris entre 2valeurs ainsi que le High Level
et ça dépend des puces employées TTL ou CMOS
aoineko
Membre non connecté
Conseiller Municipal
Du coup, si je comprends bien, l'interruption côté CPU (le saut en 0038h) a lieu quand le pin INT0 est low (donc à 0) ?
On est toujours ignorant avant de savoir.
aoineko :
Quelqu'un pourrait me traduire ce que ça veux dire ?
C'est pour le V9990. J'ai compris que quand le bit est a 1, cela génère une interruption (saut en 0038h).
Est-ce bien ça ?
Code TEXT :
IECE Command end interrupt enable control 1 : INT0 terminal becomes low level when CE flag of P#6 is "1". 0 : INT0 terminal does not change according to CE flag.
C'est pour le V9990. J'ai compris que quand le bit est a 1, cela génère une interruption (saut en 0038h).
Est-ce bien ça ?
Oui, c'est le bit qui contrôle la génération d'une interruption lorsqu'une commande est terminée.
Le V9990 peut générer 3 interruptions:
- une pour le VBLANK
- une pour le HBLANK (soit à une ligne déterminée, soit à toutes les lignes)
- une lorsque la commande en cours est terminée.
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
aoineko
Membre non connecté
Conseiller Municipal
Oui, c'est tout bon maintenant avec mon remplacement d'ISR.
C'est les interférences avec le VDP de base du MSX qui créaient des comportement étrange (en désactivant les interruptions du VDP, plus de soucis).
Le V9990 est super chouette ; je peux faire de la parallaxe facilement en changent la valeur de scrolling de l'arrière plan à des lignes données.
Par contre, j'ai un soucis si j'utilise l'ISR du BIOS.
C'est le même problème que tu as décris sur MRC :
Par contre, je ne sais pas ce que tu entends pas « désactiver le hook H.TIMI » ? J'ai mis une callback vide, mais ça ne corrige pas le soucis.
C'est les interférences avec le VDP de base du MSX qui créaient des comportement étrange (en désactivant les interruptions du VDP, plus de soucis).
Le V9990 est super chouette ; je peux faire de la parallaxe facilement en changent la valeur de scrolling de l'arrière plan à des lignes données.
Par contre, j'ai un soucis si j'utilise l'ISR du BIOS.
C'est le même problème que tu as décris sur MRC :
Metalion :
I disabled completely the standard VDP in my code (by writing 0 in R#0 and R#1) before switching to v9990, and as a result, the interruption does not work anymore. Looks like the H_KEYI hook is not called, which does not make any sense.
EDIT: Problem solved. It was just a matter of disabling the H_TIMI hook, which was somehow messing with my interruption, because the S#0 register still contains a value, even if the standard VDP is disabled.
EDIT: Problem solved. It was just a matter of disabling the H_TIMI hook, which was somehow messing with my interruption, because the S#0 register still contains a value, even if the standard VDP is disabled.
Par contre, je ne sais pas ce que tu entends pas « désactiver le hook H.TIMI » ? J'ai mis une callback vide, mais ça ne corrige pas le soucis.
On est toujours ignorant avant de savoir.
Ca veut simplement dire que je n'utilise pas le hook H.TIMI.
Le seul hook que j'utilise est H.KEYI. Edité par Metalion Le 25/09/2022 à 20h44
Le seul hook que j'utilise est H.KEYI. Edité par Metalion Le 25/09/2022 à 20h44
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie