38Fermer40
BrunniLe 13/01/2010 à 22:07
Ben si, il y a un registre LYC (vcount) avec déclenchement d'une interruption lorsque LY (ligne courante) = LYC... Donc oué c'est assez crade ^^
Et pour qu'il se retrouve à la ligne 10h lors de l'activation des IRQ, ça veut dire que beaucoup de code s'est exécuté avant qu'il n'arrive là, donc à mon avis ce n'était pas prévu, mais il n'a pas remarqué parce que ça marchait par hasard tongue Après peut être que c'est un dieu et que c'était calculé cheeky
Enfin je sais pas, mais sur GB c'est vraiment une bonne pratique d'attendre d'être dans un état sûr avant d'activer les interruptions, vu les conséquences que ça peut avoir sur le débogage s'il se passe un truc comme celui là happy
D'autant qu'il lui suffirait de faire un HALT (équivalent du idle() sur TI) pour se synchroniser et être sûr. En effet, je comprends pas trop mais on dirait que sur GB l'IRQ est lancée au sortir du HALT même si les interruptions sont désactivées. Je sais pas trop pourquoi (c'est ptet une erreur de logique du CPU, enfin je vois pas bien l'intérêt que ça a), mais Kirby's Dream Land 2 a vraiment l'air d'y tenir...