Something we do every day multiple times a day without much thought. It's supposed to be simple right? Turn key, spark plugs fire, injectors spray some fuel, compression builds, fuel ignites and we are off right? Simple!
Well.... The way Mitsubishi set it up, turns out there are some factors we never even thought to consider.
So the ECU has an input which gets grounded when you turn the key to the starting position. This tells the code you have engaged the starter. This is what I call "Cranking mode". In Chrome V2 I put everything together into one section called "Startup". In V3, I've separated (and renamed) the tables which are used in Cranking Mode and Startup Mode.
While in Cranking Mode, the code doesn't care what size injectors you have, what the MAF is saying or even what your battery voltage is. It simply holds the injectors open for a certain amount of time. How long depends on the temperature of the coolant. I call this the Base Cranking IPW. In Chrome V2 I had the scaling wrong for this table. It's been corrected for this version.

Now at this point the engine is spinning. A healthy stock starter with a healthy battery typically spins the motor around 250rpms. You'd think the code would simply use the starter input pin to differentiate Cranking mode from "running mode" but it doesn't. It goes off the RPM value read by the crank sensor. Anything less than 344 rpms the code considers this Cranking Mode. The engine isn't considered Started until the rpms climb to 438 rpms.

In theory, your engine should be able to start without the code seeing the Starter input. Haven't tested this yet (beta tester?). Guessing this is a carry over from the 80s before they setup a starter input to the ECU.
Note there's a differentiation based on coolant temp. In the VR4, SL Montero and Padjero ROM, all these values are the exact same. Even our 4 cyl counter parts share these values. At one point in the past, maybe Mitsu must have had an issue starting motors while cold but that issue was resolved and the code was never updated. Just the values were all fixed. I'm guessing older engines might have had different strength starters or maybe the throttle body fuel injection had issues? Who knows...
Just think.... If you wanted to run some aftermarket starter/transmission in your car, being able to edit these values maybe handy! Some GM starters spin the motor at 450rpms!
What's also crazy every ROM has different size fuel injectors yet all these tables are the same.... I never edited these values even when running 660cc fuel injectors too. You probably will never need to edit any of these tables till you get into the large 1200cc injector range. Curious to hear feedback from tuners about this.
Also note that there is a correction factor from the Base IPW value depending on the true RPM of the motor while the starter is cranking it over.
Mathematically the way this works is if it's 45 degrees outside and the temperature of the coolant in your motor was 45 degrees, the ECU will hold the injectors open for 44.5 milliseconds but only if the starter is turning the motor over at 100rpms. At 250 rpms, you'll only see about 80% of that number while the engine is cranking.
I've tested this over and over on a few cars to verify this math is correct.
One last factor is the Fuel Injector time limit. The ECU will only spray fuel for 15 seconds to prevent flooding the motor.

So the code has another mode which to start the engine and that instead of RPM (crank speed) it uses ignition stroke counts (measured by cam speed). I played with these tables for years before I figured out they were disabled in the ROM...

You're welcome to play with them. I labeled them according to what their function is in the ROM. I'm not sure which vehicles use Stroke based startup vs RPM based startup but it wouldn't surprise me if you enabled these and the stock settings worked. These values are shared across multiple ROMs.
During cranking mode ignition timing is a fixed value which never changes. I've never experimented with advancing it to assist with starting.

This folks is everything involved with just cranking the engine... I'm out of time for today but will pick this up again soon.






