rimwall wrote:
Ok, pretty sure I’m looking at the correct part of the ROM now.
Note: I’m not sure where you are getting O2 sensor temp - that doesn’t seem to exist as a parameter. But there is definitely O2 sensor resistance (aka AF 1 resistance, denote as AF1R).
There are checks on AF1R before CL is allowed:
If AF1R < 35 then CL is allowed
If AF1R > 35 and < 40 then state remains unchanged so CL is allowed or not based on prior state
If AF1R > 40 and < 50 and CL Fueling Target > 0.99 and lambda < 1.02 and lambda is within 0.0146 of CL Fueling Target then CL is allowed
If AF1R > 50 then CL is not allowed
All the above parameters aren’t tables, they are constants (still able to be edited via flash)
If your ROM values are the same, you could search for 0x420c00004220000042480000 (which is 35.0 40.0 50.0)
Hi there,
Alright now it all checks out!
Code:
ROM:000C2D2C Minimum_AF1R_Closed_Loop_Normal_Op:.data.l 35.0
ROM:000C2D2C ; DATA XREF: sub_21942:loc_219A6↑o
ROM:000C2D2C ; sub_21A46:off_21B04↑o
ROM:000C2D30 Minimum_AF1R_Closed_Loop_Lambda_Check:.data.l 40.0
ROM:000C2D30 ; DATA XREF: sub_21942:loc_219B6↑o
ROM:000C2D30 ; sub_21A46:off_21B08↑o
ROM:000C2D34 Maximum_AF1R_Closed_Loop:.data.l 50.0 ; DATA XREF: sub_21942:loc_21A08↑o
sub_21942 references the RAM memory of the AF1Res:
Code:
mov.l #pAf1Res, r2
Compares it to the values:
Code:
loc_219A6:
mov.l #Minimum_AF1R_Closed_Loop_Normal_Op, r2
fmov.s @r2, fr8
fcmp/gt fr8, fr4
bt loc_219B6
Regarding the temperature reference;
The AFR1 temperature is measured through the resistance parameter. Resistance drops accordingly to the temperature of the AF Sensor. Seems like the operating temperature for the sensor gives it a resistance of 30~32ohms, which makes sense for allowing CL operation below 35omhs.
By the way, some patches even implement a "EGT warning" when AF1R is lower than 25omhs.