Maybe it is configured like my early 90’s Corolla, distributor w/electronic ignition, cam and crank timing from sensors sensing the rotation of the distributor shaft. On that vehicle I have to insert a jumper wire so that the ECM goes into a test mode, allowing me to set the ignition timing by rotating the distributor by hand while I look at the timing marks with a timing light on the crankshaft pulley. Then I remove the jumper wire & it goes back into normal operation. If so, in my case there’s no obvious difference at idle between the test mode and normal mode, at least from listening to the engine. There’s a difference looking at the timing marks w/timing light though. In test mode the timing marks are steady. In normal mode they jump around +/- 5 degrees. As mentioned above, that procedure is to set the base timing to the spec’d figure, 10 deg BTC. The ECM assumes that has been done and under that assumption can figure out the actual timing, and adjust it to optimal for various rpms and engine loads.
hmmm … so in OP"s case all that happened was the timing chain was replaced, and now it runs fine in test mode, but not in normal mode? I guess the first thing I’d double check is that the base timing (in the test mode) is being set (the number of degree BTC) to the manufacturer’s spec. If it was set to the wrong advance degrees at idle, this symptom could happen. Beyond that, the parts that have been replaced seem like the correct suspects as hopeful fixes. The entire distributor has been replaced, right? Any carbon tracking on the underside of the distributor cap? Have you inspected the spark plug wires for cracks in the insulation, burn marks where one crosses the other ? Do you see any sparks jumping around if you idle the engine in total dark? Suggest if there’s any doubt to go ahead and replace the dist cap and spark plug wires. There could have been on the verge and disturbing them, changing their routing etc, as part of the timing chain job put them over the edge.
The warm idle rpm is at the manufacturer’s spec, right? The timing is being set w/a warm engine, right?
OP, please explain why the timing chain was replaced? Did it break, or just making noise? Either case, it’s possible a valve or two got scrunched while that was happening. Suggest to test the engine compression to rule that possibility out.
If nothing else seems to work, the timing chain covers are probably going to have to come off again and an experienced mechanic is going to have to take a look-see to verify everything is routed properly, the guides are doing their thing, and the crankshaft and camshaft marks are correctly aligned.
P.S. You say above this is a 1990 k1500, but what engine does it have? it came with four different gasoline engines from what I can see: 4.3, 5.0, 5.7, and 7.4 L