Your list of things to check is good; but I would add:
When you say "give it gas" - on a fuel injected vehicle, what you are doing is opening the throttle which is actually giving it air, not gas. It's the computer that gives it gas. So, your friend's observation that there's a lot of smoke when it finally starts could mean the computer has been giving it too much gas, not too little. By opening the throttle, you're giving it more air which may help balance the mixture.
A few things could cause too much gas when starting a warm motor:
1. The cold start injector is operating (when it shouldn't)
2. Fuel pressure is too high
3. The TPS or VAFM is mistakenly informing the computer that the throttle is open too much/too much air is going into the motor.
For the cold start injector, test the cold start injector time switch - see instructions in the factory manual (google 1993 toyota pickup service manual if you don't have one)
For fuel pressure, you'll have to have the pressure tested - especially during the conditions when it has trouble. Print out the Fuel Pump section of the fsm and insist that the person who does the test run the test with the fuel pressure regulator vacuum hose attached AND unattached. There should be a difference at idle (the fuel pressure vsv is supposed to reduce fuel pressure at idle by applying vacuum to the pressure regulator - check that pressure at idle reduces to the specified level (33-37 psi) when the vacuum hose is attached.
TPS and VAF meter. Search forum for info on checking both. In addition to making sure all the terminals are in spec in all the sensor positions, you need to make sure the resistance changes smoothly as the throttle (tps) or vane (vafm) are slowly opened and closed, and that there are no spikes in resistance, and no dropouts.
Other things to check:
EGR - it's not supposed to open at idle - if it does, it will cause stumbling and rough running. To test, pull the vacuum hose on top of the egr valve and plug the hose - see if there's a difference in starting.
Clogged injectors - these cause all kinds of havoc with mixture as they get deposits on the end - easiest way to clean is using Red Line SI-1 Complete Fuel System Cleaner (only product left that still has a good amount of polyether amine (PEA), the most effective injector cleaning chemical). Add a bottle to 2/3 to 3/4 tank gas, and run down to 1/8 tank, then add another bottle and fill gas again to 3/4 tank and run again to 1/8 before refilling tank. Sometimes SI-1 won't do the trick. In that case, when you have fuel pressure tested, have the shop feed some of the concentrated injector cleaner right into the fuel rails. That is more effective. Sometimes injectors are so bad they must be removed and ultrasonically cleaned, but if your injectors were that bad you'd be having more trouble than you are.
O2 sensor is hard to check - the computer will give you a code 21 if the heater in the sensor is shot, and it will give you a 25 if sensor volts are below .45 volts for 90 seconds or more (lean condition) and a 26 if above .45 for 90 secs (rich). You can do the diagnostic on VF1 and E1 in the check connector (see factory manual) to make sure the sensor is switching at least 8 times in 10 seconds between 0 and 5 volts (normal operation). A sensor that is not switching between lean and rich almost once a second is considered to be a "lazy sensor" and needs to be replaced.
However - even if the sensor is properly switching back and forth, the computer has no way to know if the O2 reading reported by the sensor is correct: as the sensors get coated with carbon, they start to read leaner than the exhaust really is, causing the computer to add more fuel than is necessary, and making the motor run too rich.
The only way you can know if the O2 reading is correct is to attach an exhaust analyzer. For this reason, if the sensor has over 90k miles, you should just replace it. Denso is the best bet, if you can afford; if $$ is tight you can try an NGK (NTK). sparkplugs.com has good prices.
When you say "give it gas" - on a fuel injected vehicle, what you are doing is opening the throttle which is actually giving it air, not gas. It's the computer that gives it gas. So, your friend's observation that there's a lot of smoke when it finally starts could mean the computer has been giving it too much gas, not too little. By opening the throttle, you're giving it more air which may help balance the mixture.
A few things could cause too much gas when starting a warm motor:
1. The cold start injector is operating (when it shouldn't)
2. Fuel pressure is too high
3. The TPS or VAFM is mistakenly informing the computer that the throttle is open too much/too much air is going into the motor.
For the cold start injector, test the cold start injector time switch - see instructions in the factory manual (google 1993 toyota pickup service manual if you don't have one)
For fuel pressure, you'll have to have the pressure tested - especially during the conditions when it has trouble. Print out the Fuel Pump section of the fsm and insist that the person who does the test run the test with the fuel pressure regulator vacuum hose attached AND unattached. There should be a difference at idle (the fuel pressure vsv is supposed to reduce fuel pressure at idle by applying vacuum to the pressure regulator - check that pressure at idle reduces to the specified level (33-37 psi) when the vacuum hose is attached.
TPS and VAF meter. Search forum for info on checking both. In addition to making sure all the terminals are in spec in all the sensor positions, you need to make sure the resistance changes smoothly as the throttle (tps) or vane (vafm) are slowly opened and closed, and that there are no spikes in resistance, and no dropouts.
Other things to check:
EGR - it's not supposed to open at idle - if it does, it will cause stumbling and rough running. To test, pull the vacuum hose on top of the egr valve and plug the hose - see if there's a difference in starting.
Clogged injectors - these cause all kinds of havoc with mixture as they get deposits on the end - easiest way to clean is using Red Line SI-1 Complete Fuel System Cleaner (only product left that still has a good amount of polyether amine (PEA), the most effective injector cleaning chemical). Add a bottle to 2/3 to 3/4 tank gas, and run down to 1/8 tank, then add another bottle and fill gas again to 3/4 tank and run again to 1/8 before refilling tank. Sometimes SI-1 won't do the trick. In that case, when you have fuel pressure tested, have the shop feed some of the concentrated injector cleaner right into the fuel rails. That is more effective. Sometimes injectors are so bad they must be removed and ultrasonically cleaned, but if your injectors were that bad you'd be having more trouble than you are.
O2 sensor is hard to check - the computer will give you a code 21 if the heater in the sensor is shot, and it will give you a 25 if sensor volts are below .45 volts for 90 seconds or more (lean condition) and a 26 if above .45 for 90 secs (rich). You can do the diagnostic on VF1 and E1 in the check connector (see factory manual) to make sure the sensor is switching at least 8 times in 10 seconds between 0 and 5 volts (normal operation). A sensor that is not switching between lean and rich almost once a second is considered to be a "lazy sensor" and needs to be replaced.
However - even if the sensor is properly switching back and forth, the computer has no way to know if the O2 reading reported by the sensor is correct: as the sensors get coated with carbon, they start to read leaner than the exhaust really is, causing the computer to add more fuel than is necessary, and making the motor run too rich.
The only way you can know if the O2 reading is correct is to attach an exhaust analyzer. For this reason, if the sensor has over 90k miles, you should just replace it. Denso is the best bet, if you can afford; if $$ is tight you can try an NGK (NTK). sparkplugs.com has good prices.