Tailor made patches?

Ludis Langens ludis at cruzers.com
Mon Oct 25 21:07:15 GMT 1999


rr wrote:
> 
> (yep on the sub, have'ta to do a couple of calcs, and return
> with the results.

You probably don't want to use JSR/RTS.  That'll need two extra bytes of
stack space.  The C3 ECMs tend to be very tight on stack space.  Many of
them even have a subroutine that pops off a known return address and
replaces the RTS with a JMP to that address - this saves two byte of
stack RAM.

Also, the code patch will need to go to two different places:  Back to
the original code, or elsewhere for fuel cutoff.

In C, the patch is:

  temp = 85;
  if (speedLimited)
    temp = 83;
  if (vehicleSpeed > temp)
    {
    speedLimited = true;
    injectorPulseWidth = 0;
    goto FuelCutoff;
    }
  else
    speedLimited = false;

It looks like the '747 doesn't have a rev limiter.  If it did, the label
FuelCutoff could be in the rev limiter cutoff code.  Perhaps the
DecelFuelCutOff would have a location with the correct functionality.

> Been lookin' at the code, might have to
> steal room from the egr tables, others aren't so large).
>
> This is one drawback with this ecm, it doesn't have any
> extra room in the eprom.

There is some space in the transmission tables.  If the truck has an
auto, the manual transmission tables are unused.  If the truck has a
stick, there is even more space in the auto tables.

If the '747 EGR is at all the same as the Fiero V6, there might be space
at the tail end of the "EGR to injector pulse width" table.  The Fiero
uses only the first five out of 16 or so bytes of this table.


Instead of patching the '747 code, how about using an ECM which already
has a speed limiter?  The 1228746 (passenger car 5.0 & 5.7 TBI) does.

-- 
Ludis Langens                               ludis (at) cruzers (dot) com
Mac, Fiero, & engine controller goodies:  http://www.cruzers.com/~ludis/




More information about the Gmecm mailing list