'92 GM ECM Modding

When putting a junkyard 305 from a 1992 F-Body into a 1983 Firebird TransAm, one of the many considerations is VATS, the vehicle anti-theft system, in the ECM of the '92 engine. VATS basically consistes of the key (specifically a resistor in the key), the ECM, and a separate VATS module. With the correct resistor in the key (or wired into the ignition system to avoid needing one in the key) and the key turned to start, the ECM will enable the the starter relay. The VATS module will then send a 30 or 50Hz pulse (depending on model) to the ECM, triggering the ECM to enable the fuel injectors. One way around VATS is to inline the proper resistor and build a circuit to bypass the VATS module and feed the correct pulse into the ECM to enable the fuel injectors. Another way is to disable VATS in the ECM ROM. Since the ECM takes a 27C256 EPROM, which is commonly used in gear of the era (such as Commodore 64/128, NES carts, etc.) and I'm already setup to work on those, I chose the ROM mod method. This documents the pieces required.

Required Components

PROM Image Selection

So which of the many images out there should you use as the basis for your VATS disabling or other modifications? Your ECM should have a 4 letter code on it identifying which image it used originally. The one used here was AXXB. Here is a list of what I know about the images:

MEMCAL Modification

The stock EPROM is soldered into the MEMCAL socket directly. You're going to have to remove the EPROM by desoldering it, relatively easily done with copper desolder braid and a soldering iron. Once removed, I recommend soldering a socket in its place so you can easily insert and remove the burned EPROM rather than soldering the EPROM directly back in place. A stock 28pin EPROM socket will be too tall and you'll have difficulties closing the case on the MEMCAL with both the socket and the EPROM installed. A low profile socket is preferred.

PROM modification

The ECU file describes what what the values at specific locations within the ROM image do, and in some cases what the possible values are. This file is then read by WinBin, and is then used when editing the specified ROM image. WinBin isn't the most user friendly application, but it gets the job done. WinBin edits the ROM file directly, it will not save the modified image to a different file, so you may want to back up the original image for safe keeping. After selecting your image and the ECU file, first select which tab to use (the first & default tab is where VATS can be found), then select what you want to edit from the drop down menu at the top of the tab. This will cause the current value of the selected option to be displayed and is able to be edited.
When done editing the image, click the calculate checksum button at the bottom of the screen, and save the image. Use this image in your EPROM burning software.

Check Engine Light

On early third generation f-bodies (82-84 in particular), the check engine light goes through a separate driver circuit which can interfere with the check engine light signal from the ECM. Check your wiring harness to make sure the check engine light does not go through this driver circuit. Wiring harnesses from Painless typically include a separate check engine light, other harnesses might not. If your wiring harness does not have a separate check engine light, you can modify the stock check engine light socket. The socket has 2 prongs that make contact with the instrument cluster when installed. Place electrical tape over the contacts on the instrument cluster side, and solder wires from the vehicle's switched hot and ECM check engine light to the prongs of the socket.

With this socket modification, the check engine light will come on during bulb test, and stay on until the engine has started and is in error free operation.


Obviously, begin with ensuring the ROM image correctly disables VATS. The VATS enable bit is bit 4 of byte 0x16. The checksum will also need to be recomputed for the computer to recognize the image as valid. On Mac OS X or most unix systems, hexdump -C will help you out here to verify the VATS bit is 0.
Once the image has been burned, use your burner to verify the image was burned successfully.
With the chip installed, does the starter crank? If not, there is likely a problem with the image, rom, or other wiring.
If the engine cranks but won't actually start, look at the injectors. First, verify the injectors are getting 12V in both the RUN and START ignition positions. The injectors should be powered from the Pink wire coming off the ignition, which is hot in RUN, bulb test, and START ignition positions.
If the injectors are powered correctly and the engine still won't start, use a noid light to verify the injectors are being activated with the ignition in the START position.
If the injectors are powered and firing correctly, then VATS has successfully been bypassed and is activating the injectors correctly. Check the fuel pressure to the injectors, spark or timing, and fuel delivery can be verified by pulling a spark plug and putting a piece of paper or other fuel absorbing material in the cylinder while cranking to verify fuel is reaching the cylinder.

Temperature Sensor:
The Engine Coolant Temperature (ECT) and most every other temperature sensor in the vehicle is a thermistor, basically a resistor that varies resistance with temperature. If you're concerned whether a temperature sensor is working correctly, shorting the temperature sensor wires should register the highest measurable temperature. This can be useful for verifying the ECM is properly enabling the fans and registering the temperatures correctly. Leaving the wires/connector disconnected will register the lowest measurable temperature. The fans should remain off in this case, the engine will run in closed loop mode.

Updated May 8 2010