HOW TO: Tune TGP Code :)

(1/2) > >>

I will not be held responsible for any damage, at all, whatsoever that may result from you trying to tune your car.
Read the entire how-to, several times, before even attempting this.

This how-to is for anyone that has a turbo 60V6 with a GM OBD1 socketed ECM

Parts needed:


Chip burner

*Memcal adapter

Memcal Header


*ALDL Cables:

Software (free):
TunerPro RT, download the latest version:

*Memcal adapters and ALDL cables can be found cheaper, this is just what I use.*

NOTE: ALL .bin files below are setup for 22# injectors. if you have a wideband, be sure to use the .bin and .ads that have WB02 datalogging capability.

Stock TGP .bin file w/ 5 speed patch:


Stock TGP .bin file w/ 5 speed patch and WBO2 datalogging capability:


Stock TGP .bin file w/ 3 speed auto patch:


$8F XDF file:


.ads definition file:

.ads definition file with WBO2 datalogging capability:

Cars come tuned from the factory, but there is usually room for improvement. Tuning is meant to be done on a car that does not have any check engine lights, all sensors must be working.

If your car is not running well in stock form, or if you have no idea the last time your filters were changed you need to fix this before tuning.

I would suggest changing the oxygen sensor (might as well get a heated o2), air filter, fuel filter, new spark plugs & wires, test your injectors, fuel pressure, and be sure the ignition system is ok.

If your unfamiliar with tuning read the entire "What is?" section.

What is?

.BIN file:

The bin file contains the entire tune for your car. It is stored in the EPROM chip.

.XDF file:

The XDF allows you to tune certain things in the bin file. For instance, you could have a XDF that allows you to tune everything in the bin (most of it you wouldnt use), or you could have a XDF that allows you to tune only the things you care about.

.ADS file:
The ads file is a definition file used for datalogging. It tells the software how to read the ECM


Block Learn mode. This is often referred to as the "long term" fuel trims. Long term in computer speak is a few seconds


Integrator. Also called the "short term" fuel trims, as in a second or two.

Closed Loop:

Closed loop mode means the engine control module (ECM) measures the A/F (air/fuel) ratio and uses this information to maintain the A/F ratio at a certain constant value. This mode uses feedback from an (oxygen) O2 sensor to close the loop. The A/F that the system tries to maintain is 14.7 to 1. The reason is that a 14.7 A/F ratio allows a catalytic converter to reduce exhaust emissions most efficiently. Engines dont necessarily run the best at 14.7 at all times, but they produce the least emissions with a catalytic converter at this ratio. Also, it just so happens that the standard O2 sensor is most accurate at 14.7 A/F ratio, which gives a good feedback signal.The bottom line is that the ECM control logic tries to maintain a 14.7 A/F ratio during normal conditions. Normal conditions are a fully warmed engine and other than full throttle. Because of closed loop, engines can run for thousands of miles and the EFI system will compensate as the engine wears to keep fuel delivery consistent.

Open Loop:

Open loop mode differs from closed loop in that the O2 sensor is ignored and the engine can be managed to run at A/F ratios other than 14.7, usually richer or lower than 14.7. The ECM controls the fuel injectors without getting any feedback that the calculated fuel delivery rate actually matches what the engine received. Without feedback, the loop is open, hence the term "open loop". A good example of open loop is when the engine is first started on a cold day. It requires a rich mixture to start a cold engine since a lot of the fuel doesnt reach the combustion chamber. This is because a portion of the gasoline doesnt vaporize and pools inside the manifold until engine heat vaporizes the fuel. Another reason that engines run in open loop when cold is that O2 sensors dont work until they reach about 6008 F, so it takes a few minutes in cold weather for them to begin functioning. Open loop is sometimes used at idle conditions since some engines idle better with a rich mixture. In open loop, the ECM commands an A/F ratio that is determined from a table of A/F vs. engine coolant temperature. The open loop A/F is also adjusted to run richer as engine load increases.

PE (Power Enrichment) Mode:

This mode only occurs under wide open throttle conditions and is solely determined by the throttle position sensor (i.e. above say 60% throttle opening.) In this mode, the ECM ignores the O2 sensor and commands a richer than 14.7 A/F ratio. This is because engines develop more power with a slightly richer mixture but not too rich. This is the area of tuning that interests hot rodders the most since PE mode is where the fuel delivery for all out power is determined.

VE (Volumetric Efficiency):

in internal combustion engine design refers to the efficiency with which the engine can move the charge into and out of the cylinders. More correctly, volumetric efficiency is a ratio (or percentage) of what volume of fuel and air actually enters the cylinder during induction to the actual capacity of the cylinder under static conditions

the reason VE is used for tuning, instead of just modifying injector pulse width, is so the ECM can adjust fueling based on temperature. if you were to just modify the pulse width, you would have to retune the car when the weather is warmer/colder from what you originally tuned it for.

the higher the VE, the more fuel added, lower VE is less fuel added. the VE tables are used to fine tune idle and part throttle

Getting started with the Hardware

Install the software for the chip burner and ALDL cable (if its usb and came with drivers).

Get familiar with how to erase/burn a chip

In the Willem EPROM software click on device in the menu bar and select the chip you have.

It will show you how the dip switches should be set in the blue bar, and the jumpers in the right side picture. set these both on the board just like on the screen. you insert the chip towards the bottom of the socket.

if you got the 27FS512 chip, you have to change jumpers between erasing/burning. that information is here:

if you have a AT29C256 chip the jumpers dont have to be changed once set the first time.

there is a row of icons towards the top. on the right side it has the program chip and erase chip icons.

when you are erasing the chip, sometimes you will get an error. this is 'normal' and happens to me alot. I wouldnt worry about it, the chip should still burn.

to burn a chip, click file, load, and select your bin file. then click program chip

when you are programming the chip, make sure it says "Device programmed ok" when its done.


Datalogging records information from the ECM several times per second. it allows you to gather all the information you need to tune.

You need to know which port your ALDL cable is on.

if you are unsure, go into the device manager, then "Ports (COM & LPT)". it will usually say something like 'USB virtual port (COMx)" where X being the port.

In TunerPro, goto tools, preferences. click the ALDL/emulation tab.

Select your COM port and click ok.

now goto tools, ALDL/Data logging, setup

click browse and select the .ads definition file I have attached here.

now click "Edit ALDL Datastream Definition". this lets you change the order of the items datalogged. if you dont do this, everytime you look at a datalog it will be in the default order which is hard to read. so what I do is take the Throttle Position, RPM, MAP Load Variable, BLM, Knock Count and put them together at the top.

click select log file for rec/play. type anything you want for the file name. when it asks create a new one? say yes. the log file will have all your datalogs in it. so for instance if you had 2 different cars you could have seperate log files for them.

connect your ALDL cable to the car. start the car. click connect to ecm. at the bottom it should say ALDL Connected.

now towards the top of TunerPro look for " D V F M " and click F.

check under the trouble codes and make sure everything says OK. the high manifold air temperature might not say OK, dont worry about that.

now look up where it says "loop status" you will notice upon first starting the car the loop status will say open loop. open loop means the o2 sensor is not warmed up yet.

** You need to wait for the car to go into closed loop before datalogging **

my car with a heated o2 goes into closed loop in 2 mins, sitting at idle

once the car is in closed loop press the record button and drive around. you dont need to record any WOT unless if you have a wideband to tune that with.

you only need to record for a couple minutes. click stop when your done. it will ask you to enter session comments. this can be a useful reminder of what you were doing during the datalog.

go back to the ALDL setup screen.

click "Export Selected Session to CSV..."

this is creating the datalog file for you to view. you can view this file with excel or a CSV viewer. it is hard to read with notepad, I wouldnt even try notepad


Ostrich 2.0 Installation

1) Remove your ECM and take the top lid off it (2 torx bolts)

2) Remove the stock memcal and pry the blue cover off it.

3) Remove the stock chip and put the ribbon cable adapter in its place.

4) Plug the ribbon cable into the ECM. plug the other side into the ostrich.

5) Install the driver *first* before plugging the USB cable into the ostrich. the driver comes on the CD in the driver folder.

6) Install Tunerpro from the tunerpro directory.

6a. you need to download the .ads and .xdf files for your ECM. what files you need depends if you boosted or N/A ( $8F and $A1 )

7) In tunerpro goto the Tools, Preferences menu. Click the ALDL/Emulation tab. Make sure disable checksum by uploading (bottom right) is checked

8) Select file, open bin, and choose your bin file. then do XDF, select XDF and .. select your xdf.

9) Click the up arrow (torwards the top of tunerpro). this will upload the bin to the ostrich. make sure you do this before starting the car or it wont start lol.

10. Start the car and begin tuning


Getting started on tuning

There are several different methods you can tune with. This how-to will most likely be changed as time goes on. Feel free to add any info or correct me if im wrong on any of this. Its to the best of my knowledge as of now.

Tuning should be done in the order of:


You want your BLM to be as close to 128 as possible. When the BLM goes up that mean the air/fuel was lean, so the ECM is trying to add fuel. When the BLM goes down its rich, and the ECM is trying to subtract fuel.

A BLM of 128 is the same thing as 14.7AFR

Keep in mind the BLM is only used during idle and part throttle in Closed Loop.

In WOT the BLM is locked at 128 if it was 128 or lower prior to that, and PE mode is used to add extra fuel and spark. if the BLM was higher than 128 prior to PE, it is locked at whatever the last BLM was, and fuel is added according to how lean the BLM was.

You will be tuning the fuel tables so the ECM doesnt have to correct fuel as much.

I need to explain that there is more than one fuel table, so heres what they mean:

FUEL BPC vs. Desired EGR %:

NOTE: This constant makes a HUGE impact on overall fueling. the more you lower this constant, the more you lean out idle, part throttle and WOT.

This fuel table should not need to be modified unless if you are using larger injectors than stock TGP (22#)

Setting up for larger injectors:

if your EGR is disabled and you have larger injectors, under constants/scalars, find "INJ Flow Rate #/hr" set that according to your injector size. then look under "INJ Flow Rate per Single Fire". to get this number, you divide your injector size by 4.28. so for instance if you had 30lb injectors you do 30/4.28=7.00. now go back to FUEL BPC vs. Desired EGR%, change the 0% EGR constant below the original value, burn a new chip, and check the BLM. keep changing the 0% constant until the BLM is between 120-128 at idle.

if you have larger injectors and the EGR is turned on, you would need to lower all the values in this table.

I've found it best to lower this constant until your part throttle BLM's are within range (125-130 or so), then use the idle VE table to adjust idle.


This is your low RPM (idle) fuel table. good table to tune first.
FUEL VE % vs. RPM:

this is your base fuel table. the total VE is taken from this table and the FUEL BP VE vs RPM & MAP table. this table is only RPM specific.


This is your main fuel table. this is where you tune part-throttle and driving under most other conditions except idle

FUEL PE Air / Fuel Ratio:

This is the AFR the ECM will try for in PE mode aka WOT mode. This table also should only be tuned once your VE tables are 100 % tuned. You need a wideband to accurately do this. Only make small adjustments of .10 AFR at a time.

ok, got all that?  :lol:

Calibrating the VSS

your speedo may be off once burning the TGP chip. mine was and I was able to fix it.

you need to find what the "VSS Road Speed Sensor Constant" and "VSS Pulse Divisor" were on your stock chip.

this is under constants/scalars.

having the correct VSS settings is especially important for autos, since the TCC will not work correctly if the ECM is being told the wrong speed.

Disabling the EGR

under constants/scalars, at the bottom, click on "IF COOLANT <= THIS, DISABLE EGR"

drag the slider all the way to the right (151.25)

thats it!


Tuning Part-Throttle

You can tune part-throttle with a narrow band o2 sensor.

you dont want to engage PE mode during the datalogs you will use to tune part throttle. Try to keep the throttle position below 50%

if you have larger injectors than stock TGP, make sure you already tuned your FUEL BPC vs DESIRED EGR to get the BLMs within 125-130 at part throttle. then to fine tune, open the FUEL BP VE vs RPM & MAP table and your datalog. organize the datalog so the throttle position, engine speed, map variable, and BLM are together. this will make it much easier to read.

you want to look for the BLM anywhere its different from 128.

you want to find the highest/lowest BLM's first in the datalog. then you need to calculate what VE would get that BLM closer to 128.

Heres an example:

if the BLM was 137 at 3200 rpm and 35 Map variable it is lean.

look in the VE table and find the corresponding MAP and RPM.

when the BLM is above 128, you want to raise the VE. if the BLM was less than 128 you want to lower the VE.

** the trick to tuning the VE tables is not to modify just one target cell, but the surrounding cells as well. **

change a couple cells in the table, save the bin, and burn a new chip. datalog the car and drive around again. keep doing this until the BLM is at 128, or as close to 128 as you can. The BLM should never be above 128.

remember that a 128 BLM is the same as 14.7 AFR. for idle and part throttle (in the lower MAP & RPM) this is ok. but in the higher MAP & RPM ranges you could have a BLM slightly below 128 (123-128)

Accel Enrichment Tuning

Accel Enrichment refers to sudden part throttle changes. If the engine seems to buck from tapping the throttle at cruise you need to adjust this.

open the "AE Async Pulse Multiplier Vs. Delta TPS" table

this table goes from 0-50% TPS.

start from the bottom and work your way up. do some part throttle runs, and from a cruise speed tap the throttle less than 50% and see how the car runs. if it bucks decrease the values in this table until it clears up.


A/C Tuning

yep thats right, A/C tuning lol. basically when you turn the A/C on, the TGP bin tells the IAC to open a certain number of steps more. I found it was way too many steps and had to turn it down.

open the "Idle Speed A/C Compensation Default Steps" and adjust it until the RPM doesnt change much when A/C is turned on. try it a few times to make sure it doesnt cause stalling.

Tuning WOT

once your VE tables are 100% tuned, and if you have a wideband o2, you can tune your PE mode.

you can actually log wideband o2 AFR right into your tunerpro datalogs. you need the wideband capable .bin and .ads files. then see this article for how to set it up:

The TGP chip usually causes the car to run rich in boost, to the point where its not making ideal power.

The lower the AFR number, the richer it is. for instance, 9.50 AFR is really rich.

6.0 Rich burn limit (engine fully warm)
9.0 Black smoke and low power
11.5 Approximate rich best torque at WOT
12.2 Safe best power at WOT
13.3 Approximate lean best torque
14.6 Stoichiometric AFR (chemically ideal)
15.5 Lean cruise AFR
16.5 Usual best economy
18.0 Carbureted lean burn limit
22+ EEC/EFI Lean burn limit

Everyone has their own opinion on what the 'ideal AFR' is. however there are AFRs where it is too lean that everyone should abide by.

personally I would shoot for something between 11.00 - 11.50 AFR

the more you lean it out (keeping safe of course), the more power you make, but you risk knock the leaner it gets.

work slowly and make adjustments wisely

with a WBO2 datalog, open the FUEL Boost Multiplier vs. MAP table

this table controls fueling directly according to boost. its basically an electronic RRFPR.

put the MAP and WBO2 columns next to each other so its easier to read.

look for the areas where its the richest, and lean it out there first. making small changes to this table will greatly affect fueling!

in order to fine tune WOT AFR, open the FUEL PE Air / Fuel Ratio table

its really that easy, adjust the AFR in .10 increments until your wideband shows the same AFR you wanted.

before boost kicks in you can run a leaner AFR. in your datalog, put the MAP load and engine rpm rows next to each other. find what rpm your boost starts to kick in at. boost is anything over 100kpa.

I suggest setting your AFR to 12-12.5 before boost. then you want to start lowering the AFR right BEFORE boost kicks in.


Spark Advance

spark advance lets you control how efficient the explosion is. when you start to lean out the PE mode, you need to increase spark advance for maximum power. if you dont, EGT temps could be higher also.

the TGP chip in stock form generally runs rich and has lower spark advance than whats optimal.

what you wanna do is increase the spark advance by 1* at a time and always check for knock retard.

keep in mind when you increase spark advance it will run leaner. and when you decrease spark advance it will run richer.

fuel and timing go together. after making changes to the spark advance table, you should go back and check your part throttle BLM's.

be careful when increasing the spark advance. theres alot of power to be gained by doing it, but if you go and start adding 5* here and there you could have detonation (spark knock). the knock sensor will retard timing if theres knock, but if theres too much initial spark advance it could be too late. basically the same thing with fuel. if it was too lean initally, it could be too late for the o2 sensor to tell the ECM to richen it.

Scott we have had problems with "others" when people post the 8F definition so im gonna delete it untill you get an OK or not from Kenny as this is his site.

just we have had issues legally with having it posted on the site.

PM kenny ASAP please

Awesome write up too but gotta check with Kenny on some of the links as i mentioned above :)

ok I PM'd Kenny about it

if you guys see anything wrong with this how-to please let me know! I've been working *along time* on it and overall it should be ok

but with the $8F code being so complex im sure theres somethings that will be corrected/added so feel free to let me know  :icon_cool:

I knew there was a reason I saved everything the instant I saw it 8)

great write up man, much appreciated.


[0] Message Index

[#] Next page

Go to full version