OBD1 Honda P13 ECU Reference Guide
A complete hardware and software reference guide for the OBD1 P13 Prelude DOHC VTEC H22A ECU, covering diagnostic RAM and ROM parameters.
Adapted from pgmfi.org wiki
The P13 Engine Control Unit (ECU) is the factory controller for the 1993–1995 OBD1 Honda Prelude VTEC equipped with the 2.2L DOHC VTEC H22A engine. Due to its unique architecture, the P13 is highly sought after by Prelude enthusiasts and engine-swap DIYers.
Overview
Unlike more common OBD1 Civic/Integra ECUs (such as the P28 or P30), the P13 uses a distinct circuit board design and a different fuel and ignition map structure (a 1x40 RPM axis scale rather than a standard 10x20 table grid).
This guide details the essential RAM (runtime logging) and ROM (EEPROM calibration) memory address locations for custom tuning, datalogging, and hardware modification.
Board Identification & Variations
Circuit board layouts differ significantly between JDM and USDM models:
- JDM Small Case: Utilizes a smaller casing footprint with an internal daughterboard layout.
- USDM/EDM Big Case: Uses the standard large ECU case.
Comparison of USDM (top) and JDM (bottom) resistor and component locations.
Visual board layout and component positioning differences between JDM and USDM P13 ECUs.
RAM Address Mapping
Below is the memory map of active RAM addresses used during runtime diagnostic monitoring and datalogging:
| Location | Bytes | Description | Notes |
|---|---|---|---|
| 00A4 | 1 | MAP Sensor | Manifold Absolute Pressure raw analog voltage (0V-5V) |
| 00AB | 1 | TPS Sensor | Throttle Position Sensor analog input (scaled 0x00-0xFF) |
| 00AE | 2 | Current RPM | Engine speed (OBD1 16-bit RPM value) |
| 00D9 | 1 | ECT Sensor | Engine Coolant Temperature sensor reading |
| 00DF | 1 | VSS Sensor | Vehicle Speed Sensor value in km/h |
| 00ED | 1 | Active MAP Column | Active load pressure column pointer |
| 00EE | 1 | Low Cam Active Row | Low cam RPM row pointer |
| 00EF | 1 | High Cam Active Row | High cam/VTEC RPM row pointer |
| 0110 | 2 | CEL Diagnostics Word 1 | Register for active CEL fault codes (set to 0x0000 if clear) |
| 0111 | 2 | CEL Diagnostics Word 2 | Register for active CEL fault codes |
| 0113 | 2 | CEL Diagnostics Word 3 | Register for active CEL fault codes |
| 0114 | 2 | CEL Diagnostics Word 4 | Register for active CEL fault codes |
| 016A | 2 | Rev Limit Cut | Engine speed limit fuel cut (OBD1 16-bit RPM format) |
| 016C | 2 | Rev Limit Resume | Engine speed fuel cut recovery point |
| 0179 | 1 | Current RPM (8-bit) | Secondary 8-bit RPM representation (used for VTEC engagement logic) |
| 021D.1 | 1b | VTEC Status Flag | 1 if VTEC solenoid output is active, 0 otherwise |
| 0224.0 | 1b | A/C Switch Input | 1 if pin B5 (ACS) is grounded (A/C switch active) |
| 0289 | 1 | 8-bit RPM | Secondary 8-bit RPM value |
| 03D0 | 1 | O2 Sensor | Narrowband Oxygen Sensor feedback signal |
| 03D2 | 1 | IAT Sensor | Intake Air Temperature sensor reading (0V-5V) |
| 03D3 | 1 | Baro Sensor | Barometric Atmospheric pressure sensor value (0V-5V) |
| 03DA | 1 | ECT Raw | Unscaled Engine Coolant Temperature sensor reading |
ROM Address Mapping
Below are the hex address offsets within the 28-pin EEPROM chip for stock Prelude P13 calibrations:
| Location | Bytes | Description | Notes |
|---|---|---|---|
| 0C21 | 2 | High Cam Rev Resume | Engine speed where VTEC fuel cut recovers |
| 0C26 | 2 | High Cam Rev Limit | Engine speed limit fuel cut in VTEC |
| 0D22 | 4 | Checksum Jump Instruction | Diagnostic check. See Disabling Checksum |
| 2EAC | 1 | Speed Limiter Parameter | Maximum speed threshold (0-255 km/h). Set to 0xFF to disable |
| 35CA | 1 | VTEC Coolant Temp Check | Minimum temp to engage VTEC. 0x44 enables check, 0xFF disables |
| 5403 | 2 | Low Cam Rev Resume | Engine speed where low cam fuel cut recovers |
| 5407 | 2 | Low Cam Rev Limit | Engine speed limit fuel cut (low cam) |
| 540B | 2 | High Cam Rev Resume | (Alternative high cam recovery parameter) |
| 540F | 2 | High Cam Rev Limit | (Alternative high cam VTEC cut parameter) |
| 6000 | 40 | Low Cam RPM Scaler | Low cam RPM table scaling index (1x40 row) |
| 6028 | 40 | High Cam RPM Scaler | VTEC RPM table scaling index (1x40 row) |
| 6050 | 10 | MAP Load Scaler | MAP sensor pressure scaling columns index (10 columns) |
| 605A | 40 | Fuel Map Multiplier Low | Low cam fueling multipliers (1x40 row) |
| 6082 | 40 | Fuel Map Multiplier High | High cam VTEC fueling multipliers (1x40 row) |
| 60AA | 200 | Low Cam Fuel Table | 10x20 base fueling lookup map |
| 6172 | 200 | High Cam Fuel Table | 10x20 VTEC fueling lookup map |
| 63F8 | 200 | Low Cam Ignition Map | 10x20 low cam ignition advance map |
| 659C | 200 | High Cam Ignition Map | 10x20 VTEC ignition advance map |
| 7FF1 | 1 | Debug Mode Enable | Diagnostic mode parameter. 0xFF enables, 0x00 disables |
Advanced Tuning Calibration
Disabling Checksum
By default, modifying any bytes in the ROM will trigger a solid Check Engine Light (CEL) due to a checksum mismatch. To disable the checksum routine in the P13:
- Go to hex address
0x0D22. - Replace the bytes
90 9D F1 7Fwith03 36 0D 00.
Datalogging Registers
If you are writing custom datalogging code for the P13, use the following registers:
- SRBUF (Serial Receive Buffer):
0x07D - STBUF (Serial Transmit Buffer):
0x07C - Interrupt Vector Hook: The serial interrupt starts at
0x0043and jumps to either0x004Bor0x00DB. Put custom logging code routines at0x00DBor redirect the vector pointer at0x0020.
Hardware Modifications
Auto to Manual Transmission Conversion
JDM Auto P13 ECUs can be converted to manual transmission specs by relocating jumpers in the resistor area:
Relocate jumpers on RP11 and RP12 to convert JDM P13 ECUs between automatic and manual configurations.
Removing the Knock Sensor Check
If you are swapping an H22A engine into a chassis that does not have a knock sensor (and you wish to run a stock ROM without CEL Error Code 23), see the Knock Sensor bypass guide. If converting the ECU hardware between automatic and manual transmission, consult the OBD1 P13 Auto to Manual conversion guide.
Credits and source
Authors tungsten2k, blundar, eg6ajk, Artifex, ddd, mind-eracer, cybugluder, synoptic, carotman
Source Adapted from P13 on pgmfi.org wiki. Licensed under CC BY-NC-SA 1.0.