ROM disassembly as raw text file
Look, as far as I'm concerned, you can link "ROM disassembly" to just about anything. I mean, the ECU monitors oil related stuff like, err, oil pressure, doesn't it. 
I used to use Motul 300V Chrono 10w40 - in a high-revving n/a v6. Loved it.
But for the past 12 months I've been dutifully using 5w-30 fully syn as per owners manual. And I've pretty much decided that the last container of that I bought will be the last container. One afternoon doing 6-7 short track tests (90 seconds each, with cooldown time between) and that oil goes to the dogs.
That stuff was "Castrol Edge Sport", which would be fine for (a) 100% street driving and (b) a stock power Ralliart. Fail on both counts. And note there's no oil cooler on this car from factory - more Mitsu cost-cutting for the RA. Quite simply, it gets cooked.
It's highly likely I'll go back to something like the 300V Chrono... and also slap on an oil cooler. Sigh.
5w-30. Silly me for reading the owners manual, and/or acting on it. Live and learn.
Rich

I used to use Motul 300V Chrono 10w40 - in a high-revving n/a v6. Loved it.
But for the past 12 months I've been dutifully using 5w-30 fully syn as per owners manual. And I've pretty much decided that the last container of that I bought will be the last container. One afternoon doing 6-7 short track tests (90 seconds each, with cooldown time between) and that oil goes to the dogs.
That stuff was "Castrol Edge Sport", which would be fine for (a) 100% street driving and (b) a stock power Ralliart. Fail on both counts. And note there's no oil cooler on this car from factory - more Mitsu cost-cutting for the RA. Quite simply, it gets cooked.
It's highly likely I'll go back to something like the 300V Chrono... and also slap on an oil cooler. Sigh.
5w-30. Silly me for reading the owners manual, and/or acting on it. Live and learn.
Rich
I would advise against removing your oil cooler as a weight saving, then hitting the track. 
Rich
Edit: I'm heartened to hear you're using Castrol Edge Sport (ie. that I'm not the only one). I should just change the oil after I get it all toasty, which ain't hard to do right now!

Rich
Edit: I'm heartened to hear you're using Castrol Edge Sport (ie. that I'm not the only one). I should just change the oil after I get it all toasty, which ain't hard to do right now!
Last edited by richardjh; Aug 31, 2011 at 09:10 AM.
For 53040010...
Traditional Load-based EC style:
Direct Boost EC style:
Bonus prize - definition for coolant-temp WGDC limit...
Please give these a shot, and report back! Take the usual care and attention.
They will be up on goldenevo.com real quick, I'm sure.
Rich
Traditional Load-based EC style:
Code:
<table name="OBTR (Over-Boost Timing Retard) Load" address="58c74" category="Load Boost" type="2D" level="3" swapxy="true" scaling="Timing">
<table name="Load Error" address="6261e" type="Y Axis" elements="9" scaling="LoadError"/>
</table>
Direct Boost EC style:
Code:
<table name="OBTR (Over-Boost Timing Retard)" address="58c74" category="Direct Boost" type="2D" level="3" swapxy="true" scaling="Timing">
<table name="Load Error" address="6261e" type="Y Axis" elements="9" scaling="BoostErrorPsi"/>
</table>
<table name="OBTR Variable for Boost Control 0xC76C -> 0xC712" address="21dc6" category="Direct Boost" type="1D" level="3" scaling="Hex16"/>
<table name="OBTR SHLR->SHLR2 0x5201 -> 0x5202" address="21dc8" category="Direct Boost" type="1D" level="3" scaling="Hex16"/>
<table name="OBTR Boost Error RAM Address 0xC588 -> 0xC586" address="21dde" category="Direct Boost" type="1D" level="3" scaling="Hex16"/>
<table name="OBTR Boost Error RAM Address in Load Error Table 0xC588 -> 0xC586" address="6261a" category="Direct Boost" type="1D" level="3" scaling="Hex16"/>
Bonus prize - definition for coolant-temp WGDC limit...
Code:
<table name="Reactive Solenoid Max WGDC vs CTS" address="5a228" category="Turbo" type="2D" scaling="WGDuty">
<table name="Coolant Temp" address="5d32a" type="Y Axis" elements="8" scaling="Temp"/>
</table>
Please give these a shot, and report back! Take the usual care and attention.
They will be up on goldenevo.com real quick, I'm sure.

Rich
I use 0W30. Most people don't understand the difference between 0W30 and 10W30. They think that 0W30 will hurt the engine and be thinner at operating temps. The reality is that it is thinner at room temp and the same viscosity at engine operating temps. 10W30 is over twice as thick at 75*F.
I use 0W30. Most people don't understand the difference between 0W30 and 10W30. They think that 0W30 will hurt the engine and be thinner at operating temps. The reality is that it is thinner at room temp and the same viscosity at engine operating temps. 10W30 is over twice as thick at 75*F.
I've thought of using 0w30 in the winter months of Florida. In the summer its so damn hot its not a big deal I use 5w30 but winter we can see some high 20's over night and mid 40's during the day in our coldest part of the year (yea I know that isnt bad compared to what most see
I do know the cold, I am from up north originally).
And heeeeere's some I prepared earlier!...

Code:
tag- SUBR: subr_zero_ec_on_upshift
tag- :
tag- : Inputs:
tag- : r0 = WGDC Error Correction (x-128)/2
tag- : r9 = WGDC Error Correction (x-128)/2
tag- :
tag- : My variables used:
tag- : 0x805082 / 90 82 / -28542 = LastRPM (x*31.25)
tag- : 0x805084 / 90 84 / -28540 = DeltaRPM (x*31.25) - for logging
tag- :
0xfb600: st lr,@-sp -> st r1,@-sp tag- : Push lr, r1
0xfb604: lduh r2,@(-14514,fp) tag- : Load r2 from 0x80874e (RPM)
0xfb608: lduh r1,@(-28542,fp) tag- : Load r1 from 0x805082 (LastRPM)
0xfb60c: mv r0,r2 -> sub r0,r1 tag- : r0 = r2 (RPM). r0 -= r1. r0 is "RPM - LastRPM".
0xfb610: sth r0,@(-28540,fp) tag- : Store r0 (DeltaRPM) into 0x805084 for logging.
0xfb614: ldi r1,#0 tag- : r1 = 0 (or some -ve downshift "rpm drop" threshold)
0xfb618: cmp r0,r1 -> bnc 0xfb628 tag- : If r0 (DeltaRPM) >= r1, Jump to 0xfb628.
tag- : RPM is dropping! But do we have +ve WGDC EC?
0xfb61c: ldi r1,#128 tag- : r1 = 128
0xfb620: cmpu r1,r9 -> bnc 0xfb628 tag- : If r1 (128) >= r9 (WGDC EC) , Jump to 0xfb628
tag- : RPM is dropping, AND we have +ve boost EC. Zero it.
0xfb624: mv r9,r1 || nop tag- : r9 = r1 ... sets r9 to 128, which is "zero" EC.
0xfb628: sth r9,@(-13488,fp) tag- : Store r9 into 0x808b50 - WGDC Error Correction
0xfb62c: sth r2,@(-28542,fp) tag- : Store r2 (RPM) into 0x805082 (LastRPM)
0xfb630: ld r1,@sp+ -> ld lr,@sp+ tag- : Pop r1, lr
0xfb634: jmp lr || nop tag- Retn:------------------------------------------------------

This new subroutine gets called just after the ECU has settled on its WGDC error correction value. Its job is simple... to work out if revs are dropping, and ensure any positive error correction value is zeroed out.
Here's a quick log example...

The purple "WGDC_Corr_blah" data item is the actual %WGDC correction factor. It's maxed out before the WOT upshift (part of the test setup).
Previously, error correction processing would continue through the SST full-throttle upshift, which is just silly. It corrects up, down, around - while revs are dropping like a stone, clutches are slapping in and out, etc. Pointless.
My code just slaps any positive EC factor back to zero. The BWGDC table will be the highest duty cycle used through the upshift.
While this still won't guarantee mild overboost, it will remove any counter-productive positive correction during upshift, and allow the ECU to start from zero EC once revs stop dropping. That second point is worth highlighting... Previously, the ECU had to desperately unwind any "plus" EC before it could make a serious dent in over boost.
This little tweak just makes SST boost control a little bit more sane. I like using some positive upward correction - it makes my boost curves softer at the start. So this will remove a significant downside to enabling upward correction.
One final thing I've noticed. If you set upward EC like this...

...you can find your correction factor wobbling by a small amount. That "88%" seems to relate to the exact percentage you see on your logging... ie. 87% being effective WOT.
Once I found and logged the "actual WGDC error correction" variable, I saw it hopping between 4.5% and 5%. That's because throttle was jiggling around the 86% - 87% mark. Grrr.
If you want upward correction only at WOT, it's better to tweak the scale a bit, I reckon. eg. Change the "88" to something a hair lower...

I can't see this scale being used on any other table, so I reckon it's dead safe to tweak.
Rich
Interesting stuff!
I also have seen the 4.5% - 5% bounce a bit as I changed mine to 5% also (after starting at 10% and going down to 6%) while I've been trying to nail down my error correction and this just lit the light bulb....
I also have seen the 4.5% - 5% bounce a bit as I changed mine to 5% also (after starting at 10% and going down to 6%) while I've been trying to nail down my error correction and this just lit the light bulb....
... or you could just populate the 75 cell to something like 2 or 3. 
Also, I understand the need for clearing out the old positive correction, but you can fix that by having better boost targets in the upper RPM range.

Also, I understand the need for clearing out the old positive correction, but you can fix that by having better boost targets in the upper RPM range.
In any case, thanks for bringing it around!When you have days in Chicago where its 30* one day and -15* the next having code like this is really helpful.
Kudos Richard!




