Evolution IX 3D Map Headers

Developer topics relating to software that provides a tuning UI to alter ECU code and data

Moderator: Freon

Evolution IX 3D Map Headers

Postby bpi » Tue Sep 19, 2006 10:54 pm

Hi,

I've been busy trying to map the complete Evo IX ROM (88580013). See this topic: http://forums.openecu.org/viewtopic.php?t=949

I am of the understanding that a 3D map header (in Mitsu Evo 9 ROM) is of the format:

03 00 ff ff ww xx ff ff ww zz LL

and that a 2D map header is like:

02 00 FF FF ww xx

Regarding the 3D header, I've been told that "wwxx and wwzz are RAM addresses where there is info about the maps" and that "LL is the length in bytes of each load column".

Could somebody please throw some more light on this? FYI I don't have IDA Pro. I'm working directly with the hex from a ROM dump.

1. Are these statements correct? If not, could somebody please make a correct statement about 3D, 2D, 1D headers? I'm really stumped with how to locate 1D data.

2. It seems that LL is the number of columns along the X axis, but how/where can I find the number of rows along the Y axis?

3. Example:

Code: Select all
<!--
Data   : TODO
X-Axis : TODO
Y-Axis : TODO
Header : 0300FFFF69B8FFFF69BA05
-->
<table name="_P4" category="Unknown" address="31AB" type="3D" level="1" swapxy="true" scaling="uint8">
    <table name="X" address="6E9A" type="X Axis" elements="21" scaling="uint8"/>
    <table name="Y" address="6EE0" type="Y Axis" elements="5" scaling="uint8"/>
</table>


In the above XML definition, all I know at the moment is the address of the data (31AB) and the number of elements in the Y axis (5). Other than that, is there any easy way to locate the axis data and the X axis elements from the header?

5. Could somebody also please explain how to establish the labels/description for maps that are found?

As per the attachment (which was generated using a quick app I wrote), I have located about 60 possible 3D maps and something like 200 possible 2D maps. I know a lot of the map headers I found could be data that just look like headers. I'm hoping to be able to find a whole bunch of new maps for the Evo IX ROM.

Colby, the 88580013.xml attached to the other topic could maybe be included in the next release of EcuFlash if you deem it worthy?

Thanks,
Brendan
Attachments
ECU-Parsing-Output.txt
(14.78 KiB) Downloaded 644 times
bpi
 
Posts: 12
Joined: Thu Aug 24, 2006 8:09 pm

Re: Evolution IX 3D Map Headers

Postby S54fan » Wed Sep 20, 2006 12:53 am

Hi Brendan, I'm rather limited on time because I'm moving house and it is all going wrong so I've not reviewed all your data and will just post in general terms:

The headers aren't always as I posted, sometimes they are missing the RAM addresses, or have just one. It depends on the routine that calls them. It knows the number of rows because it has already looked up the row number in a previous routine with appropriate out of bounds limits etc.

Locating column and row label data has to really be done from disassembly to be sure you're right, I made mistakes before I did this. If you cross reference from the fuel map for example through the levels of indirect addressing you'll find the routines just before the call for the main map that look up the axes.

Regarding labelling, none are labelled in the ROM. We are using convention from what people have done previously.

For 1D maps - they are often at the same locations between ECUs, but if not, disassembly again of the individual routines. The code is nearly identical Evo 7- even which registers used, so things can be quickly identified from disassembly.

My interest in disassembly is mainly to add new features.

To do a good map on a IX with basic breathing mods, all you need to adjust are:

High octane fuel
High octane ignition #2
MIVEC
Lean spool enable on JDM/UK models if it is at 3500 RPM
Boost limit if necessary, then either external boost control, or use the boost target and offset and wastegate tables.


bpi wrote:Hi,

I've been busy trying to map the complete Evo IX ROM (88580013). See this topic: http://forums.openecu.org/viewtopic.php?t=949

I am of the understanding that a 3D map header (in Mitsu Evo 9 ROM) is of the format:

03 00 ff ff ww xx ff ff ww zz LL

and that a 2D map header is like:

02 00 FF FF ww xx

Regarding the 3D header, I've been told that "wwxx and wwzz are RAM addresses where there is info about the maps" and that "LL is the length in bytes of each load column".

Could somebody please throw some more light on this? FYI I don't have IDA Pro. I'm working directly with the hex from a ROM dump.

1. Are these statements correct? If not, could somebody please make a correct statement about 3D, 2D, 1D headers? I'm really stumped with how to locate 1D data.

2. It seems that LL is the number of columns along the X axis, but how/where can I find the number of rows along the Y axis?

3. Example:

Code: Select all
<!--
Data   : TODO
X-Axis : TODO
Y-Axis : TODO
Header : 0300FFFF69B8FFFF69BA05
-->
<table name="_P4" category="Unknown" address="31AB" type="3D" level="1" swapxy="true" scaling="uint8">
    <table name="X" address="6E9A" type="X Axis" elements="21" scaling="uint8"/>
    <table name="Y" address="6EE0" type="Y Axis" elements="5" scaling="uint8"/>
</table>


In the above XML definition, all I know at the moment is the address of the data (31AB) and the number of elements in the Y axis (5). Other than that, is there any easy way to locate the axis data and the X axis elements from the header?

5. Could somebody also please explain how to establish the labels/description for maps that are found?

As per the attachment (which was generated using a quick app I wrote), I have located about 60 possible 3D maps and something like 200 possible 2D maps. I know a lot of the map headers I found could be data that just look like headers. I'm hoping to be able to find a whole bunch of new maps for the Evo IX ROM.

Colby, the 88580013.xml attached to the other topic could maybe be included in the next release of EcuFlash if you deem it worthy?

Thanks,
Brendan
S54fan
 
Posts: 233
Joined: Fri Dec 16, 2005 4:39 am


Return to Tuning Software

Who is online

Users browsing this forum: No registered users and 2 guests