Please note: With modified injector latency values (see
this thread), my NSX can now idle stably AFTER the PGM-FI has learned how it needs to adjust the fuel trims or whatever it does behind the scenes. If I disconnect the battery and the PGM-FI forgets the adjustments it had learned to make for my specific engine, the engine will stumble and die at idle unless I continually massage the gas pedal. After the PGM-FI has re-learned whatever it needs to, then the idle is fine again.
Interesting. Just so I understand:
Cold Start; No Learning = Dies without throttle
Warm Start; No Learning = Dies without throttle
Cold Start; Learned Trims = Starts normally
Warm Start; Learned Trims = Starts normally
Is that right?
I ask because there are different phases of the starting process regarding injector pulsewidth. When you first turn the key, the ECU applies the cranking pulsewidth to the fuel injectors, which is set out in the "CTS vs. Cranking Base Pulsewidth" chart in the definition. It's a simple 2-row chart that increases fuel as coolant temp decreases. For example, on a cool fall day when the coolant temp is 46.4 F, the ECU will apply a 50ms base pulsewidth. That's a ton of fuel, relatively speaking. Like everything else, this base pulsewidth is modified before a final pulsewidth makes it to your injector. One modifier is the barometric pressure, though the scaling is a little odd. Apparently, if you are starting your NSX somewhere where the barometric pressure is 19.47 In/hG or lower (e.g., over 10,000 ft altitude), it will reduce the cranking pulsewidth by 16.47%. But, I'm guessing you're not starting your NSX at the top of the Alps.
So, let's assume we're still at a 50ms final pulsewidth. Next, the ECU will look for RPM. If the RPM is less than 152, the ECU will apply a multiplier ("CTS vs. CrankingFuelMult Under ThreshA"), which is apparently 0% for all temperatures. LOL. Between 152 and 399 RPM, nothing seems to happen, but once the RPM hits 400, another multiplier hits ("CTS v.s CrankingFuelMult Over ThreshB"). On our cool fall day at 46 F, that means it will reduce the pulsewidth by 10.2%, so the injector will see 44.9ms. What's interesting here is that there appears to be no multiplier related to fuel trims. I suppose this explains why your NSX fires up and THEN dies.
I think your problem lies in the after start phase of the starting sequence. At a certain RPM (which I still can't find), the ECU will determine that the engine has started. At that point, it looks like the ECU will apply a multiplier to the pulsewidth ("AfterStartEnrichMult") and then decay it over time as the engine transitions to idle. At 46 F that is 239%. What is not clear is WHICH pulsewidth is being adjusted. Is it "CrankingFuelMult Over ThreshB"? That was the last pulsewidth the injector was getting. If so, we're now at 107.311ms (44.9 x 2.39). This seems unlikely to me, since again, LTFT/BLM is not taken into account. Instead, maybe the ECU switches over to the base fuel tables and applies the multiplier to those pulsewidths. It's not clear in the definition. Either way, the intent appears to be to dose the cylinders with a burst of fuel to "catch" the engine to stop it from dying and then gradually decay it off until it gets to the idle pulsewidths. I think your problem is here. When unlearned, the "AfterStartEnrichMult" is just running off the table and it's apparently not enough gas to keep the engine from dying unless you add fuel via the throttle. If the ECU is adding the learned BLM multiplier to the base able first and THEN enriching it further via the AfterStartEnrichMult, you're getting enough gas to keep the engine from stalling. Of course, this assumes the ECU is applying the fuel trims to the base idle tables, which is not evident from the definition. I really wish Matt would release his fueling chart so we could know what is truly going on.
In light of the above, you could try adjusting your AfterStartEnrichMult higher in 5% increments, resetting the ECU each time to make sure there is no LTFT interference in the pulsewidth. That might add enough fuel to avoid you having to use the gas pedal when starting. Question: did you tuner re-scale all of the pulsewidth tables in the definition, or did he just adjust the base fueling tables?