1988-89 Z31 ECU ROM Table

Note: Values here are for a 32KB (padded) binary file. The stock binaries are 16KB and contain the same addressed, except in the first 4000hex (instead of the second 4000hex). If you have not figured it out already, in a 16K bin, simply subtract 4000hex, hence an address like 7A30 would become 3A30 and so on.

Description

Hex Location

Conversion formula

Additional notes

? 4000-79AF ?
Unused AFM Map 
(Unused VQ table)
79B0-7A2F 64 DWORD values  Another VQ Map (unused)

AFM Map 
(VQ table)

7A30-7AAF

64 DWORD values
(HEXtoDEC)\65535*100=%ofAFMmax

Each  DWORD is  0.08V steps that starts at 0% (.08V, 0000) and moves to 100% (5.12V, FFFF) of the ECU’s capacity. 
Note that the AFM voltage extends higher and lower than this; the usable range for the ECU.

TP Scale Fuel 1 7AB0-7ABF 16 values TP Scale for fuel
First copy unused
TP RPM 
Fuel Scale 1 
7AC0-7ACF 16 values
(HEXtoDEC)*50=RPMvalue
TP/RPM Scale for fuel 
First copy unused
TP Scale Ignition 1 7AD0-7ADF 16 values
(HEXtoDEC)= TP
TP Scale for ignition 
First copy unused
TP RPM Ignition Scale 1  7AE0-7AEF 16 values
(HEXtoDEC)*50=RPMvalue
TP/RPM Scale for Ignition
First copy unused
TP Scale Fuel 2 7AF0-7AFF 16 values
(HEXtoDEC)= TP
TP Scale for fuel 
Second copy (one used!)
TP RPM 
Fuel Scale 2 
7B00-7B0F 16 values 
(HEXtoDEC)*50=RPMvalue
TP/RPM Scale for fuel 
Second copy (one used!)
TP Scale Ignition 2 7B10-7B1F 16 values
(HEXtoDEC)= TP
TP Scale for ignition 
Second copy (one used!)
TP RPM Ignition Scale 2  7B20-7B2F 16x1 bytes
(HEXtoDEC)*50=RPMvalue
TP/RPM Scale for Ignition
Second copy (one used!)
CHTS Sensor Volts to Temp 7B30-7B4F 32x1 byte table
(HEXtoDEC)-50= temperature in Celsius vs voltage
(voltage scale in steps of 0.16v)
CHTS Calibration volts to temp
voltage scale in steps of 0.16v
? 7B50-7B5F ? ?
Ignition Dwell Duty 7B60-7B7F 32X1 byte table
(HEXtoDEC) * 0.33 = IgnitionDutyDwell Percent
represents Percentage of Ignition Dwell Duty.
scale: 400 rpm to 12800rpm in steps of 400 rpm
" increases the spark but at the cost of a shortened life of the coil packs"
? 7B80-7BfF ? ?

Ignition Map

7C00-7CFF

16x16x1=256 Map
(HEXtoDEC)=timVALinDeg

Actual ignition timing used in degrees BTDC

Fuel Map

7D00-7DFF

16x16x1=256 Map
(HEXtoDEC)=FuelValue

Fuel value of target AFR
(FuelValue + 128) / 128 = Target Lambda
Target AFR = 14.7 / ((FuelValue + 128) / 128 )      
If value gt 128 then subtract 192 (0xC0) 
negative values are leaner
0x80 - Closed Loop Flag 

DAfter Start Enrichment vs Temp 1 7E00-7E0F 16 values ?
After Start Enrichment vs Temp 2 7E10-7E1F 16 values ?
First Time Inj vs Temp 1 7E20-7E2F 16 values ?
Another Table ? 7E30-7E4F 16 Values ?
Crank Adv vs Temp 7E50-7E5F 16 values
(HEXtoDEC)=BTDC Timing Advance
?scale starts at -50 degrees Celsius and runs in steps of 10 DGC up to 110 DGC. values in the table hold the BTDC timing advance
Neutral Idle
RPM vs Temp
7E60-7E6F 16 values
(HEXtoDEC)=Added RPM vs Temp
?scale starts at -50 degrees Celsius and runs in steps of 10 DGC up to 110 DGC. values in the table hold the added base idle RPM 100-56rpm
TP AF Limit 7E70-7E7F 16 Values All Zeros generally

TTP Min

7E80-7E8F

16 Values
(HEXtoDEC)=Val

Total Theoretical Pulsewidth Minimum
sets a certain minimum pulsewidth to keep the engine running in cases where the voltage signal from the MAF may drop too low. Scale based upon the rpm scale for the fuel map

TTP Max

7E90-7E9F

16 Values
(HEXtoDEC)=Val

Total  Theoretical  Pulsewidth Maximum
TTP Max limits the total pulsewidth by rpm, Scale based upon the rpm scale for the fuel map

Idle Ignition

7EA0-7EAF

16 values
(HEXtoDEC)=timVALinDeg

Computer uses when TPS switch is closed. Moved right as CHTS temp signal increases. Used for Idle/Base timing.

Coolant temp enrich1 ? 7EB0-7EBF ? ?
? 7EC0-7F2A   ?

K Value

7F2B-7F2C

DWORD
TP = Adj1 * K * VQ / RPM + Adj2
TP =: (VQ x K / CAS Value) / Number of Cylinders
VQ = value from the VQ Table. 
CAS = rpm / 50 x 256.

Very important value used for injector sizing to maintain a 14.7AFR on top of which other variables are applied! This is probably the single most important value of all.

? 7F2D-7F2F   ?
Coolant temp enrich2 7F30-7F3F 16 values  
? 7F40-7F87   ?

Injector Null time (response time)

7F88

1 Byte

Response time is added to TP to account for injector pintle movement latency from the time voltage is applied.

  7F89-7F8A    
Rev limiter 2 7F8B (HEXtoDEC)*50=RPMvalue second rev limit at 7f8b that kicks in after 15 seconds. You must change both rev limiters.
? 7F8B-7F90   ?

Closed-loop operation temperature
Feedback Switch

7F91

1 Byte
(HEXtoDEC)= Celsius to begin Closed-loop

3C is default
Set to FF to disable closed-loop operation for tuning.
CHTS Temp in Celsius to begin Closed-loop

? 7F92-7FA4 ? ?

Speed Limiter

7FA5

1 Byte
(HEXtoDEC)*2=SpdKM

Derrrrrp…. Keep in mind it’s in KPH; the world standard.

? 7FA6-7FB3 ? ?

Rev Limiter

7FB4

(HEXtoDEC)*50=RPMvalue

Over 7000RPM not recommended

? 7FB5-7FFF   ?

End- 7FFF


The locations here will be very useful in changing values in the ECU for tuning and modifications such as: