I'm sure the things I create will seem overly simple and naive, but I'll share them as I go in case they help others on the same journey as me.
This simple map extractor came about because I have three ECUs for the same vehicle (2003-2008 Touran) that I am comparing after finding two of them online from various people :thumbup: :
- 03G906016AL - ECU for the 2004 AZV 100kW engine extracted from my car that I want to alter
- 03G906016EH - ECU for later AZV 100kW engines, which has quite different layout to AL
- 03G906016BQ - ECU for BKD 103kW engine with very similar layout to EH
Because they are exactly the same engine components, turbo, no DPF etc, just different production times and power outputs, I thought comparing the equivalent map for each engine would help me understand what changes are important for the modest power difference of 100kW to 103kW, and help me understand how to map to my (also modest) 115kW target.
Of course while in the whole flash image the maps are buried in lots of other changes so it wasn't so easy to compare them, so I wanted a set of files giving each individual map. By using the same filename for each map in an ECU specific folder it is easy for a comparison tool like Beyond Compare to show me what is the same or different in each folder and quickly steer me to (say) the Torque Limiter for each ECU.
I used the online EDC Master tool to get a list of maps that it could identify with their location and size. That gave me the data that goes on the command line to extract each map, like:
- mapdump -t 03G906016BQ-BKD.bin TL.txt DDD7A 21 3
For me it's working very well. It helped me understand which maps have:
- stayed exactly the same across the three generations (and so probably don't need my immediate attention)
- probably irrelevant differences (adjustment of +/- 1 on ~200 so maybe some rounding effect of the ECU flash build compiler?)
- some changes that look like "bug fixes" (310 becomes 320, maybe it made later cars a bit smoother to drive?)
- more meaningful differences that I can see lift the power a little (TL, SoI, boost, etc).
By having these "fragments" I plan to create another utility that will patch a map from one ECU into another once I'm happy that it is compatible. That will let me quite easily experiment with changing one or more areas without having so many flash files I quickly lose track of what is in where.