Hi there. I was searching some ROMs recently, and I found some interesting tables. I've seen this table defined in a few older ROMs, but nothing in newer ones so far.
Also, in newer ROMs, seems that we have 4 RPM Compensation tables, not 2 like older ROMs.
In this example, we have 4 tables. 3 of them being 'Low Temp' tables, and one of them which contains 'High Temp' Tables.
Since in 32BITBASE we only had space for 2 tables, I had to make new 32BITBASE definitions for those, IMO it looks better and the table name self explains it.
Since I mainly work in AZ1G800D ROM, I'll post examples for it, but you may find the exact same in other newer ROMs (08+)
That may be extremelly helpful for those with ethanol setups.
IDA Data for Table A Low Temp
Code:
ROM:000CAC44 Table_Cranking_IPW_Comp_A_LT_RPM:.data.l 115.0, 215.0, 315.0, 415.0, 515.0
ROM:000CAC58 Table_Cranking_IPW_Comp_A_LT_Temp:.data.l -30.0, -25.0, -20.0, -15.0, -10.0, -5.0, 0.0
ROM:000CAC74 Table_Cranking_IPW_Comp_A_LT_Data:.data.l h'80808080, h'7D808076, h'70638080, h'6D604680, h'8070634A
ROM:000CAC74 .data.l h'80807663, h'50808076, h'63508080, h'806D5A00, h'42E60000
ROM:000CAC74 .data.l h'43570000, h'439D8000, h'43CF8000, h'4400C000, h'C1F00000
ROM:000CAC74 .data.l h'C1C80000, h'C1A00000, h'C1700000, h'C1200000, h'C0A00000
ROM:000CAC74 .data.l 0, h'80808080, h'7D808076, h'70638080, h'6D604680
ROM:000CAC74 .data.l h'8070634A, h'80807663, h'50808076, h'63508080, h'806D5A00
ROM:000CAC74 .data.l h'42E60000, h'43570000, h'439D8000, h'43CF8000, h'4400C000
ScoobyRom Tables Data (all tables)
Attachment:
scoobyrom-data-all.png
Tables Defined in ECUFlash
Attachment:
ecu-flash-tables-crankipwcomp.png
AZ1G800D Definition
Code:
<table name="Cranking Fuel IPW Compensation A Low Temp (RPM)" address="cac74">
<table name="Coolant Temperature" address="cac44"/>
<table name="Engine Load" address="cac58" elements="7"/>
</table>
<table name="Cranking Fuel IPW Compensation B Low Temp (RPM)" address="cacc8">
<table name="Coolant Temperature" address="cac98"/>
<table name="Engine Load" address="cacac" elements="7"/>
</table>
<table name="Cranking Fuel IPW Compensation C Low Temp (RPM)" address="cad1c">
<table name="Coolant Temperature" address="cacec"/>
<table name="Engine Load" address="cad00" elements="7"/>
</table>
<table name="Cranking Fuel IPW Compensation D High Temp (RPM)" address="cad70">
<table name="Coolant Temperature" address="cad40"/>
<table name="Engine Load" address="cad54" elements="7"/>
</table>
32BITBASE
Code:
<table name="Cranking Fuel IPW Compensation A Low Temp (RPM)" category="Fueling - Cranking" type="3D" level="1" scaling="CrankingFuelInjectorPulseWidthCompensation(%)">
<description>This is the change to the 'Cranking Fuel Injector Pulse Width (ECT)', based on engine speed and coolant temp.</description>
<table name="Engine Speed" type="X Axis" elements="5" scaling="RPM"/>
<table name="Coolant Temperature" type="Y Axis" elements="7" scaling="DegreesF"/>
</table>
<table name="Cranking Fuel IPW Compensation B Low Temp (RPM)" category="Fueling - Cranking" type="3D" level="1" scaling="CrankingFuelInjectorPulseWidthCompensation(%)">
<description>This is the change to the 'Cranking Fuel Injector Pulse Width (ECT)', based on engine speed and coolant temp.</description>
<table name="Engine Speed" type="X Axis" elements="5" scaling="RPM"/>
<table name="Coolant Temperature" type="Y Axis" elements="7" scaling="DegreesF"/>
</table>
<table name="Cranking Fuel IPW Compensation C Low Temp (RPM)" category="Fueling - Cranking" type="3D" level="1" scaling="CrankingFuelInjectorPulseWidthCompensation(%)">
<description>This is the change to the 'Cranking Fuel Injector Pulse Width (ECT)', based on engine speed and coolant temp.</description>
<table name="Engine Speed" type="X Axis" elements="5" scaling="RPM"/>
<table name="Coolant Temperature" type="Y Axis" elements="7" scaling="DegreesF"/>
</table>
<table name="Cranking Fuel IPW Compensation D High Temp (RPM)" category="Fueling - Cranking" type="3D" level="1" scaling="CrankingFuelInjectorPulseWidthCompensation(%)">
<description>This is the change to the 'Cranking Fuel Injector Pulse Width (ECT)', based on engine speed and coolant temp.</description>
<table name="Engine Speed" type="X Axis" elements="5" scaling="RPM"/>
<table name="Coolant Temperature" type="Y Axis" elements="7" scaling="DegreesF"/>
</table>