So long story short, I bought this vehicle a little over a year ago with minor problems including the cel on. A couple months ago, out of no where, it stopped running at a stop light. It ended up being the opti (no surprise there). I replaced that along with the water pump. It's now running after I replaced the opti but running a little rough. I also got a chance to buy a scan tool. The other problem is that I'm getting codes that are not making sense. I'm getting codes 42, 43, 44, 45, 51, 53, 54, 55. After scanning the codes I replaced the plugs, wires, icm, fuel filter, fuel pump but still the same. I would think at least one these codes would cause a no start. Any ideas? Thanks in advance.

Your DTC's are not valid..A 55 can not occur if you have a 44 or 45, can't get a 54 using 5.7 L code. Code 51 says PCM is getting internal CRC errors (bad code or bad PCM) and 53 says your voltage to PCM exceeded 17 volts. I really think you have incorrect software/firmware in your scanner or it's not working correctly. I would reset PCM (pull fuse or battery) for a few mins. Reconnect fuse or battery, w/key on engine off scan it again w/o starting the engine. Look to see if any codes come up. If you get a 51 your PCM code or PCM is corrupted..That's catastrophic, all other codes are invalid if you have a DTC 51. By the way NONE of the other codes should set w/o the engine running, if they set w/o starting the engine and w/o a code 51 then your scanner is misleading you or your PCM (very rare coinsurance) is bad.

Alright, now I have an idea where to look at and thanks for answering (I've been getting a lot of idk's lately lol.) I used an Innova obd1&2 scan tool. I know the scan tool is good because it's new and I used on another vehicle with a preknown cel. The codes listed are the ones showing on the pcm. The strange thing I've never seen is that I can't delete them. I removed the pcm fuse already and left it off overnight and still got the same codes before I started the vehicle as if they were "saved." That v6 code really throws me off. The car does run (rough) with these codes on which also doesn't make sense. Bad PCM?

Might want to read the owners manual for your scanner. I've noticed that some obd1 & obd2 scanners state in their manual, they read SELECT obd1 cars. Translated to everyday language, this means they scan some obd1 cars and don't work on other obd1 cars.
If you find this is the case, the Actron CP9145 will read your 94. But you will either have to buy the CP9127 12 pin GM dlc adapter or wire up your own. The CP9145 sells on amazon and ebay for around $140.

Another thing, if when you get the correct dlc list, keep in mind that a code is not always caused by the stated component. The wiring, connectors, engine grounds, pcm grounds, 5 volt reference from pcm, etc, can also cause a code to set.

Alright, narrowing it down. I ended up replacing the pcm, knock sensor, and the icm and I still get the same 8 codes. I want to start with code 42. Anyone know exactly which of the 4 wires would cause this dtc?

DTC says there are no pulses (activity) on PCM pin B5 to the ICM after "84 crankshaft" revolutions. Line should sit at +5 volts key on eng off then have 0.5 volt pulses (advanced opti low res signals) to fire the coil when engine is cranking or started. Test of this circuit is to use voltmeter set to AC and look at pin B for 1-4 volts when cranking. This circuit failure DTC 42 says no pulses for 84 revolutions. The circuit level at the PCM end stayed at +5v (open) or ground (shorted). The engine cranks at about 400 RPM so it takes over 15 seconds to set the DTC, if it does not start, shorter time if it kicks over. Causes are defective ICM, open/shorted wire from PCM to ICM, missing ground or voltage at ICM.

ICM is just a voltage amplifier, similar to a Capacitive Discharge (CD) System. The ICM gets ground from black wire ground stud on front of left head to pin C, +12 volts from the coil pin B to ICM pin A, ICM feeds coil pin A a 200+ volt pulse from pin D, and pin B sits at +5 V reference from PCM and then PCM drops circuit to a .5 Volt pulse that triggers the ICM to fire pin D.. Not very complex..

NOTE.... DTC 42 requires 84 crankshaft revolutions (15 opti hi res pulses or 336 opti low pulses) to set. If you powered off PCM, then turned key on w/engine off this DTC will NOT set. If you replaced PCM and DTC still sets w/o engine cranking 15 seconds or starting up AND the scanner is correct AND the code load is correct..then problem is somewhere else. Bad voltage/grounds to PCM, critical noise in circuit from opti to PCM that PCM is counting as engine revolutions. This would show in tach movement w/o engine running, fuel pump running w/o engine started, etc.. when you changed PCM where did it come from.. Did you load code or use what was on it ? I'm still not 100% sure of your scanner and/or code load.. DTC 51 is a giveaway..

I appreciate your response and providing those links Bob. I'm going to test those circuits next and start looking at grounds. The pcm I bought came from Spare ECM. I'm not getting any weird electrical problems like the fuel pump going off or the tach moving with KOEO. The reason I want to start with dtc 42 is because I keep seeing that it is somehow related to code 51. I'm not sure what you mean by "code loading." I do get the same codes with both pcm's. I'm also guessing that these codes have nothing to do with the opti since it was just replaced (hopefully not a defective opti even though it runs.)

I'm also gonna try a different scan tool just in case mine is bad even though it's new (bought it for this reason.)

Like steveo said, it's probably just your scanner. I went through this a few months ago with an Innova. I had been using GaryDoug's scanner program and had one code that was known, DTC 18. One day we were trying to figure out how to fix DTC 18, but I didn't have my laptop available, so we hooked up my brother's Innova scanner. It gave out a lot of codes, almost the exact ones posted in this thread, except no code 18. Me and Gary went through some diagnostics and confirmed the Innova codes were 100% wrong.