ISCV control system disassembly
Here is what I have done so far to try and make an educated guess on what parameters may be in a demand% table that we haven't found. Whatever this table is, it is only a starting point for the demand% and it appears that it expects the short trims to take over to make the rest of the adjustments since once the engine starts, the demand% doesn't move until restart at a different coolant temp. For this reason, I shut off the car and restarted it and logged the initial demand% starting point at each of the coolant temps listed below. This was done with EVERY known table zero'd out except the IDLE STEPPER TABLE.
I used the coolant temp tables used in all of the other idle tables as my target temps to try and build this curve. I started at 68*f as this was the lowest temp I could start logging at.
coolant temp scaling:
-26
18
45
68
93
122
171
180
Demand%
-26F
18F
45F
68F 18.0392%
93F 14.5098%
122F 8.62745%
171F 6.27451%
180F 6.27451%
Hex8
-26F
18F
45F
68F 2E
93F 25
122F 16
171F 10
180F 10
I don't know if that combination of code can be found easier in the 9417 rom or if this data is a combination of more than one table still. The coding is still something I have yet to have time to dive into heavily.
Also, I'm not sure if the address' are correct for the following tables either. The IATS table uses a coolant temp scaling instead of IAT temp and the right column is definitely not the correct address.
The Baro table is all 100% demand so I expect that to be incorrect as well.
-ISCV Demand IATS Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]
-ISCV Demand Baro Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]
The IATS temp scaling seems like it would use an address like 689e
-Jamie
I used the coolant temp tables used in all of the other idle tables as my target temps to try and build this curve. I started at 68*f as this was the lowest temp I could start logging at.
coolant temp scaling:
-26
18
45
68
93
122
171
180
Demand%
-26F
18F
45F
68F 18.0392%
93F 14.5098%
122F 8.62745%
171F 6.27451%
180F 6.27451%
Hex8
-26F
18F
45F
68F 2E
93F 25
122F 16
171F 10
180F 10
I don't know if that combination of code can be found easier in the 9417 rom or if this data is a combination of more than one table still. The coding is still something I have yet to have time to dive into heavily.
Also, I'm not sure if the address' are correct for the following tables either. The IATS table uses a coolant temp scaling instead of IAT temp and the right column is definitely not the correct address.
The Baro table is all 100% demand so I expect that to be incorrect as well.
-ISCV Demand IATS Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]
-ISCV Demand Baro Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]
The IATS temp scaling seems like it would use an address like 689e
-Jamie
That would be great, although its possible that the 9417 rom I'm testing and the 8859 rom may have different values. It sure can hurt to test it though.
Also, I generally see between 8.63-9.02 Demand% at idle (22-23 steps in the Idle Stepper Table) which makes sense since the unknown table is 6.27% and the Initial ISC Steps table is 2.75% at 180*F. 2.75+6.27=9.02 Demand%
Actuivating the BISS adjustment feature in evoscan seems to disable the unknown table that I am in search of. Hamish uses 0xC3 to deactivate it with the 'CUSTOM REQUEST" box in the bottom left corner of evoscans screen, that may be a way to source out this unknown table MrFred.
-Jamie
Also, I generally see between 8.63-9.02 Demand% at idle (22-23 steps in the Idle Stepper Table) which makes sense since the unknown table is 6.27% and the Initial ISC Steps table is 2.75% at 180*F. 2.75+6.27=9.02 Demand%
Actuivating the BISS adjustment feature in evoscan seems to disable the unknown table that I am in search of. Hamish uses 0xC3 to deactivate it with the 'CUSTOM REQUEST" box in the bottom left corner of evoscans screen, that may be a way to source out this unknown table MrFred.
-Jamie
Last edited by Dynotech Tuning; Dec 20, 2012 at 03:26 PM.
MrFred, look into address 4316 for the 9417 rom.
With this table zero'd out, the demand% is locked at 6.27%. It definitely is addative to the Intial ISC Step table.

-Jamie
With this table zero'd out, the demand% is locked at 6.27%. It definitely is addative to the Intial ISC Step table.
Code:
<table name="Unknown Idle Table #1" category="Idle" address="4316" type="2D" level="1" scaling="ISCV_AX2_8"> <table name="Coolant temp" address="67a2" type="Y Axis" elements="8" scaling="Temp"/> </table>

-Jamie
Last edited by Dynotech Tuning; Dec 20, 2012 at 10:53 AM.
OK MrFred...
So after some thinking and poking around in the code (which I absolutely suck at BTW, I tip my hat to you coding guru's), I have decided the the most beneficial PRIORITY item would be to see if there is a SHORT TERM 'Demand Trim' that accompanies the 'Demand Trim AC OFF' and Demand Trim AC ON' parameters.
I can clearly see the actual ISC demand change in increments seen in the 'IDLE ERROR' tables. It would be nice to see how soon the short term trims come into play so we can adjust the idle tables accordingly.
EDIT: if we can at least log the target demand %, we can then create a formula to show how much demand% is added or removed from the target demand % in the tables vs. the 'actual' demand % that we log now.
-Jamie
So after some thinking and poking around in the code (which I absolutely suck at BTW, I tip my hat to you coding guru's), I have decided the the most beneficial PRIORITY item would be to see if there is a SHORT TERM 'Demand Trim' that accompanies the 'Demand Trim AC OFF' and Demand Trim AC ON' parameters.
I can clearly see the actual ISC demand change in increments seen in the 'IDLE ERROR' tables. It would be nice to see how soon the short term trims come into play so we can adjust the idle tables accordingly.
EDIT: if we can at least log the target demand %, we can then create a formula to show how much demand% is added or removed from the target demand % in the tables vs. the 'actual' demand % that we log now.
-Jamie
Last edited by Dynotech Tuning; Dec 28, 2012 at 03:21 PM.
I've been trying out something similar to Domyz's ISCV stepper table (capped at 64) for a few days now along with stock ISCV demand tables. The occasional surge I was getting at idle with AC on is now gone, so that's great, however when idling with the AC off it sometimes starts surging from 1100 to 600, enough for the oil light to flicker sometimes. Cold starts are also not quite right still, but not in the same way that they were before. I'll see if I can improve it at all with some minor changes to either demand and/or stepper tables.
I've been trying out something similar to Domyz's ISCV stepper table (capped at 64) for a few days now along with stock ISCV demand tables. The occasional surge I was getting at idle with AC on is now gone, so that's great, however when idling with the AC off it sometimes starts surging from 1100 to 600, enough for the oil light to flicker sometimes. Cold starts are also not quite right still, but not in the same way that they were before. I'll see if I can improve it at all with some minor changes to either demand and/or stepper tables.
About your idle that suddenly drops to 600rpm, did you log that event?
Why don't you guys adjust the Initial ISCV tables instead of messing with the Idle Stepper Table that is referenced by a million things?
There are 3 things that can affect idle stability. Fuel variances when teetering between cells (must be careful with SD tuning), timing variances in the same manner, and ISCV variances. Its more common to be a fuel or timing thing than it is to be the ISCV.
-Jamie
There are 3 things that can affect idle stability. Fuel variances when teetering between cells (must be careful with SD tuning), timing variances in the same manner, and ISCV variances. Its more common to be a fuel or timing thing than it is to be the ISCV.
-Jamie
Last edited by Dynotech Tuning; Dec 28, 2012 at 08:13 PM.
Why don't you guys adjust the Initial ISCV tables instead of messing with the Idle Stepper Table that is referenced by a million things?
There are 3 things that can affect idle stability. Fuel variances when teetering between cells (must be careful with SD tuning), timing variances in the same manner, and ISCV variances. Its more common to be a fuel or timing thing than it is to be the ISCV.
-Jamie
There are 3 things that can affect idle stability. Fuel variances when teetering between cells (must be careful with SD tuning), timing variances in the same manner, and ISCV variances. Its more common to be a fuel or timing thing than it is to be the ISCV.
-Jamie
Why don't you guys adjust the Initial ISCV tables instead of messing with the Idle Stepper Table that is referenced by a million things?
There are 3 things that can affect idle stability. Fuel variances when teetering between cells (must be careful with SD tuning), timing variances in the same manner, and ISCV variances. Its more common to be a fuel or timing thing than it is to be the ISCV.
-Jamie
There are 3 things that can affect idle stability. Fuel variances when teetering between cells (must be careful with SD tuning), timing variances in the same manner, and ISCV variances. Its more common to be a fuel or timing thing than it is to be the ISCV.
-Jamie
The million of things that reference the stepper lookup never need the steps to go any higher than 75 maybe 80. There is no situation where the steps will need to higher than that. There is no problem messing up with the high demand% part of the stepper lookup table. Trust me we experience some very cold start and between 70 and 80 steps is enough for the car to start. I don't see any other situtation other than this that would need 80+ steps. The lower demand part of the map is left stock. I can live with that for sure.
Do you know any car that has the stepper table stock that would idle like this:
Cold start at 25F, 3 weeks ago old ISCV tune but still very good (I posted this video at page 15):
And I got IDA pro and started to seriously learn how the ROM work. I already know the assembler programming from school years, so the mountain isn't as high as it seemed at first.
Last edited by domyz; Dec 28, 2012 at 11:11 PM.
I actually tune evo's every day that idle like stock under all weather conditions (we get close to 0*F winter mornings here) without touching the idle stepper table. I adjust the Intial Step tables though. Cars will definitely see higher than 80 steps under certain conditions, especially high altitude. Maybe not in your local area but you might find issues if you go on a trip at much high elevations. You're locking your tune to one geographic area, which is fine, but it may be an issue in other climates. I prefer to have the adjustability still available. As we find more tables it will be easier to determine which tables are the correct ones to adjust for certain scenario's though.
-Jamie
-Jamie
Last edited by Dynotech Tuning; Dec 29, 2012 at 07:35 AM.
I actually tune evo's every day that idle like stock under all weather conditions (we get close to 0*F winter mornings here) without touching the idle stepper table. I adjust the Intial Step tables though. Cars will definitely see higher than 80 steps under certain conditions, especially high altitude. Maybe not in your local area but you might find issues if you go on a trip at much high elevations. You're locking your tune to one geographic area, which is fine, but it may be an issue in other climates. I prefer to have the adjustability still available. As we find more tables it will be easier to determine which tables are the correct ones to adjust for certain scenario's though.
-Jamie
-Jamie
I've been trying out something similar to Domyz's ISCV stepper table (capped at 64) for a few days now along with stock ISCV demand tables. The occasional surge I was getting at idle with AC on is now gone, so that's great, however when idling with the AC off it sometimes starts surging from 1100 to 600, enough for the oil light to flicker sometimes. Cold starts are also not quite right still, but not in the same way that they were before. I'll see if I can improve it at all with some minor changes to either demand and/or stepper tables.
Guys, didn't want to clutter these posts earlier, but did want to let you know I am reading this intently and following/learning. There were some comments about less 7-9 development and focus on the X, so I just wanted to let you know you aren't in this thread between yourselves. I am not at your skill levels, but I am willing to test log anything to confirm something for the process. I have the exact same issue as raptors on occasion, but always when temps are already high. Keep up the work and thanks! 
I actually tune evo's every day that idle like stock under all weather conditions (we get close to 0*F winter mornings here) without touching the idle stepper table. I adjust the Intial Step tables though. Cars will definitely see higher than 80 steps under certain conditions, especially high altitude. Maybe not in your local area but you might find issues if you go on a trip at much high elevations. You're locking your tune to one geographic area, which is fine, but it may be an issue in other climates. I prefer to have the adjustability still available. As we find more tables it will be easier to determine which tables are the correct ones to adjust for certain scenario's though.
-Jamie
-Jamie
Care to share an example of which initial tables and how steps you've bumped it.
I'm still having a hard time getting by the 1st few minutes of cold start on 94171715



