Last update: May 21, 2000

The GM Computer Command Control (C3) family of ECMs, used mostly in the mid 1980's, but also as late as 1995, contain 4K to 8K of non-removable ROM in addition to the socketed MEMPAK (E)PROM. The ROM contains program code. In order to fully understand the data tables in the MEMPAK, the ROM code must be dumped for disassembly. There are several ways to do this, both destructively and non-destructively. Luckily, the MEMPAK of many C3 ECMs also contains some program code, which is invoked periodically by the ROM. This provides an opportunity to substitute a ROM dumping function into the MEMPAK. With some minimal hardware knowledge, this function can dump the ROM contents out via a convenient interface. The IAC driver outputs are one such convenient interface. The nominal 12 volt peak to peak signal swing can be easily voltage shifted to resemble an RS-232C output. A simple software UART function can transmit serial data via an IAC output. This output can be captured by a terminal emulator running on any personal computer with a serial port.

Listed below are MEMPAK EPROM images for a variety of ECMs. These EPROM images are ready to use with no address offsetting required. Burn the image into an EPROM and install it into the target ECM in place of the original MEMPAK. Ground ECM pins A12 & D1. Connect a 12 volt power source to ECM pins A6, B1 & C16. Connect the positive end of a 1 µF capacitor to ECM pin C6. Note, this is not the regular ALDL output pin. Connect the negative end of the capacitor to your computer's RxD serial port input. (Also provide a ground connection between the ECM and serial port.) On the computer, run a terminal emulator set to 8-N-2 and 9600 baud. The ROM contents should now be dumped repeatedly to your terminal in Motorola S19 format.

The 1 µF capacitor value is not critical. Depending on your computer's RS-232C implementation, it may need to be adjusted up or down. The dumping is meant to be performed with the ECM on a workbench, although it should also work in circuit in a vehicle. In that case, disconnect the IAC, don't run the engine, and certainly don't drive the vehicle.

Each ROM dump iteration is terminated by a S9 record. Some EPROM programmers require this as an end flag. The normally unused address field of the S9 record is used by the dumping function to provide an extra sumcheck. This sumcheck is simply the mod 65536 sum of all the ROM bytes.

The following ECMs currently have a ROM dumping MEMPAK available:

ECMEPROM imageDerived fromResults
1226459 Spit1226459.S19 DNN2263  
1226461 Spit1226461.S19 CMH3899  
1226867 Spit1226867.S19 HTD5293  
1226869 Spit1226869.S19 FTY9355  
1226870 Spit1226870.S19 CSR2618  
1226948 Spit1226948.S19 FWJ9999  
1227137 Spit1227137.S19 FJD8515  
1227148 Spit1227148.S19 ATJ9188  
1227153 Spit1227153.S19 HUD5128  
1227429 Spit1227429.S19 ARY0382  
1227170 Spit1227170.S19 AKYN3442 ftp://efi332.eng.ohio-state.edu/incoming/7170ECM.S19
1227302 Spit1227302.S19 HNZ5674  
1227747 Spit1227747.S19 AKAL1158 ftp://efi332.eng.ohio-state.edu/incoming/Spit7747_output.s19
1227783 Spit1227783.S19 AKBA1303  
1228746 Spit1228746.S19 ANLU5369  
16136965 Spit16136965.S19 unknown (ASMB1644 or AXFF0233)  
16144288 Spit16144288.S19 AWHH5876