How to figure out ROM definitions for an ECU
#1
How to figure out ROM definitions for an ECU
Is there any official guide to how this is properly done for the Mitsu ECU's? I'm happy that there are so many guru's that can figure these ROM definitions and smoke out what HEX offsets we need to reference for the various tables but if I could understand all the tools myself I might be able to assist with that more.
Up until now I've figured out how to use a hex editor and search for patterns of expected values and test various hex offsets to stumble on proper defnintions. While I'll be getting a 2011 Evo X in either Rally Red or Octane Blue within the next few weeks, I've currently started to figure out the rom definitions of my 2011 Outlander Sport and might as well get some practice on how to do it properly. The engine is a 4B11 similar to the Lancer 2.0 but given that it is slightly heavier this car really needs some more performance out of the box.
So far I've found the Fueling & Timing maps but I'm missing the hex offsets for the load values. Another thing that is frustrating is that there seems to be another table such as an Upper and Lower Bound Ignition Timing table that is limiting the timing advance from going above stock table values, but I can reduce them a couple degrees which was verified with logs so I would think the Timing table would be valid.
While I don't naturally read machine language, or disassemble code all day, learning this stuff is intersting enough to me that I figured I would see if any Guru's want to help with a startup guide for everyone to use and maybe confirm the tables I found via PM.
Thanks guys!
Up until now I've figured out how to use a hex editor and search for patterns of expected values and test various hex offsets to stumble on proper defnintions. While I'll be getting a 2011 Evo X in either Rally Red or Octane Blue within the next few weeks, I've currently started to figure out the rom definitions of my 2011 Outlander Sport and might as well get some practice on how to do it properly. The engine is a 4B11 similar to the Lancer 2.0 but given that it is slightly heavier this car really needs some more performance out of the box.
So far I've found the Fueling & Timing maps but I'm missing the hex offsets for the load values. Another thing that is frustrating is that there seems to be another table such as an Upper and Lower Bound Ignition Timing table that is limiting the timing advance from going above stock table values, but I can reduce them a couple degrees which was verified with logs so I would think the Timing table would be valid.
While I don't naturally read machine language, or disassemble code all day, learning this stuff is intersting enough to me that I figured I would see if any Guru's want to help with a startup guide for everyone to use and maybe confirm the tables I found via PM.
Thanks guys!
#2
Right now I have:
Code:
<table name="Outlander High Octane Fuel Map" address="55027" category="Fuel" type="3D" swapxy="true" scaling="AFR"> <table name="Load" address="59765" type="X Axis" elements="13" scaling="Load"/> <table name="RPM" address="5FC2A" type="Y Axis" elements="14" scaling="RPM"/> </table> <table name="Outlander Low Octane Fuel Map" address="551A3" category="Fuel" type="3D" swapxy="true" scaling="AFR"> <table name="Load" address="59765" type="X Axis" elements="13" scaling="Load"/> <table name="RPM" address="5FC2A" type="Y Axis" elements="14" scaling="RPM"/> </table> <table name="Outlander High Octane Timing Map" address="55653" category="Timing" type="3D" swapxy="true" scaling="Timing"> <table name="Load" address="59765" type="X Axis" elements="13" scaling="Load"/> <table name="RPM" address="5FBD8" type="Y Axis" elements="20" scaling="RPM"/> </table> <table name="Outlander Low Octane Timing Map" address="5575F" category="Timing" type="3D" swapxy="true" scaling="Timing"> <table name="Load" address="59765" type="X Axis" elements="13" scaling="Load"/> <table name="RPM" address="5FBD8" type="Y Axis" elements="20" scaling="RPM"/> </table>
Base 2011 Outlander Sport rom file: http://www.teamiglooracing.org/?attachment_id=788
Last edited by Hiboost; Jul 4, 2011 at 06:07 PM.
#4
EvoM Guru
iTrader: (8)
Another thing that is frustrating is that there seems to be another table such as an Upper and Lower Bound Ignition Timing table that is limiting the timing advance from going above stock table values, but I can reduce them a couple degrees which was verified with logs so I would think the Timing table would be valid.
Higher bound is obviously the highest timing allowed. It will bind your highest timing allowed to those values, no matter what you put in the normal high octane ignition timing table.
Could you send me your Outlander ROM?
Could you send me your RAW ecu ROM file pulled from the ECU (not what you currently have linked above) as it looks like your identifier is set wrong in that ROM.
Is it really 56940008? If so I'd like to see how many tables in 56940007 (2011 RA) line up with it.
Last edited by razorlab; Jul 4, 2011 at 09:20 PM.
#5
Yes I think the upper bound timing table is basically set for the same as the high octane timing maps or very close so that as I try to go higher it is preventing it. I know on thh 5 speed Evo X that table just reads 50* in the entire table and the lower reads -20* or something like that. Since the Outlander Sport is a CVT model it likely follows what the MR did to better control timing between shifts.
As far as the ROM linked above, that really is the original ROM read off the ECU and then immediately sent to an archive zip file. When I originally tried to read it I had to go through the dreaded "Unknown ROM Image" wizard. I chose a Ralliart as a first test but if you choose a 2011 US Evo X it also defaults to the "Address (in hex): 5002a" with a "Length (in bytes): 4" resulting in "W6W6" which obviously seems incorrect. Not sure if any of these make better sense that are locations nearby:
5002a = W6W6
5002d = 36573600
5002e = 57360006 (Might be the correct one since it follows the pattern of past ROM ID's where the last 4 digits are 0005 or 0006 for early release of the ROM)
5002f = 36000600
I'm assuming that since this is a new model year car that the address location could be anywhere near the beginning of the ECU for the rom ID. Maybe 57360006 makes the most sense and is what I chose for now.
Here is the definition file I'm testing so far with a whole bunch of Ralliart values copied in that are obviously very wrong or not even present in this ECU.
http://www.teamiglooracing.org/?attachment_id=792
The only ones I've partially found are labeled "Outlander High & Low Octane Fuel Map" and "Outlander High & Low Octane Timing Map". The "ECU Options Set #2" seem to be valid as well. I don't mind doing the legwork to find the proper values but eventually fuel, timing, mivec, and upper/lower bound timing tables seem to be critical maps with their RPM and load X/Y axis figured out.
As far as the ROM linked above, that really is the original ROM read off the ECU and then immediately sent to an archive zip file. When I originally tried to read it I had to go through the dreaded "Unknown ROM Image" wizard. I chose a Ralliart as a first test but if you choose a 2011 US Evo X it also defaults to the "Address (in hex): 5002a" with a "Length (in bytes): 4" resulting in "W6W6" which obviously seems incorrect. Not sure if any of these make better sense that are locations nearby:
5002a = W6W6
5002d = 36573600
5002e = 57360006 (Might be the correct one since it follows the pattern of past ROM ID's where the last 4 digits are 0005 or 0006 for early release of the ROM)
5002f = 36000600
I'm assuming that since this is a new model year car that the address location could be anywhere near the beginning of the ECU for the rom ID. Maybe 57360006 makes the most sense and is what I chose for now.
Here is the definition file I'm testing so far with a whole bunch of Ralliart values copied in that are obviously very wrong or not even present in this ECU.
http://www.teamiglooracing.org/?attachment_id=792
The only ones I've partially found are labeled "Outlander High & Low Octane Fuel Map" and "Outlander High & Low Octane Timing Map". The "ECU Options Set #2" seem to be valid as well. I don't mind doing the legwork to find the proper values but eventually fuel, timing, mivec, and upper/lower bound timing tables seem to be critical maps with their RPM and load X/Y axis figured out.
Last edited by Hiboost; Jul 11, 2011 at 12:25 PM.
#6
Thanks to everyone that helped, we now have a working ROM Def for the 2011 Outlander Sport:
http://www.teamiglooracing.org/?attachment_id=792
to the community.
It will take some time to extract HP out of this NA 4B11 2.0L but with a few carefull bolt-ons and proper tuning I should be able to get a nice jump over the factory numbers.
http://www.teamiglooracing.org/?attachment_id=792
to the community.
It will take some time to extract HP out of this NA 4B11 2.0L but with a few carefull bolt-ons and proper tuning I should be able to get a nice jump over the factory numbers.
Last edited by Hiboost; Jul 11, 2011 at 12:30 PM.
Trending Topics
#10
Evolved Member
This is my def-xml for this ROM, so far.
I see that some of the items are different to Hiboosts def, so some testing needs to be done to verify. I do not have an Outlander to test / log / verify.
The xml is split so as to enable posting.
This is the first part:
<!--
This 57360006 ROM definition for the USDM Outlander Sport 4B11 CVT authored by merlin.
Please report any errors or additions to merlin@three.com.au
Note 1: .
Note 2: .
Note 3: .
Note 4: .
Note 5: Editing the definition from within EcuFlash will alter the layout and structure of the definition
and all the comments and spacing will be removed. Use Notepad to edit the definition file.
Last Revision:
08 July 2011
12 July 2011
-->
<rom>
<romid>
<xmlid>57360006</xmlid>
<internalidaddress>5002e</internalidaddress>
<internalidhex>57360006</internalidhex>
<make>Mitsubishi</make>
<market>USDM</market>
<model>Outlander</model>
<submodel>Sport 4B11 1liter NA</submodel>
<transmission>CVT</transmission>
<year>2011</year>
<flashmethod>mitsucan</flashmethod>
<memmodel>M32186F8</memmodel>
<checksummodule>mitsucan</checksummodule>
</romid>
<!-- * Scaling * -->
<scaling name="AFR" units="AFR" toexpr="14.7*128/x" frexpr="14.7*128/x" format="%.1f" min="8" max="20" inc="0.1" storagetype="uint8" endian="big"/>
<scaling name="BatteryVoltage" units="V" toexpr="x*75/1023" frexpr="x*1023/75" format="%.2f" min="0" max="18.75" inc="0.5" storagetype="uint16" endian="big"/>
<scaling name="blobbits" storagetype="bloblist" storagebits="1">
<data name="0" value="00"/>
<data name="1" value="01"/>
</scaling>
<scaling name="ECU ID" units="units" toexpr="x" frexpr="x" format="%08x" min="0" max="1e+08" inc="1" storagetype="uint32" endian="big"/>
<scaling name="Hex8" units="hex" toexpr="x" frexpr="x" format="%02X" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<scaling name="Hex16" units="hex" toexpr="x" frexpr="x" format="%04X" min="0" max="65535" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Hex32" units="hex" toexpr="x" frexpr="x" format="%06X" min="0" max="1e+08" inc="1" storagetype="uint32" endian="big"/>
<scaling name="InjectorLatency" units="ms" toexpr="x*0.015" frexpr="x/0.015" format="%.3f" min="0" max="4" inc="0.015" storagetype="uint8" endian="big"/>
<scaling name="InjectorScaling" units="cc/min" toexpr="29241/x" frexpr="29241/x" format="%.0f" min="1" max="1000" inc="10" storagetype="uint16" endian="big"/>
<scaling name="Load" units="%" toexpr="x*10/32" frexpr="x*32/10" format="%.0f" min="0" max="300" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Load16" units="load" toexpr="x*5/8" frexpr="x*8/5" format="%.1f" min="0" max="100" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Load8" units="%" toexpr="x*5/8" frexpr="x*8/5" format="%.1f" min="0" max="160" inc="1" storagetype="uint8" endian="big"/>
<scaling name="Min timing" units="degrees" toexpr="x-20" frexpr="x+20" format="%.0f" min="-61" max="61" inc="1" storagetype="int8" endian="big"/>
<scaling name="MIVECInterpolation" units="% Normal Temp Map" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="100" inc="2" storagetype="uint8" endian="big"/>
<scaling name="MUT32" units="hex" toexpr="x" frexpr="x" format="%06X" min="0" max="1e+08" inc="1" storagetype="uint32" endian="big"/>
<scaling name="Percent128" units="%" toexpr="x*100/128" frexpr="x*128/100" format="%.1f" min="80" max="105" inc="0.1" storagetype="uint8" endian="big"/>
<scaling name="Percent255" units="%" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="100" inc="2" storagetype="uint8" endian="big"/>
<scaling name="RPM" units="RPM" toexpr="x*1000/256" frexpr="x*256/1000" format="%.0f" min="0" max="11000" inc="50" storagetype="uint16" endian="big"/>
<scaling name="RPM8" units="RPM" toexpr="x*125/16" frexpr="x*16/125" format="%.0f" min="0" max="2000" inc="10" storagetype="uint8" endian="big"/>
<scaling name="RPMLimit" units="RPM" toexpr="7500000/x" frexpr="7500000/x" format="%.0f" min="0" max="9000" inc="60" storagetype="uint16" endian="big"/>
<scaling name="RPMPerMPH" units="RPM/MPH" toexpr="x/22.6" frexpr="22.6*x" format="%.0f" min="0" max="3000" inc="5" storagetype="uint16" endian="big"/>
<scaling name="RPMStatLimit" units="units" toexpr="x*31.25" frexpr="x/31.25" format="%.0f" min="0" max="9000" inc="31.25" storagetype="uint16" endian="big"/>
<scaling name="RPMTarget" units="RPM" toexpr="x*125/16" frexpr="x*16/125" format="%.0f" min="0" max="2000" inc="50" storagetype="uint16" endian="big"/>
<scaling name="Temp" units="*C" toexpr="x-40" frexpr="x+40" format="%.0f" min="-40" max="215" inc="1" storagetype="uint16" endian="big"/>
<scaling name="TempFarenheit" units="*F" toexpr="1.8*x-40" frexpr="(x+40)/1.8" format="%.0f" min="-40" max="350" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Throttle %" units="%" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/>
<scaling name="Throttle Opening" units="%" toexpr="x/3277*100" frexpr="x/100*3277" format="%.1f" min="0" max="100" inc="0.5" storagetype="uint16" endian="big"/>
<scaling name="Time" units="ms" toexpr="x*25" frexpr="x/25" format="%.0f" min="0" max="1.63838e+06" inc="25" storagetype="uint16" endian="big"/>
<scaling name="Timing" units="degrees" toexpr="x" frexpr="x" format="%.0f" min="-61" max="61" inc="1" storagetype="int8" endian="big"/>
<scaling name="uint16" units="units" toexpr="x" frexpr="x" format="%.0f" min="0" max="65535" inc="1" storagetype="uint16" endian="big"/>
<scaling name="uint8" units="units" toexpr="x" frexpr="x" format="%.0f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<scaling name="ValveTimingExhaust" units="degrees" toexpr="80-x*0.625" frexpr="(80-x)/0.625" format="%.1f" min="-35" max="0" inc="1" storagetype="uint8" endian="big"/>
<scaling name="ValveTimingIntake" units="degrees" toexpr="80-x*0.625" frexpr="(80-x)/0.625" format="%.1f" min="10" max="35" inc="1" storagetype="uint8" endian="big"/>
<scaling name="VehicleSpeed" units="km/h" toexpr="x*2" frexpr="x/2" format="%.0f" min="0" max="510" inc="1" storagetype="uint16" endian="big"/>
<scaling name="VehicleSpeedFreq" units="km/h" toexpr="x*0.25" frexpr="x/0.25" format="%.1f" min="0" max="64" inc="0.2" storagetype="uint16" endian="big"/>
<scaling name="VoltsADC1023" units="Volts" toexpr="x*5/1023" frexpr="x*1023/5" format="%.2f" min="0" max="5" inc="0.05" storagetype="uint16" endian="big"/>
I see that some of the items are different to Hiboosts def, so some testing needs to be done to verify. I do not have an Outlander to test / log / verify.
The xml is split so as to enable posting.
This is the first part:
<!--
This 57360006 ROM definition for the USDM Outlander Sport 4B11 CVT authored by merlin.
Please report any errors or additions to merlin@three.com.au
Note 1: .
Note 2: .
Note 3: .
Note 4: .
Note 5: Editing the definition from within EcuFlash will alter the layout and structure of the definition
and all the comments and spacing will be removed. Use Notepad to edit the definition file.
Last Revision:
08 July 2011
12 July 2011
-->
<rom>
<romid>
<xmlid>57360006</xmlid>
<internalidaddress>5002e</internalidaddress>
<internalidhex>57360006</internalidhex>
<make>Mitsubishi</make>
<market>USDM</market>
<model>Outlander</model>
<submodel>Sport 4B11 1liter NA</submodel>
<transmission>CVT</transmission>
<year>2011</year>
<flashmethod>mitsucan</flashmethod>
<memmodel>M32186F8</memmodel>
<checksummodule>mitsucan</checksummodule>
</romid>
<!-- * Scaling * -->
<scaling name="AFR" units="AFR" toexpr="14.7*128/x" frexpr="14.7*128/x" format="%.1f" min="8" max="20" inc="0.1" storagetype="uint8" endian="big"/>
<scaling name="BatteryVoltage" units="V" toexpr="x*75/1023" frexpr="x*1023/75" format="%.2f" min="0" max="18.75" inc="0.5" storagetype="uint16" endian="big"/>
<scaling name="blobbits" storagetype="bloblist" storagebits="1">
<data name="0" value="00"/>
<data name="1" value="01"/>
</scaling>
<scaling name="ECU ID" units="units" toexpr="x" frexpr="x" format="%08x" min="0" max="1e+08" inc="1" storagetype="uint32" endian="big"/>
<scaling name="Hex8" units="hex" toexpr="x" frexpr="x" format="%02X" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<scaling name="Hex16" units="hex" toexpr="x" frexpr="x" format="%04X" min="0" max="65535" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Hex32" units="hex" toexpr="x" frexpr="x" format="%06X" min="0" max="1e+08" inc="1" storagetype="uint32" endian="big"/>
<scaling name="InjectorLatency" units="ms" toexpr="x*0.015" frexpr="x/0.015" format="%.3f" min="0" max="4" inc="0.015" storagetype="uint8" endian="big"/>
<scaling name="InjectorScaling" units="cc/min" toexpr="29241/x" frexpr="29241/x" format="%.0f" min="1" max="1000" inc="10" storagetype="uint16" endian="big"/>
<scaling name="Load" units="%" toexpr="x*10/32" frexpr="x*32/10" format="%.0f" min="0" max="300" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Load16" units="load" toexpr="x*5/8" frexpr="x*8/5" format="%.1f" min="0" max="100" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Load8" units="%" toexpr="x*5/8" frexpr="x*8/5" format="%.1f" min="0" max="160" inc="1" storagetype="uint8" endian="big"/>
<scaling name="Min timing" units="degrees" toexpr="x-20" frexpr="x+20" format="%.0f" min="-61" max="61" inc="1" storagetype="int8" endian="big"/>
<scaling name="MIVECInterpolation" units="% Normal Temp Map" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="100" inc="2" storagetype="uint8" endian="big"/>
<scaling name="MUT32" units="hex" toexpr="x" frexpr="x" format="%06X" min="0" max="1e+08" inc="1" storagetype="uint32" endian="big"/>
<scaling name="Percent128" units="%" toexpr="x*100/128" frexpr="x*128/100" format="%.1f" min="80" max="105" inc="0.1" storagetype="uint8" endian="big"/>
<scaling name="Percent255" units="%" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="100" inc="2" storagetype="uint8" endian="big"/>
<scaling name="RPM" units="RPM" toexpr="x*1000/256" frexpr="x*256/1000" format="%.0f" min="0" max="11000" inc="50" storagetype="uint16" endian="big"/>
<scaling name="RPM8" units="RPM" toexpr="x*125/16" frexpr="x*16/125" format="%.0f" min="0" max="2000" inc="10" storagetype="uint8" endian="big"/>
<scaling name="RPMLimit" units="RPM" toexpr="7500000/x" frexpr="7500000/x" format="%.0f" min="0" max="9000" inc="60" storagetype="uint16" endian="big"/>
<scaling name="RPMPerMPH" units="RPM/MPH" toexpr="x/22.6" frexpr="22.6*x" format="%.0f" min="0" max="3000" inc="5" storagetype="uint16" endian="big"/>
<scaling name="RPMStatLimit" units="units" toexpr="x*31.25" frexpr="x/31.25" format="%.0f" min="0" max="9000" inc="31.25" storagetype="uint16" endian="big"/>
<scaling name="RPMTarget" units="RPM" toexpr="x*125/16" frexpr="x*16/125" format="%.0f" min="0" max="2000" inc="50" storagetype="uint16" endian="big"/>
<scaling name="Temp" units="*C" toexpr="x-40" frexpr="x+40" format="%.0f" min="-40" max="215" inc="1" storagetype="uint16" endian="big"/>
<scaling name="TempFarenheit" units="*F" toexpr="1.8*x-40" frexpr="(x+40)/1.8" format="%.0f" min="-40" max="350" inc="1" storagetype="uint16" endian="big"/>
<scaling name="Throttle %" units="%" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/>
<scaling name="Throttle Opening" units="%" toexpr="x/3277*100" frexpr="x/100*3277" format="%.1f" min="0" max="100" inc="0.5" storagetype="uint16" endian="big"/>
<scaling name="Time" units="ms" toexpr="x*25" frexpr="x/25" format="%.0f" min="0" max="1.63838e+06" inc="25" storagetype="uint16" endian="big"/>
<scaling name="Timing" units="degrees" toexpr="x" frexpr="x" format="%.0f" min="-61" max="61" inc="1" storagetype="int8" endian="big"/>
<scaling name="uint16" units="units" toexpr="x" frexpr="x" format="%.0f" min="0" max="65535" inc="1" storagetype="uint16" endian="big"/>
<scaling name="uint8" units="units" toexpr="x" frexpr="x" format="%.0f" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<scaling name="ValveTimingExhaust" units="degrees" toexpr="80-x*0.625" frexpr="(80-x)/0.625" format="%.1f" min="-35" max="0" inc="1" storagetype="uint8" endian="big"/>
<scaling name="ValveTimingIntake" units="degrees" toexpr="80-x*0.625" frexpr="(80-x)/0.625" format="%.1f" min="10" max="35" inc="1" storagetype="uint8" endian="big"/>
<scaling name="VehicleSpeed" units="km/h" toexpr="x*2" frexpr="x/2" format="%.0f" min="0" max="510" inc="1" storagetype="uint16" endian="big"/>
<scaling name="VehicleSpeedFreq" units="km/h" toexpr="x*0.25" frexpr="x/0.25" format="%.1f" min="0" max="64" inc="0.2" storagetype="uint16" endian="big"/>
<scaling name="VoltsADC1023" units="Volts" toexpr="x*5/1023" frexpr="x*1023/5" format="%.2f" min="0" max="5" inc="0.05" storagetype="uint16" endian="big"/>
Last edited by merlin.oz; Jul 11, 2011 at 10:58 PM.
#11
Evolved Member
And the second part:
<!-- *** ECU ID *** -->
<table name="ECU ID" address="5002e" category="ECU ID" type="1D" scaling="ECU ID"/>
<scaling name="Hex8" units="hex" toexpr="x" frexpr="x" format="%02X" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<table name="ECU ROM ID" category="ECU ID" address="5002e" type="2D" scaling="Hex8">
<table name="Byte Position" type="Static X Axis" elements="4">
<data>b1</data>
<data>b2</data>
<data>b3</data>
<data>b4</data>
</table>
</table>
<scaling name="CaseAlphaNumeric" storagetype="bloblist" storagebits="8">
<data name="MB" value="10"/>
<data name="MD" value="20"/>
<data name="MN" value="60"/>
<data name="1860" value="80"/>
<data name="A" value="41"/>
<data name="B" value="42"/>
<data name="0" value="30"/>
<data name="1" value="31"/>
<data name="2" value="32"/>
<data name="3" value="33"/>
<data name="4" value="34"/>
<data name="5" value="35"/>
<data name="6" value="36"/>
<data name="7" value="37"/>
<data name="8" value="38"/>
<data name="9" value="39"/>
</scaling>
<table name="ECU Case ID" category="ECU ID" address="50046" type="3D" scaling="CaseAlphaNumeric">
<table name="Part Number" type="Static X Axis" elements="3">
<data>PN1 .</data>
<data>PN2 .</data>
<data>PN3 .</data>
</table>
<table name="PN4" address="50045" type="Y Axis" elements="1" scaling="Hex8"/>
</table>
<!-- * Fuel Maps * -->
<table name="Hi-Octane Warmup Fuel Map" address="55027" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/><!--Alt 5b4d2-->
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<table name="Hi-Octane Main Fuel Map" address="550e5" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<table name="Lo-Octane Warmup Fuel Map" address="551a3" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<table name="Lo-Octane Main Fuel Map" address="55261" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<!-- * Spark Maps * -->
<table name="High Octane Spark Map" address="55653" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="13" scaling="Load"/> <!--alt = 5b4d2-->
<table name="RPM" address="5ecd8" type="Y Axis" elements="20" scaling="RPM"/>
</table>
<table name="Low Octane Spark Map" address="5575f" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="20" scaling="RPM"/>
</table>
<table name="Acceleration Spark Map" address="5a7d3" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="12" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="16" scaling="RPM"/>
</table>
<table name="Upper Bound Spark Map" address="5a89b" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="12" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="16" scaling="RPM"/>
</table>
<table name="Lower Bound Ignition Timing" category="Spark Maps" address="5a70b" type="3D" swapxy="true" scaling="Min timing">
<table name="Load" address="5ed06" type="X Axis" elements="12" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="16" scaling="RPM"/>
</table>
<!-- * MIVEC * -->
<table name="MIVEC Intake Normal Coolant Temp" address="5c1ad" category="Mivec" type="3D" swapxy="true" scaling="ValveTimingIntake">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Intake Low Coolant Temp" address="5c291" category="Mivec" type="3D" swapxy="true" scaling="ValveTimingIntake">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Exhaust Normal Coolant Temp" category="Mivec" address="5c375" type="3D" swapxy="true" scaling="ValveTimingExhaust">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Exhaust Low Coolant Temp" category="Mivec" address="5c459" type="3D" swapxy="true" scaling="ValveTimingExhaust">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Intake Map Interpolation" address="5c53a" category="Mivec" type="2D" scaling="MIVECInterpolation">
<table name="Coolant Temperature" address="60128" type="Y Axis" elements="9" scaling="Temp"/>
</table>
<table name="MIVEC Exhaust Map Interpolation" address="5c548" category="Mivec" type="2D" scaling="MIVECInterpolation">
<table name="Coolant Temperature" address="60128" type="Y Axis" elements="9" scaling="Temp"/>
</table>
<!-- * Timing Trims * -->
<table name="Ignition Warmup Retard" address="58e60" category="Timing Trims" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="20" scaling="RPM"/>
</table>
<!-- * Throttle Control * -->
<table name="Throttle Map #1 - Prime" category="Throttle" address="50632" type="3D" swapxy="true" scaling="Throttle Opening">
<table name="X" address="5f1ac" type="X Axis" elements="17" scaling="Load"/>
<table name="Y" address="5f12a" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<!-- *** ECU ID *** -->
<table name="ECU ID" address="5002e" category="ECU ID" type="1D" scaling="ECU ID"/>
<scaling name="Hex8" units="hex" toexpr="x" frexpr="x" format="%02X" min="0" max="255" inc="1" storagetype="uint8" endian="big"/>
<table name="ECU ROM ID" category="ECU ID" address="5002e" type="2D" scaling="Hex8">
<table name="Byte Position" type="Static X Axis" elements="4">
<data>b1</data>
<data>b2</data>
<data>b3</data>
<data>b4</data>
</table>
</table>
<scaling name="CaseAlphaNumeric" storagetype="bloblist" storagebits="8">
<data name="MB" value="10"/>
<data name="MD" value="20"/>
<data name="MN" value="60"/>
<data name="1860" value="80"/>
<data name="A" value="41"/>
<data name="B" value="42"/>
<data name="0" value="30"/>
<data name="1" value="31"/>
<data name="2" value="32"/>
<data name="3" value="33"/>
<data name="4" value="34"/>
<data name="5" value="35"/>
<data name="6" value="36"/>
<data name="7" value="37"/>
<data name="8" value="38"/>
<data name="9" value="39"/>
</scaling>
<table name="ECU Case ID" category="ECU ID" address="50046" type="3D" scaling="CaseAlphaNumeric">
<table name="Part Number" type="Static X Axis" elements="3">
<data>PN1 .</data>
<data>PN2 .</data>
<data>PN3 .</data>
</table>
<table name="PN4" address="50045" type="Y Axis" elements="1" scaling="Hex8"/>
</table>
<!-- * Fuel Maps * -->
<table name="Hi-Octane Warmup Fuel Map" address="55027" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/><!--Alt 5b4d2-->
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<table name="Hi-Octane Main Fuel Map" address="550e5" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<table name="Lo-Octane Warmup Fuel Map" address="551a3" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<table name="Lo-Octane Main Fuel Map" address="55261" category="Fuel Maps" type="3D" swapxy="true" scaling="AFR">
<table name="Load" address="5eca2" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ec80" type="Y Axis" elements="14" scaling="RPM"/>
</table>
<!-- * Spark Maps * -->
<table name="High Octane Spark Map" address="55653" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="13" scaling="Load"/> <!--alt = 5b4d2-->
<table name="RPM" address="5ecd8" type="Y Axis" elements="20" scaling="RPM"/>
</table>
<table name="Low Octane Spark Map" address="5575f" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="20" scaling="RPM"/>
</table>
<table name="Acceleration Spark Map" address="5a7d3" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="12" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="16" scaling="RPM"/>
</table>
<table name="Upper Bound Spark Map" address="5a89b" category="Spark Maps" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="12" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="16" scaling="RPM"/>
</table>
<table name="Lower Bound Ignition Timing" category="Spark Maps" address="5a70b" type="3D" swapxy="true" scaling="Min timing">
<table name="Load" address="5ed06" type="X Axis" elements="12" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="16" scaling="RPM"/>
</table>
<!-- * MIVEC * -->
<table name="MIVEC Intake Normal Coolant Temp" address="5c1ad" category="Mivec" type="3D" swapxy="true" scaling="ValveTimingIntake">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Intake Low Coolant Temp" address="5c291" category="Mivec" type="3D" swapxy="true" scaling="ValveTimingIntake">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Exhaust Normal Coolant Temp" category="Mivec" address="5c375" type="3D" swapxy="true" scaling="ValveTimingExhaust">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Exhaust Low Coolant Temp" category="Mivec" address="5c459" type="3D" swapxy="true" scaling="ValveTimingExhaust">
<table name="Load" address="5f340" type="X Axis" elements="10" scaling="Load"/>
<table name="RPM" address="5f35a" type="Y Axis" elements="22" scaling="RPM"/>
</table>
<table name="MIVEC Intake Map Interpolation" address="5c53a" category="Mivec" type="2D" scaling="MIVECInterpolation">
<table name="Coolant Temperature" address="60128" type="Y Axis" elements="9" scaling="Temp"/>
</table>
<table name="MIVEC Exhaust Map Interpolation" address="5c548" category="Mivec" type="2D" scaling="MIVECInterpolation">
<table name="Coolant Temperature" address="60128" type="Y Axis" elements="9" scaling="Temp"/>
</table>
<!-- * Timing Trims * -->
<table name="Ignition Warmup Retard" address="58e60" category="Timing Trims" type="3D" swapxy="true" scaling="Timing">
<table name="Load" address="5ed06" type="X Axis" elements="13" scaling="Load"/>
<table name="RPM" address="5ecd8" type="Y Axis" elements="20" scaling="RPM"/>
</table>
<!-- * Throttle Control * -->
<table name="Throttle Map #1 - Prime" category="Throttle" address="50632" type="3D" swapxy="true" scaling="Throttle Opening">
<table name="X" address="5f1ac" type="X Axis" elements="17" scaling="Load"/>
<table name="Y" address="5f12a" type="Y Axis" elements="14" scaling="RPM"/>
</table>
Last edited by merlin.oz; Jul 11, 2011 at 10:57 PM.
#12
Evolved Member
And the third part:
<!-- * Limits * -->
<table name="Rev Limiter" address="5125e" category="Limits" type="2D" scaling="RPMLimit">
<table type="Static Y Axis" elements="2">
<data>Rev Limiter ON</data>
<data>Rev Limiter OFF</data>
</table>
</table>
<table name="Stationary Rev Limit - RPM" address="5162a" category="Limits" type="1D" scaling="RPMStatLimit"/>
<table name="Stationary Rev Limit - Speed" address="51628" category="Limits" type="1D" scaling="VehicleSpeedFreq" />
<table name="Speed Limiter" address="51262" category="Limits" type="2D" scaling="VehicleSpeed">
<table name="X" type="Static Y Axis" elements="2">
<data>Limiter ON</data>
<data>Limiter OFF</data>
</table>
</table>
<!-- * Idle * -->
<table name="Idle RPM #1 v Temp, Stationary" address="57d3e" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #2 v Temp, In-Gear" address="57d4a" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #3 v Temp" address="58300" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #4 v Temp" address="58326" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #5 v Temp" address="58332" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<!-- * MUT * -->
<table name="MUT Table" address="3c9c8" category="MUT" type="3D" scaling="MUT32">
<table name="X" type="Static X Axis" elements="16">
<data>0</data>
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
<data>5</data>
<data>6</data>
<data>7</data>
<data>8</data>
<data>9</data>
<data>A</data>
<data>B</data>
<data>C</data>
<data>D</data>
<data>E</data>
<data>F</data>
</table>
<table name="Y" type="Static Y Axis" elements="30">
<data>MUT0X</data>
<data>MUT1X</data>
<data>MUT2X</data>
<data>MUT3X</data>
<data>MUT4X</data>
<data>MUT5X</data>
<data>MUT6X</data>
<data>MUT7X</data>
<data>MUT8X</data>
<data>MUT9X</data>
<data>MUTAX</data>
<data>MUTBX</data>
<data>MUTCX</data>
<data>MUTDX</data>
<data>MUTEX</data>
<data>MUTFX</data>
<data>MUT10X</data>
<data>MUT11X</data>
<data>MUT12X</data>
<data>MUT13X</data>
<data>MUT14X</data>
<data>MUT15X</data>
<data>MUT16X</data>
<data>MUT17X</data>
<data>MUT18X</data>
<data>MUT19X</data>
<data>MUT1AX</data>
<data>MUT1BX</data>
<data>MUT1CX</data>
<data>MUT1DX</data>
</table>
</table>
<!-- *** ECU OPTIONS *** -->
<scaling name="blobbits" storagetype="bloblist" storagebits="1">
<data name="0" value="00"/>
<data name="1" value="01"/>
</scaling>
<table name="ECU Options Set #1" category="ECU Options" address="50072" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15 .</data>
<data>bit.14 .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11 .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08 .</data>
<data>bit.07 .</data>
<data>bit.06 .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02, 1=Enable IMMOBILIZER on JDM8MR AUDM9 EDM9 .</data>
<data>bit.01 .</data>
<data>bit.00, 1=Enable unknown .</data>
</table>
</table>
<table name="ECU Options Set #2" category="ECU Options" address="50082" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15 .</data>
<data>bit.14 .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11, 1=Disable EGR function .</data>
<data>bit.10, 0=Disable WEIRD UNKNOWN CRUISE IGN RETARD .</data>
<data>bit.09, 0=Disable WARMUP IGNITION RETARD function .</data>
<data>bit.08 .</data>
<data>bit.07, 0=Disable HI-OCTANE Spark Map Lookup .</data>
<data>bit.06, 0=Disable SPEED LIMIT function .</data>
<data>bit.05 .</data>
<data>bit.04, 0=Disable CLOSED LOOP function .</data>
<data>bit.03, 0=Disable IMMOBILIZER function .</data>
<data>bit.02 .</data>
<data>bit.01, 0=Disable REAR O2 SENSOR function .</data>
<data>bit.00 .</data>
</table>
</table>
<table name="ECU Options Set #3" category="ECU Options" address="50092" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15 .</data>
<data>bit.14, 0=Disable Cruise Control .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11 .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08 .</data>
<data>bit.07 .</data>
<data>bit.06 .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02 .</data>
<data>bit.01 .</data>
<data>bit.00, 0=Disable LEAN SPOOL function .</data>
</table>
</table>
<table name="ECU Options Set #4" category="ECU Options" address="500a2" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15, P0443 P0446 P0403 P0243 P0090 P2263 .</data>
<data>bit.14, P0450,451,452,453 EVAP PRESSURE SENSOR .</data>
<data>bit.13, P0441 EVAP incorrect purge flow .</data>
<data>bit.12 .</data>
<data>bit.11, P0031,032,037,038 O2 SENSOR HEATER lo or hi .</data>
<data>bit.10, P1400 MAP SENSOR .</data>
<data>bit.09, P0401 EGR lo flow .</data>
<data>bit.08, P0506 P0507 IDLE SYSTEM lo or hi .</data>
<data>bit.07, P0170,171,172 FUEL TRIM .</data>
<data>bit.06, P0134 O2 SENSOR #1 no activity .</data>
<data>bit.05, P0300 CYLINDER MISFIRE .</data>
<data>bit.04, P0300 CYLINDER MISFIRE .</data>
<data>bit.03, P0132 P0136 O2 SENSOR #1 high .</data>
<data>bit.02, P0133 P0159 O2 SENSOR #1 slow .</data>
<data>bit.01, P0421 WARMUP CAT EFFICIENCY low .</data>
<data>bit.00 .</data>
</table>
</table>
<table name="ECU Options Set #5" category="ECU Options" address="500b2" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15, P0128 COOLANT TEMP below regulator temp .</data>
<data>bit.14, P1603 BATTERY BACKUP .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11, P0180 P0183 P0461 P2066 FUEL SENSOR .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08 .</data>
<data>bit.07, P0551 POWER STEER PRESSURE SENSOR .</data>
<data>bit.06, P0500 VEHICLE SPEED SENSOR .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02, P0234 P0243 P2263 Turbo Overboost .</data>
<data>bit.01, P0510 CLOSED THROTTLE SWITCH .</data>
<data>bit.00, P1715 P1750 etc .</data>
</table>
</table>
<table name="ECU Options Set #6" category="ECU Options" address="500c2" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15, P0140 O2 SENSOR #2 no activity .</data>
<data>bit.14, P0069 MAP v BARO .</data>
<data>bit.13, P0111 INTAKE AIR TEMP SENSOR .</data>
<data>bit.12, P0554 POWER STEER SENSOR intermittant .</data>
<data>bit.11, P1530 AIR CON SWITCH .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08, P0830 CLUTCH PEDAL SWITCH A Circuit .</data>
<data>bit.07, P0090 FUEL PRESSURE Circuit .</data>
<data>bit.06 .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02 .</data>
<data>bit.01 .</data>
<data>bit.00 .</data>
</table>
</table>
</rom>
<!-- * Limits * -->
<table name="Rev Limiter" address="5125e" category="Limits" type="2D" scaling="RPMLimit">
<table type="Static Y Axis" elements="2">
<data>Rev Limiter ON</data>
<data>Rev Limiter OFF</data>
</table>
</table>
<table name="Stationary Rev Limit - RPM" address="5162a" category="Limits" type="1D" scaling="RPMStatLimit"/>
<table name="Stationary Rev Limit - Speed" address="51628" category="Limits" type="1D" scaling="VehicleSpeedFreq" />
<table name="Speed Limiter" address="51262" category="Limits" type="2D" scaling="VehicleSpeed">
<table name="X" type="Static Y Axis" elements="2">
<data>Limiter ON</data>
<data>Limiter OFF</data>
</table>
</table>
<!-- * Idle * -->
<table name="Idle RPM #1 v Temp, Stationary" address="57d3e" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #2 v Temp, In-Gear" address="57d4a" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #3 v Temp" address="58300" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #4 v Temp" address="58326" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<table name="Idle RPM #5 v Temp" address="58332" category="Idle" type="2D" scaling="RPM8">
<table name="Coolant Temperature" address="5eeaa" type="Y Axis" elements="8" scaling="Temp"/>
</table>
<!-- * MUT * -->
<table name="MUT Table" address="3c9c8" category="MUT" type="3D" scaling="MUT32">
<table name="X" type="Static X Axis" elements="16">
<data>0</data>
<data>1</data>
<data>2</data>
<data>3</data>
<data>4</data>
<data>5</data>
<data>6</data>
<data>7</data>
<data>8</data>
<data>9</data>
<data>A</data>
<data>B</data>
<data>C</data>
<data>D</data>
<data>E</data>
<data>F</data>
</table>
<table name="Y" type="Static Y Axis" elements="30">
<data>MUT0X</data>
<data>MUT1X</data>
<data>MUT2X</data>
<data>MUT3X</data>
<data>MUT4X</data>
<data>MUT5X</data>
<data>MUT6X</data>
<data>MUT7X</data>
<data>MUT8X</data>
<data>MUT9X</data>
<data>MUTAX</data>
<data>MUTBX</data>
<data>MUTCX</data>
<data>MUTDX</data>
<data>MUTEX</data>
<data>MUTFX</data>
<data>MUT10X</data>
<data>MUT11X</data>
<data>MUT12X</data>
<data>MUT13X</data>
<data>MUT14X</data>
<data>MUT15X</data>
<data>MUT16X</data>
<data>MUT17X</data>
<data>MUT18X</data>
<data>MUT19X</data>
<data>MUT1AX</data>
<data>MUT1BX</data>
<data>MUT1CX</data>
<data>MUT1DX</data>
</table>
</table>
<!-- *** ECU OPTIONS *** -->
<scaling name="blobbits" storagetype="bloblist" storagebits="1">
<data name="0" value="00"/>
<data name="1" value="01"/>
</scaling>
<table name="ECU Options Set #1" category="ECU Options" address="50072" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15 .</data>
<data>bit.14 .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11 .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08 .</data>
<data>bit.07 .</data>
<data>bit.06 .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02, 1=Enable IMMOBILIZER on JDM8MR AUDM9 EDM9 .</data>
<data>bit.01 .</data>
<data>bit.00, 1=Enable unknown .</data>
</table>
</table>
<table name="ECU Options Set #2" category="ECU Options" address="50082" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15 .</data>
<data>bit.14 .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11, 1=Disable EGR function .</data>
<data>bit.10, 0=Disable WEIRD UNKNOWN CRUISE IGN RETARD .</data>
<data>bit.09, 0=Disable WARMUP IGNITION RETARD function .</data>
<data>bit.08 .</data>
<data>bit.07, 0=Disable HI-OCTANE Spark Map Lookup .</data>
<data>bit.06, 0=Disable SPEED LIMIT function .</data>
<data>bit.05 .</data>
<data>bit.04, 0=Disable CLOSED LOOP function .</data>
<data>bit.03, 0=Disable IMMOBILIZER function .</data>
<data>bit.02 .</data>
<data>bit.01, 0=Disable REAR O2 SENSOR function .</data>
<data>bit.00 .</data>
</table>
</table>
<table name="ECU Options Set #3" category="ECU Options" address="50092" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15 .</data>
<data>bit.14, 0=Disable Cruise Control .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11 .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08 .</data>
<data>bit.07 .</data>
<data>bit.06 .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02 .</data>
<data>bit.01 .</data>
<data>bit.00, 0=Disable LEAN SPOOL function .</data>
</table>
</table>
<table name="ECU Options Set #4" category="ECU Options" address="500a2" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15, P0443 P0446 P0403 P0243 P0090 P2263 .</data>
<data>bit.14, P0450,451,452,453 EVAP PRESSURE SENSOR .</data>
<data>bit.13, P0441 EVAP incorrect purge flow .</data>
<data>bit.12 .</data>
<data>bit.11, P0031,032,037,038 O2 SENSOR HEATER lo or hi .</data>
<data>bit.10, P1400 MAP SENSOR .</data>
<data>bit.09, P0401 EGR lo flow .</data>
<data>bit.08, P0506 P0507 IDLE SYSTEM lo or hi .</data>
<data>bit.07, P0170,171,172 FUEL TRIM .</data>
<data>bit.06, P0134 O2 SENSOR #1 no activity .</data>
<data>bit.05, P0300 CYLINDER MISFIRE .</data>
<data>bit.04, P0300 CYLINDER MISFIRE .</data>
<data>bit.03, P0132 P0136 O2 SENSOR #1 high .</data>
<data>bit.02, P0133 P0159 O2 SENSOR #1 slow .</data>
<data>bit.01, P0421 WARMUP CAT EFFICIENCY low .</data>
<data>bit.00 .</data>
</table>
</table>
<table name="ECU Options Set #5" category="ECU Options" address="500b2" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15, P0128 COOLANT TEMP below regulator temp .</data>
<data>bit.14, P1603 BATTERY BACKUP .</data>
<data>bit.13 .</data>
<data>bit.12 .</data>
<data>bit.11, P0180 P0183 P0461 P2066 FUEL SENSOR .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08 .</data>
<data>bit.07, P0551 POWER STEER PRESSURE SENSOR .</data>
<data>bit.06, P0500 VEHICLE SPEED SENSOR .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02, P0234 P0243 P2263 Turbo Overboost .</data>
<data>bit.01, P0510 CLOSED THROTTLE SWITCH .</data>
<data>bit.00, P1715 P1750 etc .</data>
</table>
</table>
<table name="ECU Options Set #6" category="ECU Options" address="500c2" type="2D" scaling="blobbits">
<table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16">
<data>bit.15, P0140 O2 SENSOR #2 no activity .</data>
<data>bit.14, P0069 MAP v BARO .</data>
<data>bit.13, P0111 INTAKE AIR TEMP SENSOR .</data>
<data>bit.12, P0554 POWER STEER SENSOR intermittant .</data>
<data>bit.11, P1530 AIR CON SWITCH .</data>
<data>bit.10 .</data>
<data>bit.09 .</data>
<data>bit.08, P0830 CLUTCH PEDAL SWITCH A Circuit .</data>
<data>bit.07, P0090 FUEL PRESSURE Circuit .</data>
<data>bit.06 .</data>
<data>bit.05 .</data>
<data>bit.04 .</data>
<data>bit.03 .</data>
<data>bit.02 .</data>
<data>bit.01 .</data>
<data>bit.00 .</data>
</table>
</table>
</rom>
Last edited by merlin.oz; Jul 11, 2011 at 10:56 PM.
#14
Merlin:
Seems like the Upper Bound Ignition Timing table i posted is what was limiting my timing in the Hi-Octane Spark Map. I have no idea what the Acceleration Spark Maps do but those seem to be what you referenced to as the Upper Bound tables. They seem to be an odd table that tops out at 4500 and changing even the highest line to 28* still had timing capped at 25* peak so I'm not sure when they come into play.
The Lower Bound Ignition Timing table I posted seems off although I'm not sure I really need to alter it anyways.
Stationary Rev Limiters you posted are likely the right ones, I'll test what RPM it currently is set for on the way home from work. Whichever one it matches is the right one.
For ECU Options you are likely more correct in the listings, although Set #2/bit 7 did seem to enable knock retard as before I would never read any knock counts when it was set for 0 from the factory. Not sure what "HI-OCTANE Spark Map Lookup" actually means since it was disabled from the factory, is that so it always uses the low octane maps tuned for 87 octane?
Looks like your ECU ID references were correct in that it should point to the 5002e location.
Seems like the Upper Bound Ignition Timing table i posted is what was limiting my timing in the Hi-Octane Spark Map. I have no idea what the Acceleration Spark Maps do but those seem to be what you referenced to as the Upper Bound tables. They seem to be an odd table that tops out at 4500 and changing even the highest line to 28* still had timing capped at 25* peak so I'm not sure when they come into play.
The Lower Bound Ignition Timing table I posted seems off although I'm not sure I really need to alter it anyways.
Stationary Rev Limiters you posted are likely the right ones, I'll test what RPM it currently is set for on the way home from work. Whichever one it matches is the right one.
For ECU Options you are likely more correct in the listings, although Set #2/bit 7 did seem to enable knock retard as before I would never read any knock counts when it was set for 0 from the factory. Not sure what "HI-OCTANE Spark Map Lookup" actually means since it was disabled from the factory, is that so it always uses the low octane maps tuned for 87 octane?
Looks like your ECU ID references were correct in that it should point to the 5002e location.
#15
Evolved Member
I contacted ROB @ RRM about turbo charging my OUTLANDER SPORT and he had this to say about the ECU.
Rob said that he has found out that even going with their setup, that anything highter that 4 lbs of boost on the CVT and 8lbs. of boost on the manual trans is not safe. (because of the ECU and the CVT for the auto guys)
Here is the main issue, and i heard it is the same issue the EVO X was having when the rom was 1st decoded, when the ECU see that the O.S. is making over 200 hp or 200 ft. lbs. of torque the ECU kicks on the ABS and trys to shut down the car putting it into a SAFE mode.
This is why they are not using more than 8ls. of boost on the manul transmition O.S. and Lancer, which is a bummer. The reason for 4lbs. on the auto is due to the CVT trans having a weak belt that will liquify under high temps.
From talking to Rob, Mike @ MDR, and reading on the fourms, the ECU SAFE mode kicking in might have something to do with <Torque Tables>.
I have no idea when it comes to tuning, reading Roms, or decoding, so i was just going to through this out there, to see if anyone would know how to fix this issue?
Because of my CVT trans i will be staying N/A for now but with the mods and the tune i am going to install i will be right up in the 200hp range fingers X'ed and was wondering if anyone in here can look at the tables and see if the can fix the problem so i can get the full potential out of the O.S.?
Thanks again
Rob said that he has found out that even going with their setup, that anything highter that 4 lbs of boost on the CVT and 8lbs. of boost on the manual trans is not safe. (because of the ECU and the CVT for the auto guys)
Here is the main issue, and i heard it is the same issue the EVO X was having when the rom was 1st decoded, when the ECU see that the O.S. is making over 200 hp or 200 ft. lbs. of torque the ECU kicks on the ABS and trys to shut down the car putting it into a SAFE mode.
This is why they are not using more than 8ls. of boost on the manul transmition O.S. and Lancer, which is a bummer. The reason for 4lbs. on the auto is due to the CVT trans having a weak belt that will liquify under high temps.
From talking to Rob, Mike @ MDR, and reading on the fourms, the ECU SAFE mode kicking in might have something to do with <Torque Tables>.
I have no idea when it comes to tuning, reading Roms, or decoding, so i was just going to through this out there, to see if anyone would know how to fix this issue?
Because of my CVT trans i will be staying N/A for now but with the mods and the tune i am going to install i will be right up in the 200hp range fingers X'ed and was wondering if anyone in here can look at the tables and see if the can fix the problem so i can get the full potential out of the O.S.?
Thanks again
Last edited by TEXAS TRAVISTY; Oct 15, 2014 at 09:55 AM.