Bonjour,
J'ai beaucoup travaillé sur la carto de 309 GTI16 (Motronic ML4.1), c'est un peu la génération précédente de l'Ax GTI.
J'ai ensuite regardé un peu l'Ax GTI (pour récupérer la gestion du capteur à dépression), et je me suis aperçu que quelque chose ne collait pas !!!
En fouinant un peu sur le net, j'ai mis la main sur la ROM interne BMW M1.3 (à l’intérieur du CPU 8051), qui collait parfaitement, les fonctions tombait bien, et le checksum aussi. (il faut bien modifier la structure 0-1FFF)
Si tu ne la trouve pas, je te la ferai parvenir, mais je ne maîtrise encore pas les messages du forum.
Edité le 03/04/2020:
J'ai reçu pas mal de Email sur ce sujet, alors je pense que je n'ai pas été assez clair.
Alors, pour le checksum, c'est pas compliqué:
On va partir de ton programme d'origine modifié : (il faut faire une copie bien sure)
Partie A: de 0000 à 1FFF
Partie B: de 2000 à la fin 7FFF
Tu ouvres un editeur hexa (winhex par exemple), tu place la partie A à la fin, donc elle se retrouve en 6000 -> 7FFF.
Ensuite, il y a 2 possibilitées :
1) Si tu as la rom de 8ko :
La ROM motronic que j'appelle partie C, tu la places au début (de 0 à 1FFF), donc en décalant ton prog
d'origine de 2000 à 9FFF.
Tu te retrouves avec un prog de 40ko (au lieu de 32ko d'origine), avec les partie C, B puis A.
Il ne reste plus qu'à calculer le checksum, il faut faire la somme de tous les octets (sous 16 bits) de l'adresse
0 à 9EFF, et ce résultat, tu le place en 9F00 et 9F01, et surtout à l'adresse 1F00 et 1F01 de ton fichier original que tu va mettre dans l'eprom.
Avec ce programme de 40ko, on peut désassembler (et éventuellement tout comprendre !!!)
Il ne faut surtout pas le programmé dans une Eprom, il faut faire la démarche inverse pour retrouver celui de 32ko.
2) Tu n'as pas la rom de 8ko :
Pas de problème, son checksum est de B51F, donc il faut faire la somme de tous les octets (sous 16 bits) de l'adresse 0 à 7EFF, et ce résultat, tu le place en 7F00 et 7F01, et surtout à l'adresse 1F00 et 1F01 de ton fichier original que tu va mettre dans l'eprom.
On peut directement modifier le checksum de l'eprom en 1F00 et 1F01 à partir du moment ou l'on fait que 2 ou 3 modifs, en gros si on modifie des valeurs, on fait la somme des modifs (valeurs original - valeurs modifiées) et on compense le checksum. C'est un peu plus risqué, il faut bien savoir ou l'on en est.
En fait, lorsque l'on met le contact, le voyant s'allume, le calculateur fait la vérif du checksum, puis éteint le voyant si tout est bon. En fonction des versions d'injections/boitiers, le voyant peut s'éteindre moteur éteint, ou une fois démarré.
Je le redis, le checksum n'a aucune influence sur le fonctionnement du boitier/moteur hormis un voyant au tableau de bord. (du moins sur ces générations de boitier)