19Fermer21
DEATHLe 27/04/2021 à 00:50
YES !!! I DID IT !!

j'ai trouvé pourquoi sur l'écran fractal les lignes étaient inversées sur vraie Jaguar et pourquoi ça plantait sur virtualjaguar !

Dans le 2ème écran l'interruption VI du 68000 est changé à la volé pour prendre en compte la nouvelle adresse de la liste d'objet (le code est similaire mais les adresses sont différentes)
Hors pour l'entrelacé il faut modifier VI à chaque VBL pour prendre en compte les trames paire et impaire.
Pour ça la valeur VI est sauvegardé via le pointeur vi_line dans le 1er écran. Mais dans le 2ème écran, donc le 2ème source, ne maitrisant pas macmachin ALN et cie ce pointeur se trouvant dans le 1er source il était donc introuvable.
J'avais donc tout simplement créé un autre pointeur vi_line2 pour la nouvelle interruption VI dans le second source.... sauf que cette valeur, n'a jamais été initialisé... VI se retrouvait donc avec une valeur entre ... 0 et ... n'importe quoi se trouvant dans la mémoire à ce moment....
Pas étonnant que ça déconne "légèrement", surtout sur virtualjaguar qui ne semble pas initialiser la mémoire à zéro.

Bon ducoup j'ai tout simplement ajouter le symbole .extern vi_line au seconde source afin que le compilateur sache qu'il faut aller la chercher ailleurs et j'ai modifier le code pour utiliser uniquement cette valeur...

En lien, le résultat

tromb Fichier joint : JAGMAND.COF