Moi ?
iceman89 : Je fait un copier-coller de
ma réponse à Pollux lorsqu'il demandait de l'aide à propos de ces bugs bizarres :
Elles sont provoquées par :
1 * Ce point numéro 1 ne concerne pas ton source, mais GTC est susceptible (on se comprend) de générer le "mauvais" code décrit ici, donc c'est une information à utiliser quand tu auras affaire à d'autres plantages que celui expliqué au point numéro 2 en-dessous.
Les instructions d'
addition et de
soustraction rapides, lorsqu'elles traitent un
mot long par adressage
indirect indexé.
.l #x,y(an)
subq.l #x,y(an)
En clair, ce sont les instructions : addq donc les remplacer par add.l #x,y(an)
sub.l #x,y(an)
Il faut savoir que AS92 optimise un peu,provoquera quand même l'erreur.
Pour échapper à cette merde, je n'ai trouvé qu'une seule solution, c'est de forcer AS92 à assembler autre chose que
addq, quelque chose qu'il n'optimise pas. C'est un peu plus lent et un peu plus gros. J'ai nommé
addi.l/
subi.l 
addi.l #x,y(an)
subi.l #x,y(an)
2 * Regarde vers la fin du fichier, il y a
jsr _ROM_CALL_053(pc).
Retire le (pc). Compile. Ca marche !!!!!!!!
Je suis resté concentré sur le source jusqu'à 2H30 hier soir, en retirant les lignes une à une jusqu'à trouver la fautive. Il faut vraiment que j'ai un grand besoin d'AS92 pour avoir été aussi motivé... Dieu seul sait pourquoi
Bon, ce service mérite bien une petite bêta de GTools en exclu de la part de Dieu ??