C3 ECM ROM dumping using a capacitor

Ludis Langens ludis at netcom.com
Sat Jan 24 09:50:20 GMT 1998


I've uploaded three short EPROM images to the efi332/diy-efi ftp directory at
   ftp://efi332.eng.ohio-state.edu/incoming/   with the names Spit6870.S19,
Spit7148.S19, and Spit7747.S19.  They are for use in the 1226870 ('85 TPI
and '85+ MPFI), 1227148 (Grand National and 3.8 SFI), and 1227747 (truck TBI)
ECM's.  When burned into a 2732 EPROM, which is then plugged into an ECM,
they _should_ dump out the ECM's 8K of built-in ROM.  (I don't have any of
these ECM's to actually test them.)

The dumping is at 9600 baud, 8-N-1 (actually 8-N-2), via the IAC driver.
To convert the 0 to 12 volt IAC drive signal to an RS-232 voltage range, a
series capacitor of about 1 uF is needed.  If you are using an electrolytic
cap, connect the positive lead to the ECM's "IAC A Lo" output (this should
be pin C6 on the 32 pin connector.)  Connect the negative lead to your
computer's serial port's RxD line.  (Also provide a ground connection from
the ECM to your computer.)

To view/capture the ROM dump, connect the ECM to your computer, run a
terminal emulator on your computer (9600 baud, 8-N-1), and apply juice to
the ECM.  Within a tenth of a second, the EPROM should have taken over the
ECM and started the dump.  In case you miss the beginning, the ROM is
dumped over and over until you shut the ECM off.  If nothing happens (or
you get garbage) try the other three IAC outputs - GM may have switched
things around.

These dumping EPROMs are meant for use on the bench, but it should be
possible to dump an ECM while it is still in a vehicle.  But please, don't
try running the engine during the dump.  Also, unhook the IAC - 9600 baud
and the IAC don't go together.

All three image files are in Motorola S19 hex format.  The ROM is also dumped
using this format.  The image files are "ORGed" at the address at which the
EPROM appears in the ECM's memory map.  When burning an EPROM, you'll need
to specify an address offset of $3000 or $D000.

I'm interested to hear of the success or failure that anyone has with these
ROM dumpers.

                   unsigned long BinToBCD(unsigned long i) {unsigned long t;
Ludis Langens         return i ? (t = BinToBCD(i >> 1), (t << 1) + (i & 1) + 
ludis at netcom.com                 (t + 858993459 >> 2 & 572662306) * 3) : 0;}



More information about the Diy_efi mailing list