ISCV control system disassembly
Would be nice to have a parameter tied to the factory sas routine. But..either ac switch since I don't have an ac unit or rpm based . Generally speaking 3000 rpm will be the lower bounds of my als set up . So the demand adder for rpm could work just as well. You would have to engine brake the rpm below 3000 to get normal idle which is fine for me.
Is the table with demand vs cts that correlates to ac on drive a table that used for ac on vs cts? 8858 is still primitive for idle development. These tables hopefully get a correct name soon. Ac sw on vs cts demand ac off vs cts demand etc
Is the table with demand vs cts that correlates to ac on drive a table that used for ac on vs cts? 8858 is still primitive for idle development. These tables hopefully get a correct name soon. Ac sw on vs cts demand ac off vs cts demand etc
-Jamie
oooh.. so I would need to find resistance of a proper operating range for that switch and insert!
gonna be -10 tomorrow for me.. hopefully the oddysey pc680 has it in it! started a little hard today at 4*
PS: I have S2 cams, and I was tuning the ISCV table for a long time to get my idle going. The spot Im at now is stock ISCV table, and TPS on my FB throttle body right on the edge of idle mode. I forget the percentage..
gonna be -10 tomorrow for me.. hopefully the oddysey pc680 has it in it! started a little hard today at 4*
PS: I have S2 cams, and I was tuning the ISCV table for a long time to get my idle going. The spot Im at now is stock ISCV table, and TPS on my FB throttle body right on the edge of idle mode. I forget the percentage..
Last edited by 211Ratsbud; Jan 22, 2013 at 12:49 PM.
A good tip is to adjust your idle timing and BISS at 180*F+ first, ideally, then back track. Otherwise you won't have enough ISC range for hot starts on bigger cams. Try to adjust it at the factory Intial ISCV demand settings. From the factory, the ISC is about 18-25* open and the maximum it will open above 171* is 83% (100 steps).
Last edited by Dynotech Tuning; Jan 22, 2013 at 04:28 PM.
rats: this may be a comment we already covered, but are you certain that thing isn't leaking slightly? Mine was a goose chase until I did a proper boost leak test and found that thing leaking.
I'm adding this here since most people are having trouble with startup and focus only on ISCV parameters but thats only 33% of the things you need to focus on. You need to focus on ISCV, Fuel and Timing. All 3 affect idle stability.
I will start by showing the 4 main fuel parameters during startup.
Injector IPW While Cranking Starter:
This is the parameter that squirts the first large burst of fuel to get the engine to initially start. This should only be in effect while the starter signal is being read by the ECU (pin #71 on evo 8's). It also locks the ignition timing to 5* while this wire is engaged. If someone wants to track down the table that locks the timing at 5* during startup, I'd really like to find that since higher timing can make startups faster with big cams.
MAF Scaling Enrichment #1 & #2:
This multiplies the normal High Octane Fuel value to compensate for the colder combustion chamber temps and may not be able to completely ignite the fuel mixture so more fuel is added to ensure the desired amount of fuel actually ignites.
Post-Cranking Enrichment Adder #1 & #2:
This adds a certain amount of fuel to the High Octane Fuel value x MAF Scaling Enrichment. (The High Octane fuel map is actually just a MAF scaling multiplier table. The formula just make it be seen as a more familiar AFR value. Change the scaling from 'AFR' to 'EnrichmentADJ' to see the actual scaling.) We add additional fuel for the first few seconds after the engine initially starts to help stabilize the engines combustion.
Post-Cranking Enrichment Decay:
(I still need to confirm which one is correct with datalogs)
This table determines how long the Post-Cranking Enrichment Adder takes to taper back down to just the High Octane Fuel value x MAF Scaling Enrichment value.
Some of these tables are already defined, I just relabeled their name to be a bit more self-explanatory.
9417:
The ISCV system works in the exact same manner, almost a mirror image. I just need to confirm one or 2 more tables tomorrow before I can make a small write-up for that portion.
If the car won't start at all, even for 1 second, the problem is area #1.
If the car starts and immediately dies, the problem is area #2.
If the car starts, runs for a few more seconds and then dies, the problem is area #3.

-Jamie
I will start by showing the 4 main fuel parameters during startup.
- Injector IPW While Cranking Starter
- MAF Scaling Enrichment
- Post-Cranking Enrichment Adder
- Post-Cranking enrichment Adder Decay
Injector IPW While Cranking Starter:
This is the parameter that squirts the first large burst of fuel to get the engine to initially start. This should only be in effect while the starter signal is being read by the ECU (pin #71 on evo 8's). It also locks the ignition timing to 5* while this wire is engaged. If someone wants to track down the table that locks the timing at 5* during startup, I'd really like to find that since higher timing can make startups faster with big cams.
MAF Scaling Enrichment #1 & #2:
This multiplies the normal High Octane Fuel value to compensate for the colder combustion chamber temps and may not be able to completely ignite the fuel mixture so more fuel is added to ensure the desired amount of fuel actually ignites.
Post-Cranking Enrichment Adder #1 & #2:
This adds a certain amount of fuel to the High Octane Fuel value x MAF Scaling Enrichment. (The High Octane fuel map is actually just a MAF scaling multiplier table. The formula just make it be seen as a more familiar AFR value. Change the scaling from 'AFR' to 'EnrichmentADJ' to see the actual scaling.) We add additional fuel for the first few seconds after the engine initially starts to help stabilize the engines combustion.
Post-Cranking Enrichment Decay:
(I still need to confirm which one is correct with datalogs)
This table determines how long the Post-Cranking Enrichment Adder takes to taper back down to just the High Octane Fuel value x MAF Scaling Enrichment value.
Some of these tables are already defined, I just relabeled their name to be a bit more self-explanatory.
9417:
Code:
<scaling name="PostCrankEnrich" units="ms" toexpr="x*0.024" frexpr="x/0.024" format="%.3f" min="0" max="6.12" inc="0.024" storagetype="uint8" endian="big"/> <table name="Injector IPW while cranking starter (Main Maps)" category="Startup Fuel" address="56ae" type="2D" level="3" scaling="TimeInjCranking"> <table name="Coolant Temperature" address="67bc" type="Y Axis" elements="9" scaling="Temp"/> </table> <table name="Injector IPW while cranking starter (ALT MAPS)" category="Startup Fuel" address="3924c" type="2D" level="2" scaling="TimeInjCranking"> <table name="Coolant Temperature" address="67bc" type="Y Axis" elements="9" scaling="Temp"/> </table> <table name="MAF Scaling Multiplier vs Coolant Temp #1" category="Startup Fuel" address="3722" type="2D" level="1" scaling="EnrichmentAdj"> <table name="Coolant Temp" address="67bc" type="Y Axis" elements="9" scaling="Temp"/> </table> <table name="MAF Scaling Multiplier vs Coolant Temp #2" category="Startup Fuel" address="3712" type="2D" level="1" scaling="EnrichmentAdj"> <table name="Coolant Temp" address="67bc" type="Y Axis" elements="9" scaling="Temp"/> </table> <table name="Post-Cranking Enrichment #1" category="Startup Fuel" address="3732" type="2D" level="1" scaling="PostCrankEnrich"> <table name="Engine Temp" address="67bc" type="Y Axis" elements="9" scaling="Temp"/> </table> <table name="Post-Cranking Enrichment #2" category="Startup Fuel" address="3742" type="2D" level="1" scaling="PostCrankEnrich"> <table name="Engine Temp" address="67bc" type="Y Axis" elements="9" scaling="Temp"/> </table>
If the car won't start at all, even for 1 second, the problem is area #1.
If the car starts and immediately dies, the problem is area #2.
If the car starts, runs for a few more seconds and then dies, the problem is area #3.

-Jamie
Without logging your AFR during your post-cranking area, its hard to say if you need more or less fuel. Generally you need more fuel in the colder climates so I would start by adding about 20% more fuel (to table #2 listed above) and seeing if it seemed to be the right direction to be going or not.
Did you log your ISC steps or demand too?
There is a new table I came across in the coding that determines how much the ISC stays open just after cranking the starter. I have it for the 9417 rom but we'll need someone to find it in the 8859 rom for me. I am hoping to get my new thread posted today but I'm actually home sick today so IDK if I will feel up to it today.
-Jamie
Did you log your ISC steps or demand too?
There is a new table I came across in the coding that determines how much the ISC stays open just after cranking the starter. I have it for the 9417 rom but we'll need someone to find it in the 8859 rom for me. I am hoping to get my new thread posted today but I'm actually home sick today so IDK if I will feel up to it today.
-Jamie
Without logging your AFR during your post-cranking area, its hard to say if you need more or less fuel. Generally you need more fuel in the colder climates so I would start by adding about 20% more fuel (to table #2 listed above) and seeing if it seemed to be the right direction to be going or not.
Did you log your ISC steps or demand too?
There is a new table I came across in the coding that determines how much the ISC stays open just after cranking the starter. I have it for the 9417 rom but we'll need someone to find it in the 8859 rom for me. I am hoping to get my new thread posted today but I'm actually home sick today so IDK if I will feel up to it today.
-Jamie
Did you log your ISC steps or demand too?
There is a new table I came across in the coding that determines how much the ISC stays open just after cranking the starter. I have it for the 9417 rom but we'll need someone to find it in the 8859 rom for me. I am hoping to get my new thread posted today but I'm actually home sick today so IDK if I will feel up to it today.
-Jamie
edit: are you refering to the table at 4316 in 9417?
Last edited by domyz; Jan 24, 2013 at 09:43 AM.
ISCV Post-Cranking Initial Demand Adder
9417:
This does the exact thing as table #2 in my drawing above, only for airflow instead of fuel.
-Jamie
9417:
Code:
<table name="ISCV Post-Cranking Initial Demand Adder" 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
ISCV Post-Cranking Initial Demand Adder
9417:
This does the exact thing as table #2 in my drawing above, only for airflow instead of fuel.
-Jamie
9417:
Code:
<table name="ISCV Post-Cranking Initial Demand Adder" 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
After 2 hours of searching in 8859 I'm having hard time to link the two ROMS... Short story: Still haven't found the post cranking demand table for 8859..
Conclusion: It could be coded with different logic that make impossible to trace the table with Xrefs.I would need to understand all the code and I'm far from there at this day. With the way I work I will take about 6 hours to search the entire ISCV routine.
Long story: I tried different approachs:
In 9417: Tracing back an already known table, that's close in the ROM (close in term of closest mother sub). I choosed Demand Startup Adder IIRC.
Finding a common mother subroutine for the startup Adder table and the Post cranking table.
From the way the code leads to that mother sub I can work my way with 8859 and find that same mother sub adress.
From that mother sub I followed it down the same way it leaded to the Post cranking table in 9417.
It leads to 1db22 in the 8859 ROM. There is no table lookup there.
I tried a second approach:
I also checked everything that leads to sub_c28(table lookup) related to the mother sub of Post cranking 9417. Not any sub leads to the Post cranking table.
Some IDA details about what I did:

Second conclusion: I have much to learn. My brain is burned down for today.
Conclusion: It could be coded with different logic that make impossible to trace the table with Xrefs.I would need to understand all the code and I'm far from there at this day. With the way I work I will take about 6 hours to search the entire ISCV routine.
Long story: I tried different approachs:
In 9417: Tracing back an already known table, that's close in the ROM (close in term of closest mother sub). I choosed Demand Startup Adder IIRC.
Finding a common mother subroutine for the startup Adder table and the Post cranking table.
From the way the code leads to that mother sub I can work my way with 8859 and find that same mother sub adress.
From that mother sub I followed it down the same way it leaded to the Post cranking table in 9417.
It leads to 1db22 in the 8859 ROM. There is no table lookup there.
I tried a second approach:
I also checked everything that leads to sub_c28(table lookup) related to the mother sub of Post cranking 9417. Not any sub leads to the Post cranking table.
Some IDA details about what I did:

Second conclusion: I have much to learn. My brain is burned down for today.
Last edited by domyz; Jan 24, 2013 at 03:34 PM.
^^^ Some more energy in IDA dissasembler and I think I've found it. I still need to confirm it but it's definitely related to demand%. My searching lead me to 54f4.
In the program, it's located just before the test / branch to Post WOT CTS Adder. It will need testing.
The table looks similar to VIII:

This could be confirmed easier than code crawling if I had an Evo IX and Evoscan
In the program, it's located just before the test / branch to Post WOT CTS Adder. It will need testing.
The table looks similar to VIII:

This could be confirmed easier than code crawling if I had an Evo IX and Evoscan
Last edited by domyz; Jan 24, 2013 at 05:57 PM.
^^^ Some more energy in IDA dissasembler and I think I've found it. I still need to confirm it but it's definitely related to demand%. My searching lead me to 54f4.
In the program, it's located just before the test / branch to Post WOT CTS Adder. It will need testing.
The table looks similar to VIII:

This could be confirmed easier than code crawling if I had an Evo IX and Evoscan
In the program, it's located just before the test / branch to Post WOT CTS Adder. It will need testing.
The table looks similar to VIII:

This could be confirmed easier than code crawling if I had an Evo IX and Evoscan







