I have a 1980 898 MerCruiser I/O with a Rochester 2 Barrel on it engine serial number 5496339. Last fall the boat ran good. The end of April before launch the distributor and coil were replaced to update the ignition system. Went from points to HEI after that change the boat ran great for about two months. Last fall the spin on fuel filter was replaced and the gas is fresh. Now all of a sudden the engine will idle ok but will not run above around 2000 rpms and also back fires on hard acceleration. I have eliminated the boats gas tank temporally and hooked up a good outboard tank to eliminated problems like a bad anti siphon valve that changed nothing. Also while someone else drove the boat I sprayed carburetor cleaner in the carburetor to see if the engine was running lean. When that was done the engine only ran worse. The accelerator pump is spitting out gas when the throttle is advanced and the carburetor does not seem to be flooding over. The base timing is at 8 degrees before top dead center and is advancing when the rpm increases. Even though the engine ran good for two months I did double check the firing order 18436572 clockwise rotor rotation twice because others have been in the boat and the firing order is correct. Someone else did change the fuel pump it is pumping gas so I guess the new pump was installed correctly. Any ideas on why this engine is back firing and will not run over 2000 rpms under a load.