I found these tables some time back whilst scratching around the fuel pump duty code, but did not go back to them till recently.
These two tables are used to switch from the various fuel pump duty thresholds defined (low, medium and high) and are based on battery voltage and injector duty cycle. As would be expected, the parameters input into the table that calculate IDC are IPW and RPMs. When the IDC values exceeds the value in the high tables, the high duty is used, when exceeding the medium tables values, but less than the high table, medium duty is used. When below the medium table values, low will be used.
For AZ1G101N, the code is as follows:
Code:
<scaling name="IDC" units="Injector Duty Cycle" toexpr="x*0.7371358727094787" frexpr="x/0.7371358727094787" format="%.2f" min="0" max="255" inc="1" storagetype="float" endian="big"/>
<scaling name="Pressure (bar)" units="units" toexpr="x/750" frexpr="x*750" format="%.2f" min="0" max="255" inc="1" storagetype="float" endian="big"/>
<table name="Fuel Pump Duty High Injector Duty Cycle" address="d0e5c" type="3D" level="1" scaling="IDC">
<table name="Battery Voltage" address="d0e4c" type="X Axis" elements="2" scaling="rawecuvalue"/>
<table name="Manifold Relative Pressure" address="d0e54" type="Y Axis" elements="2" scaling="Pressure (bar)"/>
</table>
<table name="Fuel Pump Duty Medium Injector Duty Cycle" address="D0E7C" type="3D" level="1" scaling="IDC">
<table name="Battery Voltage" address="D0E6C" type="X Axis" elements="2" scaling="rawecuvalue"/>
<table name="Manifold Relative Pressure" address="D0E74" type="Y Axis" elements="2" scaling="Pressure (bar)"/>
</table>
You could also use PSI absolute or PSI relative for the scaling - I prefer bar since I work in metric

If you're wondering where the 0.7371358727094787 in the scaling comes from, the code basically calculates it as follows:
IPW*9.4208488*RPM*0.00000011999998
So, if you consider that IDC is calculated as follows:
IDC = RPM * IPW / 1200
Then the scaling is (divided by 1000, since e.g. 1.4ms pulse width is 1400 in the ecu code):
=1/(9.4208488*0.00000011999998)/1200/1000
Anyways... that's an aside!
Relatively easy to find the tables, if you follow the X-refs back from the medium and high pump duty thresholds, you will see some tables:
Code:
00043AA4 off_43AA4: .data.l Ram_Battery_Voltage ; DATA XREF: sub_43888+2r
ROM:00043AA4 ; sub_43932+38r
ROM:00043AA8 off_43AA8: .data.l E_Manifold_Relative_Pressure_4byteExt_E113
ROM:00043AA8 ; DATA XREF: sub_43888+6r
ROM:00043AAC off_43AAC: .data.l Table_Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle
ROM:00043AAC ; DATA XREF: sub_43888+Ar
ROM:00043AB0 off_43AB0: .data.l Fun_GetMapValue3D ; DATA XREF: sub_43888+Cr
ROM:00043AB4 off_43AB4: .data.l unk_FFFF7DD4 ; DATA XREF: sub_43888+12r
ROM:00043AB8 flt_43AB8: .float 100.0 ; DATA XREF: sub_43888+18o
ROM:00043ABC off_43ABC: .data.l loc_825E ; DATA XREF: sub_43888+2Cr
ROM:00043ABC ; sub_438BA+70r
ROM:00043AC0 off_43AC0: .data.l Ram_Fuel_Pump_Duty ; DATA XREF: sub_438BA+2r
ROM:00043AC0 ; sub_438BA:loc_4391Er
ROM:00043AC4 Fuel_Pump_Duty_Medium:.float 66.699997
ROM:00043AC8 Fuel_Pump_Duty_Low:.float 33.299999
Here you will find the high pump duty tables. If you follow the link to the table, you will find a 2 x 2 float based 3d table. The 2 x 2 below it is the medium duty :
Code:
00088024 Table_Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle:.data.w 2
ROM:00088024 ; DATA XREF: sub_43888+Ao
ROM:00088024 ; sub_43932:off_43AACo ...
ROM:00088026 .data.w 2
ROM:00088028 .data.l Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle_X_Axis
ROM:0008802C .data.l Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle_Y_Axis
ROM:00088030 .data.l Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle ; Multiply by 0.73725 to get Cobb values.
ROM:00088034 .data.l 0
ROM:00088038 Table_Fuel_Pump_duty_med_min_smoothed_inj_duty_cycle:.data.w 2
ROM:00088038 ; DATA XREF: sub_43CC2:loc_43DFEo
ROM:00088038 ; ROM:off_43E98o
ROM:0008803A .data.w 2
ROM:0008803C .data.l Fuel_Pump_duty_med_min_smoothed_inj_duty_cycle_X_Axis
ROM:00088040 .data.l Fuel_Pump_duty_med_min_smoothed_inj_duty_cycle_Y_Axis
ROM:00088044 .data.l Fuel_Pump_duty_med_min_smoothed_inj_duty_cycle
ROM:00088048 .data.l 0
The IDC value is also put through the filtering routine:
Code:
00043DAA loc_43DAA: ; CODE XREF: sub_43CC2+40j
ROM:00043DAA mov.l #flt_D0E2C, r2
ROM:00043DAC fmov.s @r2, fr8
ROM:00043DAE fmul fr8, fr15 ; IPW*9.4208488
ROM:00043DB0 fmul fr14, fr15 ; IPW*9.4208488*RPM
ROM:00043DB2 mova flt_43E7C, r0
ROM:00043DB4 fmov.s @r0, fr8
ROM:00043DB6 fmul fr8, fr15 ; IPW*9.4208488*RPM*0.00000011999998
ROM:00043DB8 mov #unk_FFFFFFE8, r0
ROM:00043DBA fmov.s fr15, @(r0,r5)
ROM:00043DBC mov.l #Func_Filter_Parameter, r2
ROM:00043DBE fmov.s @(r0,r5), fr4
ROM:00043DC0 mova flt_43E84, r0
ROM:00043DC2 fmov.s @r0, fr7
ROM:00043DC4 mov.l #flt_D0E30, r6
ROM:00043DC6 fmov.s @r6, fr6
ROM:00043DC8 mov #unk_FFFFFFEC, r0
ROM:00043DCA jsr @r2 ; Func_Filter_Parameter
ROM:00043DCC fmov.s @(r0,r5), fr5
ROM:00043DCE mov.l #unk_FFFF7DE4, r5
ROM:00043DD0 mov #unk_FFFFFFE4, r0 ; FFFF7DC8
ROM:00043DD2 fmov.s @(r0,r5), fr8
ROM:00043DD4 fadd fr8, fr0
ROM:00043DD6 mov #unk_FFFFFFEC, r0
ROM:00043DD8 fmov.s fr0, @(r0,r5) ; FFFF7DD0
ROM:00043DDA fmov.s @(r0,r5), fr14
ROM:00043DDC mov.l #Table_Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle, r4
ROM:00043DDE mov.l #Fun_GetMapValue3D, r2
ROM:00043DE0 fmov fr13, fr4
ROM:00043DE2 jsr @r2 ; Fun_GetMapValue3D
ROM:00043DE4 fmov fr12, fr5
ROM:00043DE6 fcmp/gt fr14, fr0
ROM:00043DE8 bt loc_43DF0
ROM:00043DEA mov #1, r0
ROM:00043DEC bra loc_43DFE
ROM:00043DEE mov.b r0, @(h'1C,gbr)