Reverse Engineering the 1986-1991 Mazda ECU


The following is very much a work in progress. I have taken a Series IV Engine Control Unit completely apart to determine the net list for the digital board, and the address map for the memory and peripherals. I dumped the contents of the EPROMs (2 by 8K each), and I disassembled the binary images using DASMx. Of course, the hard part is making sense of the symbol-less assembly code, and I've made some progress.
Recent results seem to indicate that the CPU is an undocumented variant of the Hitachi 6303. This version of the microprocessor appears to have a second output compare register (OCR) and associated logic. The CPU is surrounded by 16K of EPROM, 2K of RAM, 16 input A/D converter, 20 bits of PIO, and an external timer.


Four ROM images from two series IV ECUs

Background on ECU numbering, years and car models

The chips on the ECU digital board

The digital board netlist and memory map

Information about chips on the ECU digital board as available

The Hitachi HD6303 (similar to the Motorola MC6803) processor data book

DASMx, a Windows-based disassembler

The ECU Wonder Tester 2000 for the Series IV

Status of my current work on the 286/276 ROM set from a Series IV NA

To do! Finish the decoding of the disassemby dump, determine which signals from the ECU pins end up where on the CPU, find out how to use the serial port on the CPU for diagnostics or real time control.

 

I can be contacted here.