Click HERE for Legal Disclaimer

Select From the Drop-Down Menu to View Section or Use Index Below




Accelerator / Cruise Control3.000
Air Conditioning9.000
Audio Provisions9.000
Axle, Front Drive6.000
Axle, Rear5.000
Body Electrical Systems13.000
Body Mounting9.000
Body Ornamentation12.000
Body Panels & Components12.000
Body Parts, Front8.000
Brake Systems4.000
Brakes, Rear Drum 5.000
Bumpers (for Grilles, see below)7.000
Chassis Electrical Systems2.000
Convertible Hardware14.000
Convertible Trim13.000
Cooling Systems/Fans1.000
Door Hardware10.000
Engine Oil Systems1.000
Engine / Transmission Mounting0.000
Floors, Load11.000
Frame / Components7.000
Front / Rear Lamps2.000
Fuel Systems3.000
Heater & Components8.000
Instrument Clusters9.000
Instrument Panel10.000
Interior Lamps11.000
Interior Trim14.000
Level Control7.000
Quarter Hardware11.000
Rear Compartment Trim15.000
Roof / Deck Lid Options12.000
Seat Belts14.000
Seat Hardware11.000
Spare Wheel & Jack8.000
Steering Systems & Components6.000
Suspension, Front6.000
Suspension, Rear7.000
Tailgate / Liftgate Hardware12.000
Transmission & Controls4.000
Vacuum Pump3.000
Wheel & Trim5.000
Windshield Wiper / Washer10.000
Wiper / Washer, Rear12.000


Diagrams & Part Number Tables Copyright General Motors Corporation. All Rights Reserved. Reproduced by Permission.

1227730 Basic Tuning and Features Q&A

There seem to be many questions which reoccur on the GMECM list with respect to understanding, implementing, and tuning the 1227730 / $8D code, and locations of some common tables / constants in the code.   Here I will attempt to cover some BASIC points about parameters and functions.  I will NOT cover editor choices, there's as many as there are opinions.  It's really a personal preference and dependent on the hardware you run.

All info here is available from/in the GMECM archives.  This is just a compilation of it, and some of it is from off-list discussions.    I don't claim to be an expert but this is what I've learned, understand to be correct, and has worked for me.   A better guide to TUNING would be "Tuning Tips" found on the GMECM website, and "Programming 101".   There are two archives, an older one here and newer one here.  Yes, these are files you will have to download and search yourself.    Notepad works pretty good if you're a windows user, if you're a Unix user you probably know 'grep' and 'more'....

Grabbing a copy of the anht_hac.pdf from the website HERE would be a good idea, so you can refer to it as you read along.  Think of this document as a "Cliff's Notes" for the anht_hac.  ANHT is a aluminium head 'vette calibration for the 1227727 ECM, which is a 1227730 ECM in a underhood package so the anht_hac is also good for the AUJP cal.  AUJP is a common F-body TPI  auto trans calibration for the 1227730 ECM.

Always remember that you can command fuel and spark such that you can hurt things.   The ECM does as its told - garbage in, garbage out.


Q1: What do I need to get started tuning? 
Q2: What does the ECM need to know about my motor/trans/car combo? 
Q3: What are the basic modes of operation of the '730 ECM?. 
Q4: How is spark control handled? 
Q5: What about this PE  stuff? 
Q6: What about TCC (Torque Converter Lockup)? 
Q7:  What about the cooling fan(s)? 
Q8:  My BLM's are in the xxx range, what do I do? 
Q9:  How do I disable VATS? 
Q10: How do I calculate the checksum? 
Q11: How do I tell the ECM I have a magnetic VSS instead of a optical VSS? 
Q12: Can I use a V6 memcal and just burn a V8 calibration into it? 
Q13: Do I really need a VSS sensor? 
Q14: Do I need a Heated 02 sensor? /  What one should I use? 
Q15: Wiring, grounds, power, notes. 
Q16: What is Highway Fuel Mode?

Errata / Notes / Thanks / Disclaimer

N.B.: The "$Lxxxx" values you may see below are refering to a location (in hex) in the anht_hac.   All values in the calibration binary are in hexidecimal, not binary.

Q: What do I need to get started tuning?

A good intro on this is at the GM_ECM FAQ, which is located HERE  but here's a short list.

First and formost, all variables related to the engine should be minimized.   By this I mean the ignition system is fresh or in very good condtion, timing is set correctly, fuel pressure set to stock, fuel pump able to deliver proper volume.  [Thanks BW]  Chip tuning won't fix a burned valve, fouled plug, intake gasket leak or blown rings.

Second a good understanding of what a engine needs to run.   Remember when you bolted that 750 double pumper on your first car, then wondered why you couldn't even sqeak the tires off a light anymore?   The same rules apply here, bigger and more is not always better.   Go re-read Tuning Tips again, it's all in there.

Third is a really good notebook and a bunch of pencils to take notes.

Lastly, a EPROM programmer/reader, tuning software (or for the advanced kids, just a hex editor), and a scan tool, preferrably one that has the ability to do datalogging.

Back to the Index

Q:  What does the ECM need to know about my motor/trans/car combo?

The ECM only does what it's told to do.  If you let it think you've got a  200ci engine with 36lb/hr injectors it will try to make it run, but probably won't run too good.  The ECM cannot correct for lack of proper planning.

The ECM doesn't know about your rear end ratio, tire size, or vehicle weight.  Those are handled in the tuning of fuel and spark tables, just like the carb days.    It DOES know two very basic factors which are sometimes overlooked.  They are the size of the engine, and the size of the injectors being used.

Engine Displacement:

  • Found at location $86DD-$86DE.
  • It is the volume of *ONE* cylinder, in liters.
  • The acutal value (in hex) found in the table is (liters per cylinder  * 223.157) [directly from the anht_hac.pdf].

Injector Size

  • Found at location $841C-$841D.
  •  The value is  the size of *ONE* injector in seconds per gram of flow.   Yes this seems confusing, but that's what it is.  The amount of time it takes for the injector to flow one gram of fuel.
  • The acutal value (in hex) found in the table is ((SEC/GRAM * 256) * 5) [directly from the anht_hac.pdf].

Let's have a look at the value for a 24lb/hr injector:

  • There are 454 grams to 1 pound, so a 24lb/hr injector == 10896 grams/hr.
  • Dividing by 60 gives you 181.6 grams / minute
  • Dividing by 60 again gives you 3.026 grams per second.
  • To find how many seconds it takes to flow 1 gram of fuel, we divide 1 by 3.026, giving us .330 seconds for 1 gram of fuel to flow out the injector.
  • So the value at $841C-$841D for a 24 lb injector would be ((.330 * 256) * 5) =  422,  converted to hex of course.

Pressure has a direct effect on flow.   If you alter the fuel pressure from stock, you alter the flow rate of the injector.   There are formulas to find the new vs. old flow rate, HERE is one that I've used.

Back to the Index

Q:   What are the basic modes of operation of the '730 ECM?.

1. Open loop / car cold -

    The ecm is running purely on the information in the calibration, not using any input from the 02 sensor to correct the AFR.   The Integrator (short term fuel correction) will be locked at 128.

2.  Closed loop (car @ running temp, using O2 sensor for controlling AFR)

    This is the normal operating mode when engine is warmed up, no error codes present, and using the 02 sensor to try and run the commanded AFR, usually 14.7:1.  "Usually" since the value for stoich AFR can be changed from 14.7 to whatever you want.  (That's a topic for advanced tuning, not covered here).  The Integrator and BLM will be changing, or allowed to change.

3. Closed loop - PE (car @ temp, TP% > XX% => add fuel via YYY & lock BLM)

This is PE (Power Enrichment) mode.   The ECM adds fuel and timing for additional power above a certain throttle opening vs rpm.  The amount of fuel and spark are tuneable, as are the PE enable points.    When in PE the ECM no longer trys to achieve the 14.7:1 AFR, but rather a specifed deviation from 14.7:1.   The sign of being in this "closed but open loop" is that the Integerator is locked to 128, preventing any ECM fuel correction from occuring.     Most scan tools will report "closed loop" even when in PE.

4. Limp home mode

This is controlled by the two resistor packs under the knock filter in the MEMCAL in the event of a ECM failure or hard error.

The Integrator and BLM are your two gauges to determine what corrections the ECM is doing to change the fuel in response to the 02 sensor.   The Integrator is a short term correction, whereas the BLM is a long-term correction.   When everything is perfect, both will be at or near 128 meaning that the ECM is not correcting the fuel at all. 

Back to the Index

Q: How is spark control handled?

There are (for simplicity's sake) 2 modes of spark control once the engine is running.  Under a set RPM (400 rpm for a stock ANHT), the ecm does not control the spark.    There is a minimum temp, mph, and  rpm enable for knock (ESC) control. Stock settings in AUJP are 25deg. F, 2 mph, 650 rpm.    Adjustment of these is a topic for advanced tuning.

1.  Open loop / Closed loop cruise - ECM adds spark as commanded in the main and extended spark tables.  If detonation is detected from the knock sensor, timing is retarded as commanded in knock retard tables

2.  PE - ECM adds spark as commanded in the PE spark table.  As above, if detonation is detected, timing is retarded.

Back to the Index

Q: What about this PE  stuff?

PE refers to the additional fuel and spark which is added to the values in the existing fuel and spark tables.  There are two tables for PE enable, one for normal coolant temps ($L6803 - $L6807) and one for high coolant temp ($L6808 - $L680C).    The high coolant temp value, 245 deg F stock, is at $L8602.

Both tables are indexed by %TPS vs. RPM, meaning that PE is enabled if at a certain RPM "X" the %TPS exceeds a certain amount.  Yes, you can set PE to come on at 1000rpm and 10% tps.   Would it be a good idea?  Probably not....

The table at $L8617 is the heart of PE fueling.   It is indexed by RPM vs. % change in AFR.   Here you are setting the target AFR at a specific RPM.    The value in the table is a percentage change from 14.7:1.   Higher numbers mean a richer mixture.   From the anht_hac, the value in the table is  ((% CHG * 1.28) + 128).    For example a 6.25% change in AFR ( approx 13.7:1 AFR) would corrospond to a value of 136 in the table.

NOTE:  due to the fact that standard 02 sensors are only accurate (and not very accurate at that) at 14.7:1 AFR, so if you specify a 12:1 AFR, you're going to get something CLOSE to it.    A WB02 (wide-band 02) is the only way you'd really know what your actual AFR is.

PE Spark is found in a table at $L81B3.  It is indexed by RPM and spark added in degrees.  From the anht_hac, the amount added is ( SA * 256/90 ) where SA is in degrees.

It's important to have the basic tuning correct, with the BLM values at or near 128 prior to tuning PE.  If prior to entering PE mode the BLM is above 128 the fuel correction is applied along with the PE fueling.  If it is below 128, the BLM is brought up to 128 and then PE fuel applied.

Back to the Index

Q: What about TCC (Torque Converter Lockup)?

TCC and related controls start at $L8311, it's really a lot easier to edit these settings with a good editor.

The ECM has two sets of tables for lock/unlock, one is "lower gears" meaning all but overdrive, and "high gear" which means the top gear, overdrive in our case.      The ECM commands lock/unlock by comparing the TPS  value to EITHER engine RPM or vehicle MPH.    Most commonly MPH is used.

For the ECM to go from unlocked to lock:

For a given MPH "X"  and  the TPS is below a certain level (25% is a good example), allow lockup.

If for that same MPH "X", the TPS is above 25%,  the TCC would not be allowed to lock if it was in a unlocked state.

For the ECM to go from lock to unlocked:

Case 1: 
If for that same MPH "X", you exceed a certain TPS point (70%, for example), then if the converter was locked the ECM will command it to release.

Case 2: 
If the converter is locked and the TPS changes a by a certain amount within a preset time, it will momentarily unlock the converter.

TCC lock/unlock points are a very subjective calibration, and depend highly on your particular setup along with your driving style.    There's really no right or wrong, just what works for you and your combo.

Back to the Index

Q:  What about the cooling fan(s)?

The ECM can control one or two fans.   For each fan, there is a temp to turn on, and a temp to turn off.

For Fan 1:

$L8378  Fan 1 Turn On Temp   (Stock is 220f) 
$L8377  Fan 1 Turn Off Temp  (Stock is 226f)

For Fan 2:

$L837A  Fan 2 Turn On Temp   (Stock is 235f) 
$L8379  Fan 2 Turn Off Temp  (Stock is 220f)

For both fans, the value at the location is ((DEG C+40) * (256/192))  [Directly from anht_hac]

There are other modifiers for fan control, they are a topic for advanced tuning.

Back to the Index

Q:  My BLM's are in the xxx range, what do I do?

This is really covered in Tuning Tips but briefly, a BLM above 128 indicates a long term lean condition, the ECM is adding fuel over the base calibration.   A BLM below 128 indicates a long term rich condition, the ECM is removing fuel from the base calibration.

The idea is to change the VE tables to get the BLM as close to or just below 128 as possible.   If your BLM's over the entire range are high or low, you should probably address that first.  A slight tweak of the fuel pressure or even the injector constant might bring everything into line.

High BLM (using a BLM of 140  and VE table value of 65 as an example):

    1.  Divide the BLM value by 128,   result  1.09 
    2.  Multiply the BLM value at that RPM/kpa point by 1.09 ;     (65 * 1.09) = 71.09 
    3.  Enter that new value in the table, repeat a test run.

Low BLM (using a BLM of 110  and VE table value of 65 as an example):

    1.  Divide the BLM value by 128,   result  1.16 
    2.  Divide the BLM value at that RPM/kpa point by 1.16 ;     (65 / 1.16) = 56.03 
    3.  Enter that new value in the table, repeat a test run.

Note that you'll usually need to "buffer" (that's what I call it) the values around that specific cell a little to make everything work.   This is something that you'll develop a feel for.   For example, if the math shows to reduce a specific cell by 10, you might drop that cell by 5, drop the surrounding cells by 3.   This is where a logging scan tool comes in handy so you can tell if you're lean/rich as you approach/leave that one (yeah right, only one) problem VE cell.

Remember that changes in spark advance can alter the BLM, since spark timing directly affects the completness of the combustion cycle.

Back to the Index

Q:  How do I disable VATS?

Change bit 7 of the value at location $8016 to zero.

Back to the Index

Q: How do I calculate the checksum for the calibration?

The checksum is found at $L8006-$L8007.  It is the checksum of $L8008 thru the end of the file, $L7FFF.  You can use your editor (some do it automatically) or burner to calculate the checksum.  If you do not calculate it, you'll get a error code upon startup.

Back to the Index

Q: How do I tell the ECM I have a magnetic VSS instead of a optical VSS?

Change bit 6 of the value at location $8018 to zero.

Back to the Index

Q: Can I use a V6 memcal and just burn a V8 calibration into it?

The easiest answer is NO.    If you insist, it can be done but in the end you will loose ESC and limp-home.    Ask yourself it it's really worth it  for the $80 you'll pay for a brand new memcal from your GM dealer.    If you decide you really need to do this, the details are in the archives.

Back to the Index

Q: Do I really need a VSS sensor?

Yes.  TCC, EGR, ESC and others won't work without it.  You'll also eventually set a error code without it.

Back to the Index

Q: Do I need a heated 02 sensor? What one should I use?

This depends on where your 02 sensor is located.  If it's in a stock location then probably you don't need it.  If you've moved it signifigantly from a stock location, eg more than 12" from the exhaust manifold outlet, then you probably should use one.   You can't go wrong using a heated 02, and using one will let the ECM get into closed loop faster than a non-heated one-wire.

This topic comes up often on the GMECM list.

Ideally, you should use a GM sensor.  There is a listing on the website of part numbers.   The 4-wire units incorperate a sensor ground; 3 and 1 (non heated) wire units use the exhaust as the ground return.    Very often gaskets, sealers, and coatings (headers) can interfere with the ground path so a 4-wire is a good idea.   At the least, adding a ground to the shell of the 02 sensor is a good idea.

A common color coding for heated 02's is:

    White pair - heater (12 volts) 
    Black - signal to ECM 
    Grey - signal ground (on a 4 wire unit)

Back to the Index

Q14: Wiring, grounds, power, notes.

Wiring should be routed as far as possible from RFI sources, like plug wires, coils and motors.   If it must come close to RFI sources, try and route the wires perpendicular to the source to minimize induced RFI.    Bad alternator diodes can induce AC in to the power and cause headaches.     A good rule is that if you get  the "WV8" station on your radio (you know what I mean), you've got a problem.

Grounds are just as important as power leads in a EFI system.   It is best to try and bring all sensor and engine grounds to a common *clean* point on the engine block to reduce ground loops.    Chevy engines are notorious for ground problems at the common point on the water outlet.

All connections should be clean, soldered, tight, and protected.   The ECM does corrections on injector pulse width based on voltage, so it should be right.     If you put a voltmeter across a connection and find more than a .2 volt drop the connection or component should be replaced.    This is a common problem when retrofitting EFI to older cars which have had time to build up corrosion on connections, or just simply don't have heavy guage wiring.

Back to the Index

Q: What is Highway Fuel Mode?

Highway fuel and spark modes are two modes in which under certain specific condtions the ECM allows the fuel mixture to be leaner than the 14.7:1 AFR required for optimal operation of the catalytic converter.  Think of it as PE mode in reverse.  Highway is disabled by default in almost all calibrations since once the EPA found out GM's little trick they quickly stopped them from using it since it's a "emissions defeat".   Before even thinking of trying Highway mode, GET EVERYTHING ELSE RIGHT!  This really can't be stressed enough, since if you don't you'll chase your tail trying to get it to work.


As the name suggests, Highway fuel is meant to work only during crusing conditions.   There are several qualifiers to allow entry into Highway fuel mode.  By default, highway fuel is disabled by setting the minimum MPH for highway to 255mph, at $L8484.

The ECM is designed to go in and out of Highway mode, to keep the 02 sensor alive and also presumably to allow the ECM to get a reference point on AFR.     Highway mode is enabled for X seconds at $L8483, then turned off for Y seconds at $L8482 before re-entering Highway mode.

$L8482  HM lockout (delay before re-entering HM),   acutal value in seconds   (default 10) 
$L8483  HM maximum enable period (max time in highway fuel mode),  acutal value in seconds (default 60)

If the MAP exceeds a certain amount, disable highway mode

$L8480  Disable Highway if MAP kpa > value;  acutal value in kpa

If MPH is less than a specified MPH, disable highway (default is 255mph, I found 45mph to be good)

$L8484;  Disable Highway if mph < value; acutal value in mph

A/F Ratio table for Highway mode table.  The value for all is (AFR/10)

$L8485; AFR at 30 kpa 
$L8486; AFR at 40 kpa 
$L8487; AFR at 50 kpa 
$L8488; AFR at 60 kpa


Highway mode spark is controlled by it's own set of entry/exit parameters, starting at $L81A8.

The table at $81AB is indexed by KPA vs. spark added in degrees.

These are very well documented in the anht_hac.

Back to the Index

Errata / Notes / Thanks / Disclaimer

As stated in the opening, all the info contained here can be found in the archives and on reoccuring discussions on the GMECM list.   Hence, credit really goes to the numerous GMECM list members who contributed to it.   The main goal of this document is to provide a convienient reference point for the common questions that come up the GMECM list that often get a "it's in the archives" answer.

There is still a TON of information not covered here, like IAC (idle air control) settings, EGR, Canister Purge, voltage corrections, ect.

Disclaimer:  I've never tuned a Chevy TPI motor.   But I got a 1227730 to run a 403 Olds motor in a '71 Cutlass , thanks to a ton of help from the list.   ;^>

This document may NOT be sold or reproduced in whole or part, for a profit or fee.

-> Bob 

Back to the Index