Cet article va parler des fichiers 0DA que l’on peu retrouver dans les SP-Daten quand on installe EDIABAS.
Cet article va traité surtout des MS41, meme si le principe devrai entre cohérent avec les autres calculateurs. Il est basé sur mes recherche et des comparaisons de dizaines de fichiers.
Format du fichier:
Le format de ces fichiers est assez proche du format INTEL HEX même si il y a certaines différences sur l’implémentation de celui ci.
Prenant par exemple un extrait d’un fichier:
;==============================================
;Austausch-Datei Daten
;==============================================
;;ZL_System: MS41.0
;;ZL_Projekt: M52B28
;;ZL_Referenz: 1110060041010000
;;K_Stand: 19.01.98
;;K_File-Name: Q1438791.0DA
;;K_F1: E36
;;K_F2: M52B28_GGB,HG,ROZ91-98
;;K_F3: KAT-VSD,EWS,ECE,EUII,AKF
…
;;Z_File-Name: 23418403.DAT
…
$REFERENZ 1110060041010000 K
:020000040000FA
:020000021000EC
:100000004E00FFFF26AC1C090F008018303634313B
…
:0C2D401036AEE8AFA5B16EB346B5E2A206
:020000040000FA
:020000021000EC
:105DFE00205E020068002E0152008802B004E2050 7
:105E0E003E135C1ABC1B6C1F28202C236E29202BE2
:045E1E104C2DBBC17B
:020000040000FA
:020000020000FC
:001D0710CC
$CHECKSUMME 4FF8 Z
:00000001FF
En entête on retrouve a la suite des « ;; » les métadonnées du fichier. Il est composé su système auquel le binaire s’applique, le nom du projet, la référence interne, la date de compilation, des commentaires si besoin.
Le corps du fichier se trouve entre « $REFERENZ » et « $CHECKSUMME »
Décodage:
Chaque ligne suit le format « :LLAAAATTdddd...CC«
- LL: Nombre d’octets
- AAAA: Adresse des octets
- TT: Type
- 00: Donnée
- 01: FIn de fichier ou de bloc
- ddddd..: Données
- CC: Checksum
Exemple:
Ligne : :0C2D401036AEE8AFA5B16EB346B5E2A206
LL=0C ADDR=2D40 TT=10 DATA=36AEE8AFA5B16EB346B5E2A2 CK=06
Somme des octets (LL+ADDR_HI+ADDR_LO+TT+DATA) mod 256, complément à 2 → 0x06
Dans le cas de mes analyse des fichiers propres au MS41:
On se retrouve avec deux blocs le premier entre 0x0000 – 0x2D4C (ou 0x36D0 selon logiciel)
et un second entre 0x5DFE – 0x5E22 (ou 0x5E24)
Il y a aussi un troisième bloc d’ont le role n’est pas clair car il est vide. mais il est présent dans tous les fichiers. 0x1D07
le reste du fichier est remplis de FF et de 24ko de long.
Chaque fichier .0DA est identique au fichier partial extrait d’un calculateur, a version logicielle et configuration équivalente.
Analyse:
Pour cette partie c’est des suppositions mais qui sembles êtres correcte au vu du nombre de fichier analysés.
La partie ;;ZL_Referenz: 1110060041010000 contient:
En Jaune le marché de destination
- 06: EU
- 09: US
En rouge la version logiciel, plus communément appelée ID/
Donc 41= ID 41, 60= ID 60 ….
On la retrouve aussi dans le nom original du fichier:
;;Z_File-Name: 23418403.DAT
Le num du fichier 0DA correspond a la version logicielle que l’on peu retrouver sur le wiki dans le champ « SW Number »
Exemple: Q1430625.0DA = SW Number: 1430625
Autres fichiers des Datens
Au coté des fichiers 0DA on y retrouve des fichiers .ATS , .DAT, .HIS, .HWH.
Chacun de ces fichier sert a décrire quelque chose.
.DAT
Le fichier en .dat est un tableau qui contient la version logicielle « SW-NR », reliée a la version hardware pour laquelle elle est faite « HW-NR », le nombre de pin du calculateur « 88 »
.ATS
Le fichier en .ATS est un tableau qui contient quel logiciel correspond a quel code chassis
Exemple:
;Fahrzeugzuordnung (Auftrags-Steuerdatei) vom 30.09.1999 12:53
FZG;LA;SA;ZB_NR;
BJ31;;;1438753;
……
CE61;;;1438753;
CB51;;199;1438753;
CB51;;962;1438753;
CB52;;199;1438753;
CB52;;962;1438753;
CB59;;;1438753;
CB61;;199;1438753;
CB61;;962;1438753;
CB62;;;1438753;
CB69;;;1438753;
DD11;;;1438751;
…..
CB85;;;1706143;
DD45;;;1437576;
BJ71;;;1430630;
BJ71;;843;1430631;
On a donc le chassis CE61 qui a le logiciel 1438753, DD11 qui a le logiciel 1438751. Certaines version logicielle dépendent aussi de la présence d’un code option « SA » .
Par exemple le « CB52;;962;1438753; » indique que le chassis CB52 avec l’option 962 (cartographie moteur) à le logiciel 1438753. idem pour celle avec l’option 199 (Technologie d’échappement conventionnelle « .
Ce qui veut surement dire que le CB52 sans ces SA n’a pas le même logiciel.
.HIS
Indique les mises à jours des logiciels.Avec l’ancien numéro et le numéro le remplaçant.
.HWH
Semble faire la liste des références des calculateurs ou logicielles ou assemby NR.
.0PA
Les 0PA contiennent le programme du calculateur.
En le combinant avec un 0DA on retrouve une grosse partie du FULLREAD (en inversion par paire de 16Ko 0-1, 2-3, 4-5…)
En combinant les 0DA et 0PA on arrive a reconstituer exactement 38% d’un full read.
J’ai donc d’après mes 0PA le contenu d’un ID43 pour un MS41.0 daté de 29-Sep-1999 pour véhicules européens. Version inconnue sur internet !!
Et un ID85 daté 30-Sep-1997 pour les M52B28 E39 Non Européen. Idem Inconnu sur internet.
On peu aussi trouver la confirmation de la création des MS41.2 pour avec un SW ID12 pour les S52B2X pour les USA (1406464C.0PA)
Ainsi que les fichiers « Q1407137.0DA » et « Q1407138.0DA » pour les carto des M3 US automatiques et manuelles respectivement, daté 24-Sep-1997
et d’autres cartographies pour les M Roadster.
Anomalies dans les fichiers DATEN
Sur tous les fichiers DATEN en ma possession 3 ont un EWS désactivé d’origine.
