Diagnostic Code 12 on a 1995 Grand Cherokee just means that your battery has been dead or disconnected within the last 50 ignition cycles.
The check engine light on a 2005 Jeep Grand Cherokee looks like this... Here is a link Check Engine Light It looks like a little yellow engine.
A flashing check engine light normally means you have a misfire.
Disconnect the negative battery cable for about two minutes and that should reset your check engine light.
There are pages and pages of things that can cause a check engine light. You need to have it checked with a scantool. Then the code can be diagnosed and repaired.
Misfire? Due for a tune up? Check engine light on?
May want to check flexplate, could be cracked.
That totally depends on engine size. Check the VIN numbers and cross reference the transmission by using one of the available VIN number decoders online.
To reset the check engine light on a 1998 Jeep Grand Cherokee, you can disconnect the battery for about 15 minutes. This will clear the engine codes and reset the light. Alternatively, you can use an OBD-II scanner to clear the codes directly. However, if the underlying issue is not resolved, the light may come back on.
Check fan relay
There are pages and pages of things that can cause a check engine light. You need to have it checked with a scantool. Then the code can be diagnosed and repaired.
That is the check engine light.
probably u-joints on driveshaft