as old Pakistani civics dont have O2 sensors, they can run super crazy rich and still not set a fault code. First check that your Check engine light is actually a true check engine light. It has been seen a lot of times that some electrician piggy backs the check light to the alternator light to actually get rid of it.
For further diagnosis, you should first ensure that the engine is at full operating temperature (half or 40% sweep) meaning the thermostat should be in place and the fan should be running in automatic mode. If your engine still is belching black then test the fuel injectors for leaking after ensuring everything else is fine n dandy - meaning the MAP and TPS are not messed up and the throttle body and idle motor have not been fiddled with too much.