Lesson 0 / Assy 101

Ludis Langens ludis at cruzers.com
Sat May 29 06:55:37 GMT 1999


Shannen Durphey wrote:
> 
> > > I do my code changes the exact same way as Roger describes here.
> >
> > So does GM...  Except sometimes, GM let's the old routine run, then jumps to
> > the new one and over-writes the results of the old one.
> Seems messy.  Is it common for changes to be made to the code without
> subsequent "cleanup" of old code?

Standard operating procedure in the software world.  It's an extention
of "If it's not broke, don't mess with it."  Equivalent to adapter
brackets in the mechanical world.

There may be references to the old code - references that can't be
changed to use the new version.  Even if there are no known references,
there could still be a bug that reads a random memory location, a
location that could be in the code being changed.  It could be that such
a bug happens to read a byte value that doesn't cause any problems. 
Changing the code might make the bug start doing bad things.

Actually, the only place I've seen GM doing such patches is in the C3's,
and mainly the Buick C3's.  With the C3's, most of the code is in ROM
and can't be changed.  Only the portion in the EPROM can be changed
easily.  It looks like the functionality had to be changed for certain
vehicles.  Instead of revising the mask ROMs and thus creating a new ECM
number, the EPROM portion contains patches.

BTW, every MEMCAL from the 1990's I've disassembled contains bugs that
read random memory locations!  I suspect that one of these bugs is why
GM had to recall a bunch of '93 cars due to emission reasons.

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




More information about the Gmecm mailing list