Quelqu'un m'a dit que le TROJAN empêche les correctifs de compatibilité de fonctionner. Effectivement, le TROJAN se charge à la même adresse que les fixes et les écrase. De même, il s'accroche par dessus le mode de compatibilité 0x05, rendant ce mode inopérant. J'avais réutilisé l'en-tête d'un vieux TROJAN sans me soucier de sa coexistante avec le design actuel de POPStarter...
Voilà donc un TROJAN chargé et accroché ailleurs :
TROJAN_9.BIN
Il s'engage à la même intervalle que $SET_TIMINGS. Je ne sais pas encore où l'accrocher pour qu'il soit moins sensible. Donc pour l'heure il ne sert à rien, vu qu'il fait la même chose que $SET_TIMINGS. Mais pour d'autres TROJANs, il serait judicieux de piquer son en-tête. Je tacherais de garder ces load/hook addresses libres à l'avenir. C'est bien rapide
. Le cheat engine, le truc pour changer de disque et d'autres machins sont invoqués par cette même routine. Il s'agit d'une hook address sur une plage allouée avec pas mal de points d'encrage disponibles pour le moment.
Au sujet de Crash Bash. Quelqu'un a réalisé
cette excellente vidéo montrant les ralentissements et les problèmes d'animation des personnages sur la version NTSC U/C.
J'ai utilisé $SET_TIMINGS dessus pour voir si les ralentissements pouvaient être corrigés en affinant les réglages. Malheureusement non
. Même en mettant Sync1 à un niveau négatif (entrainant un glitch des textes dans les menus), il y a exactement les mêmes ralentissements, aux mêmes moments.
Vu la façon dont la musique et les SFX sont joués, avec des saccades, la cause du problème semble être ailleurs, comme un thread inachevé dans les temps ou une énième satanée boucle. Je ne tenterais rien de plus dessus pour l'instant. Tracer toute l'exécution et désassembler au fur et à mesure est quelque chose de très ennuyeux.
Oh, et j'ai essayé la version NTSC J aussi. Et vous savez quoi ? Pas de ralentissement. Comme pour la version PAL. Étonnant. Il n'y aurait donc que la version US qui poserait un problème majeur de ralentissement. Dommage. Les speedrunners imposent souvent des versions NTSC en anglais pour leurs compétitions.