ECU ROM locations & formulæ

I was looking through the pgmfi forums the other day and I realized that it is pretty hard to find all the locations for all the ECU's. So I figured I would make a chart that lists the main ones people want to find for the most common ECU's. I did not find any of these locations. Likewise, I did not figure out any of the formulas. All that work has been done by very smart people who like to hang out at

This page is here to help you learn. It is not supposed to be an all-containing, comprehensive guide. Also, the info here is in no way set in stone, some of it may be wrong. And if you think it is please please e-mail me and let me know.

Info about the chart:
ECU Memory Locations
  PM6/PS9 OBD0 PR4 PR3 JDM PW0 Euro PW0 P28 J/E P30/P61 US P30
Bytes 0-2 02, 16, 00 01, 2F, 00 73, 16, 96 D8, 16, FF 73, 16, 9A ED, 24, F4 E2, 21, E9 ED, 24, F4
Fuel map 1 3EF2h 541Ah 3DE4h 3DE4h 3DE4h 7050h 7032h 7050h
Fuel mult 1 3FF1h 540Bh 3EE3h 3EE3h 3EE3h 7118h 70FAh 7118h
Fuel map 2 n/a n/a 3EF2h 3EF2h 3EF2h 7122h 7104h 7122h
Fuel mult 2 n/a n/a 3FF1h 3FF1h 3FF1h 71EAh 71CCh 71EAh
Ign map 1 3DF3h 50FFh 3BE6h 3BE6h 3BE6h 72E4h 724Eh 72E4h
Ign map 2 n/a n/a 3CE5h 3CE5h 3CE5h 73ACh 7316h 73ACh
Warm revlimit 0DE6h 109Bh 31DEh 391Ah 3928h 64A7h 6387h 64A7h
Warm retsart ? ? 31E0h 3922h 3930h 3930h 6381h 64A1h
Cold revlimit 0DECh ? 31D8h 391Ch 392Ah 649Bh 637Bh h
Cold restart ? ? ? ? ? 31D6h 6375h h
Idle 3993h              
VTEC start n/a n/a 3414h 3AD8h 3AECh 6542h 6432h 6542h
Engage VTEC n/a n/a 3419h 3AD9h ? ? 6437h ?
Disengage VTEC n/a n/a 3418h 3AD8h ? ? 6436h ?
Knock sensor n/a n/a ? ? n/a n/a 6002h 60E7h

Here are some formulas. They will get you from the hex value (actually from the decimal equivalent of the hex value) to a human readable value like RPM or pulse width in what is believed to be milliseconds. You will have to figure out how to get back on your own. It should be easy if you even sort of know 9th grade algebra.

OBD0 Non-VTEC Formulas OBD0 VTEC Formulas
Note: The OBD0 VTEC development is very behind the rest of the ECU's. I don't know why, but people just don't use them to the same extent as the PM6 or P30. That being said, some of the formulas might be wrong (fuel, vtec, and maybe ignition). If, however, they are wrong, they wont be way off. From my experience, the VTEC formula has been around 100 - 200 rpm high but that could also be the tach. OBD1 Formulas for P30, P28, P06 and a few others.
Note: The OBD1 fuel value that you get out of the formula isn't really a "human readable" value (it definitely is NOT milliseconds). It is just the value people have decided to use.