96Fermer98
DEATHLe 14/05/2021 à 17:56
dilinger (./91) :

Si cela peut compenser un peu, ce genre d'exemple peut aider a améliorer l'émulateur.

J'ai dû inclure une boucle dans l'interruption VI pour contourner le problème avec virtualjaguar

en traçant au débugger je m'aperçois que VC est à 0 quand l'interruption VI à lieu (plus exactement $800 en trame impaire et $000 en trame paire) alors que VI est censé se produire à la ligne 506 ou 507

Y a pas comme un problème ?

voici la boucle que j'utilise, j'ai ajouté un chargement de VC dans d1 afin d'observer sa valeur réelle :

; boucle d'attente pour virtualjaguar move.w VC,d0 addq #3,d0 .memeligne: move.w VC,d1 cmp.w d1,d0 bne .memeligne
En plus il faut beaucoup beaucoup beaucoup de boucle pour passer à la ligne suivante ! Je peux garantir que le 68000 ne peut pas exécuter autant d'instruction en une seule ligne.
J'ai tracé pas à pas pendant pas mal de temps, je n'ai jamais vu VC augmenter. Il a fallu que je mette un breakpoint après cette boucle pour pouvoir la passer.