96940011 (and other) Replacement Notes
The immobilizer functions differently between 96940011 (or your original ROM) and 96530006, and you will need to change the behavior for the car to start correctly. You can either disable the immobilizer completely, or change the 96530006 immobilizer behavior to function like your original ROM did. Only do one, or the other; if you disable the immobilizer completely, there is no need to do the following, and if you do the following you should definitely leave the immobilizer enabled for your own security.
To change the behavior, you'll need to add the following to both 96940011.xml and 96530006.xml (or the base XML for the ROM you're coming from):
<table name="Immobilizer Hex" category="Misc" address="ffa" type="1D" level="2" scaling="Hex16"/>
Then, open your original 96940011 ROM, and copy the value from the "Immobilizer Hex" table under the "Misc" section (probably 0x0058). Open your new 96530006 ROM, and open the "Immobilizer Hex" table. You'll see that the value is probably 0x004D; paste in the value you copied from your 96940011 ROM in its place.
Then, do the same thing for the "Immobilizer" table under the "Misc" section.
At this point, your car should start as expected, with the immobilizer functioning correctly.
EcuFlash Definition Errors
Injector Battery Voltage Latency Compensation is incorrect in the original EcuFlash 96539996.xml file. Replace it with:
<table name="Injector Battery Voltage Latency Compensation" address="37c0"> <table name="Battery Voltage" address="67f0" elements="7"/> </table>
Note: The zipped xml on this page has this corrected already. The error is located in the standard xml which comes with Ecuflash intallation.
- MUT Table
There are 4 different 2-byte Load choices each with different correction factors.
- 2-byte LOAD_Raw (no temp compensation)
- MUT00 = 8984
- MUT01 = 8985
- 2-byte LOAD_Temp_Compensated
- MUT00 = 8986
- MUT01 = 8987
- 2-byte LOAD_Baro_Compensated
- MUT00 = 8988
- MUT01 = 8989
- 2-byte LOAD_Temp_and_Baro_Compensated
- MUT00 = 898A
- MUT01 = 898B
Load correction note: The ECU uses the following logic to find the lookup info it needs:
Fuel maps will either use Load_Raw OR LOAD_Temp_and_Baro_Compensated depending on an certain conditions
Ignition Maps will either use LOAD_Baro_Compensated OR LOAD_Temp_and_Baro_Compensated depending on the MAF IAT. (Thanks to Tephra for this info).
It is typically best to use the 2-byte LOAD_Temp_and_Baro_Compensated for tuning, while taking into account the lookup factors mentioned above for both Fuel and Ignition Timing. This will allow the tuner to accurately tune ignition timing while being able to compensate for the lookup logic for fueling. LOAD_Raw is typically 10-20 points higher than LOAD_Temp_and_Baro_Compensated at peak boost. You must take this into account when tuning using the 2-byte loads. With the advent of Tehpra's 1byte load(using a Tephra Mod ROM), you can use 1byte load(which is actually LOAD_Raw) to log LOAD_Raw. You can setup your 2byte load to be LOAD_Temp_and_Baro_Compensated, this will allow the tuner to see both compensated load and LOAD_Raw. Ultimatly, how you decide to set-up your 2-byte load and the methods you use to tune are up to you.
- 2-byte RPM
- MUT02 = 8962
- MUT03 = 8963
- 2-byte AirFlow
- MUT04 = 89E2
- MUT05 = 89E3