RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Tue Dec 23, 2025 11:08 am

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Fuel Pump Duty High and Medium Tables
PostPosted: Wed Aug 01, 2012 4:29 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
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)


You do not have the required permissions to view the files attached to this post.

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Wed Aug 01, 2012 4:46 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
Since I already had the rom opened ;)

Location for the two tables in A8DH201X

Code:
ROM:00095D3C word_95D3C:     .data.w 2               ; DATA XREF: sub_3D3D8+8o
ROM:00095D3C                                         ; ROM:off_3D4B8o ...
ROM:00095D3E                 .data.w 2
ROM:00095D40                 .data.l flt_CCB98 - x axis
ROM:00095D44                 .data.l flt_CCBA0 - y axis
ROM:00095D48                 .data.l flt_CCBA8 - table
ROM:00095D4C                 .align h'10
ROM:00095D50 word_95D50:     .data.w 2               ; DATA XREF: sub_3D7C4:loc_3D8C8o
ROM:00095D50                                         ; ROM:off_3D9ECo
ROM:00095D52                 .data.w 2
ROM:00095D54                 .data.l flt_CCBB8
ROM:00095D58                 .data.l flt_CCBC0
ROM:00095D5C                 .data.l flt_CCBC8
ROM:00095D60                 .data.l 0

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Wed Aug 01, 2012 5:37 pm 
Offline
Senior Member

Joined: Fri Feb 10, 2006 7:04 pm
Posts: 2661
Location: RIP
td-d wrote:
Since I already had the rom opened ;)

Location for the two tables in A8DH201X

:lol: I wonder why you had that ROM opened...

I'm sure it had nothing to do with my barrage of address requests that you were able to respond to in record time! ;)


This community has basically guaranteed that I will always own a Turbo Subaru.

_________________
MS41 Project Leader & Co-Developer (2012 - 2023)
MS41.3 https://sites.google.com/site/openms41/custom-code---ms41-3
MS41 ECU Portal https://sites.google.com/site/openms41/ms41-ecu-portal


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Wed Aug 01, 2012 6:31 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
AZ1G202G

Code:
ROM:00089FA4 Table_Fuel_Pump_Duty_High_Min_smoothed_injector_Duty_cycle:.data.w 2
ROM:00089FA6                 .data.w 3
ROM:00089FA8                 .data.l h'D1340
ROM:00089FAC                 .data.l h'D1348
ROM:00089FB0                 .data.l h'D1354
ROM:00089FB4                 .float 0.0              ; Float
ROM:00089FB8 Table_Fuel_Pump_Duty_Med_Min_smoothed_injector_Duty_cycle:.data.w 2
ROM:00089FBA                 .data.w 2
ROM:00089FBC                 .data.l h'D136C
ROM:00089FC0                 .data.l h'D1374
ROM:00089FC4                 .data.l h'D137C
ROM:00089FC8                 .float 0.0              ; Float

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Tue Sep 04, 2012 12:33 pm 
Offline
Experienced
User avatar

Joined: Thu Jul 23, 2009 1:46 pm
Posts: 863
All of these pushed to the Alpha repo here: https://github.com/Merp/SubaruDefs/tree/Alpha

Sanity checks were performed on the tables and a template is provided.

Current roms with this Alpha definition:

A8DH200X
AZ1G101N
AZ1G201G

_________________
Please do not send me support questions via PM, use the forum instead!


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Tue Sep 04, 2012 12:42 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
Thanks Merp, you rock!

In return, I endeavor to dig these out for more roms ;)

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Thu Oct 25, 2012 10:02 pm 
Offline
Senior Member

Joined: Sat Feb 12, 2011 7:27 pm
Posts: 2031
Location: Northern NSW
Able to get these for this ROM? viewtopic.php?f=25&t=6356&start=95

Using ID1000's and IPW is definitely too low for Duty switch points :)


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Sat Oct 27, 2012 3:37 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
throttlehappy wrote:
Able to get these for this ROM? viewtopic.php?f=25&t=6356&start=95

Using ID1000's and IPW is definitely too low for Duty switch points :)


Code:
ROM:0008D7B4 Table_Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle:.data.w 2
ROM:0008D7B4                                         ; DATA XREF: sub_4138C+8o
ROM:0008D7B4                                         ; ROM:off_4144Co ...
ROM:0008D7B6                 .data.w 2
ROM:0008D7B8                 .data.l flt_CE1A0
ROM:0008D7BC                 .data.l flt_CE1A8
ROM:0008D7C0                 .data.l flt_CE1B0
ROM:0008D7C4                 .data.l 0
ROM:0008D7C8 Table_Fuel_Pump_duty_med_min_smoothed_inj_duty_cycle:.data.w 2
ROM:0008D7C8                                         ; DATA XREF: sub_41776+9Eo
ROM:0008D7C8                                         ; sub_41776:off_41904o
ROM:0008D7CA                 .data.w 2
ROM:0008D7CC                 .data.l flt_CE1C0
ROM:0008D7D0                 .data.l flt_CE1C8
ROM:0008D7D4                 .data.l flt_CE1D0
ROM:0008D7D8                 .data.l 0

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Mon Jun 17, 2013 2:53 pm 
Offline
Newbie

Joined: Tue Jun 05, 2012 3:37 pm
Posts: 81
Another question - I have tried to find these/define them for a 2005 Legacy GT (This ROM: http://www.romraider.com/forum/viewtopic.php?f=29&t=3271 ) , but for some reason cannot find the tables. I believe I have found the X and Y axis' As of now. Here's what I have currently:

<table name="Fuel Pump Duty High Injector Duty Cycle" address="CA674">
<table name="X" address="CA668"/>
<table name="Y" address="CA670"/>
</table>
<table name="Fuel Pump Duty Medium Injector Duty Cycle" address="CA690">
<table name="X" address="CA680"/>
<table name="Y" address="CA688"/>
</table>


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Mon Jun 17, 2013 4:40 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
dux10 wrote:
Another question - I have tried to find these/define them for a 2005 Legacy GT (This ROM: http://www.romraider.com/forum/viewtopic.php?f=29&t=3271 ) , but for some reason cannot find the tables. I believe I have found the X and Y axis' As of now. Here's what I have currently:

Code:
ROM:00084AB0 word_84AB0:     .data.w 2               ; DATA XREF: sub_3AAEC+8o
ROM:00084AB0                                         ; ROM:off_3ABCCo ...
ROM:00084AB2                 .data.w 2
ROM:00084AB4                 .data.l flt_CA668
ROM:00084AB8                 .data.l flt_CA670
ROM:00084ABC                 .data.l word_CA678      ; = 3.9e1
ROM:00084AC0                 .data.l h'8000000
ROM:00084AC4                 .float 0.0099999998
ROM:00084AC8                 .float 0.0
ROM:00084ACC word_84ACC:     .data.w 2               ; DATA XREF: sub_3AED8+106o
ROM:00084ACC                                         ; ROM:off_3B0BCo
ROM:00084ACE                 .data.w 2
ROM:00084AD0                 .data.l flt_CA680
ROM:00084AD4                 .data.l flt_CA688
ROM:00084AD8                 .data.l word_CA690      ; = 1.3e1
ROM:00084ADC                 .data.l h'8000000
ROM:00084AE0                 .float 0.0099999998
ROM:00084AE4                 .float 0.0

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Mon Jun 17, 2013 7:49 pm 
Offline
Newbie

Joined: Tue Jun 05, 2012 3:37 pm
Posts: 81
Excellent :) I had to change my 32bitbase!


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Wed Dec 25, 2013 6:14 am 
Offline
Newbie

Joined: Sun Oct 21, 2012 5:36 am
Posts: 26
Looking this tables for A8DK100P.
Thank you.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Thu Dec 26, 2013 1:55 pm 
Offline
Moderator

Joined: Thu May 20, 2010 4:01 am
Posts: 3117
Location: Johannesburg, South Africa
chocholl wrote:
Looking this tables for A8DK100P.
Thank you.

Code:
ROM:0008BB50 Table_Fuel_Pump_duty_high_min_smoothed_inj_duty_cycle:.data.w 2
ROM:0008BB50                                         ; DATA XREF: sub_3DECC+8o
ROM:0008BB50                                         ; ROM:off_3DF8Co ...
ROM:0008BB52                 .data.w 2
ROM:0008BB54                 .data.l flt_CBD58
ROM:0008BB58                 .data.l flt_CBD60
ROM:0008BB5C                 .data.l flt_CBD68
ROM:0008BB60                 .data.l 0
ROM:0008BB64 Table_Fuel_Pump_duty_med_min_smoothed_inj_duty_cycle:.data.w 2
ROM:0008BB64                                         ; DATA XREF: sub_3E2B6+9Eo
ROM:0008BB64                                         ; sub_3E2B6:off_3E444o
ROM:0008BB66                 .data.w 2
ROM:0008BB68                 .data.l flt_CBD78
ROM:0008BB6C                 .data.l flt_CBD80
ROM:0008BB70                 .data.l flt_CBD88
ROM:0008BB74                 .data.l 0

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Sat Dec 28, 2013 10:25 am 
Offline
Experienced

Joined: Wed Jun 18, 2008 7:46 am
Posts: 106
Is it the A8DH200Y table as below?

<table name="Fuel Pump Duty High Injector Duty Cycle" address="7C4F0">
<table name="X" address="7C4E8"/>
<table name="Y" address="7C4EC"/>
</table>
<table name="Fuel Pump Duty Medium Injector Duty Cycle" address="7C504">
<table name="X" address="7C4FC"/>
<table name="Y" address="7C500"/>
</table>

It seems something incorrect....


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
 Post subject: Re: Fuel Pump Duty High and Medium Tables
PostPosted: Tue Jan 21, 2014 4:29 pm 
Offline
Newbie
User avatar

Joined: Fri Aug 10, 2012 6:00 pm
Posts: 27
Location: miami,FL
Can anyone find these tables for CAL id A4TE002B for me please ? My mind is going to explode looking for them . Such a big learning curve. I need low medium and high if that's applicable to my rom. Thanks a million.

_________________
V7 ej207 ,fpred,850 cc injectors,front mount ,perrin 3inch intake,perrin 3 inch maf housing, sard fpr,TBE,forge recirculation bpv,Tein basic coilovers,JDM V8 STI whole drivetrain and brakes swap,spiider dccd controller.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl