RomRaider Logo

RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Sat Feb 21, 2026 2:19 pm

All times are UTC




Post new topic Reply to topic  [ 42 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: 2008 USDM STI: Per-gear ignition timing [BETA]
PostPosted: Thu Sep 09, 2010 2:18 am 
Offline
RomRaider Donator

Joined: Tue Apr 24, 2007 10:49 pm
Posts: 243
After finally taking another peek at my ROM, I think I've found the logic and associated tables and scalars for per-gear ignition timing.

From what I can tell, the tables are 4x3 and consist of load (x-axis) by rpm (y-axis). The data is a raw 8-bit value that has a conversion applied to it before being stored for use in calculating total ignition timing. This scalar value is configurable, though it's unlikely one would want to modify it.

The per-gear ignition timing logic calls a few subroutines that I haven't deciphered yet. The result of these subroutines determines whether the logic is active or not. After that, another subroutine is called to determine whether the current RPM and load are within a configurable activation threshold range.

DISCLAIMER:
I have tried to ensure the accuracy of the definition file(s) and disassembly. Use at your own risk.

Here is the disassembly:

Functions:

Code:
3CFA8 ; =============== S U B R O U T I N E =======================================
ROM:0003CFA8
ROM:0003CFA8 ; Attributes: noreturn
ROM:0003CFA8
ROM:0003CFA8 FuncCalcPerGearTimingCompensation:      ; CODE XREF: FuncPotentialControlLoop+1FCp
ROM:0003CFA8                                         ; DATA XREF: FuncPotentialControlLoop+1FAo ...
ROM:0003CFA8                 mov.l   r13, @-r15
ROM:0003CFAA                 mov.l   r14, @-r15
ROM:0003CFAC                 sts.l   pr, @-r15
ROM:0003CFAE                 fmov.s  fr14, @-r15
ROM:0003CFB0                 fmov.s  fr15, @-r15
ROM:0003CFB2                 add     #-12, r15
ROM:0003CFB4                 mov.l   off_3D0F0, r2 ; EngineRPM4ByteExt
ROM:0003CFB6                 fmov.s  @r2, fr15
ROM:0003CFB8                 mov.l   off_3D0F4, r2 ; EngineLoad4ByteExt
ROM:0003CFBA                 fmov.s  @r2, fr14
ROM:0003CFBC                 mov.l   off_3D100, r2 ; sub_26B3C
ROM:0003CFBE                 jsr     @r2 ; sub_26B3C
ROM:0003CFC0                 nop
ROM:0003CFC2                 mov.l   off_3D104, r6 ; sub_26980
ROM:0003CFC4                 jsr     @r6 ; sub_26980
ROM:0003CFC6                 mov.b   r0, @r15
ROM:0003CFC8                 mov.l   off_3D108, r5 ; sub_21E92
ROM:0003CFCA                 jsr     @r5 ; sub_21E92
ROM:0003CFCC                 mov.b   r0, @(4,r15)
ROM:0003CFCE                 mov.b   r0, @(8,r15)
ROM:0003CFD0                 mov.l   off_3D10C, r6 ; unk_FFFF6753
ROM:0003CFD2                 mov.b   @r6, r14
ROM:0003CFD4                 mov.l   off_3D110, r6 ; Fiend_CurrentGear1ByteExt
ROM:0003CFD6                 mov.b   @r6, r13
ROM:0003CFD8                 fmov    fr15, fr4
ROM:0003CFDA                 bsr     FuncCalcIfPerGearTimingCompensationIsActive
ROM:0003CFDC ; ---------------------------------------------------------------------------
ROM:0003CFDC                 fmov    fr14, fr5
ROM:0003CFDE                 mov.b   @r15, r0
ROM:0003CFE0                 cmp/eq  #2, r0
ROM:0003CFE2                 bt      loc_3D084
ROM:0003CFE4                 mov.b   @(8,r15), r0
ROM:0003CFE6                 cmp/eq  #1, r0
ROM:0003CFE8                 bf      loc_3CFF0
ROM:0003CFEA                 mov.b   @(4,r15), r0
ROM:0003CFEC                 cmp/eq  #2, r0
ROM:0003CFEE                 bt      loc_3D084
ROM:0003CFF0
ROM:0003CFF0 loc_3CFF0:                              ; CODE XREF: FuncCalcPerGearTimingCompensation+40j
ROM:0003CFF0                 mov.l   off_3D114, r5 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003CFF2                 mov.b   @r5, r0
ROM:0003CFF4                 cmp/eq  #1, r0
ROM:0003CFF6                 bf      PerGearTimingCompensationNotActive
ROM:0003CFF8                 mov.b   @(1,r5), r0
ROM:0003CFFA                 cmp/eq  #1, r0
ROM:0003CFFC                 bf      PerGearTimingCompensationNotActive
ROM:0003CFFE                 tst     r14, r14
ROM:0003D000                 bf      PerGearTimingCompensationNotActive
ROM:0003D002                 extu.b  r13, r0
ROM:0003D004                 cmp/eq  #1, r0
ROM:0003D006                 bt      Calc1stGearTimingCompensation
ROM:0003D008                 cmp/eq  #2, r0
ROM:0003D00A                 bt      Calc2ndGearTimingCompensation
ROM:0003D00C                 cmp/eq  #3, r0
ROM:0003D00E                 bt      Calc3rdGearTimingCompensation
ROM:0003D010                 cmp/eq  #4, r0
ROM:0003D012                 bt      Calc4thGearTimingCompensation
ROM:0003D014                 cmp/eq  #5, r0
ROM:0003D016                 bt      Calc5thGearTimingCompensation
ROM:0003D018                 bra     UnknownGear
ROM:0003D01A                 nop
ROM:0003D01C ; ---------------------------------------------------------------------------
ROM:0003D01C
ROM:0003D01C Calc1stGearTimingCompensation:          ; CODE XREF: FuncCalcPerGearTimingCompensation+5Ej
ROM:0003D01C                 mov.l   off_3D118, r4 ; PerGearTimingCompensation1stGear_TablePtr
ROM:0003D01E                 mov.l   off_3D11C, r2 ; FuncPull3DTable
ROM:0003D020                 fmov    fr15, fr5
ROM:0003D022                 jsr     @r2 ; FuncPull3DTable
ROM:0003D024                 fmov    fr14, fr4
ROM:0003D026                 mov.l   off_3D114, r5 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D028                 mov     #-4, r0
ROM:0003D02A                 bra     ApplyConversionToTimingCompensationPull3DResult
ROM:0003D02C                 fmov.s  fr0, @(r0,r5)
ROM:0003D02E ; ---------------------------------------------------------------------------
ROM:0003D02E
ROM:0003D02E Calc2ndGearTimingCompensation:          ; CODE XREF: FuncCalcPerGearTimingCompensation+62j
ROM:0003D02E                 mov.l   off_3D120, r4 ; PerGearTimingCompensation2ndGear_TablePtr
ROM:0003D030                 mov.l   off_3D11C, r2 ; FuncPull3DTable
ROM:0003D032                 fmov    fr15, fr5
ROM:0003D034                 jsr     @r2 ; FuncPull3DTable
ROM:0003D036                 fmov    fr14, fr4
ROM:0003D038                 mov.l   off_3D114, r5 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D03A                 mov     #-4, r0
ROM:0003D03C                 bra     ApplyConversionToTimingCompensationPull3DResult
ROM:0003D03E                 fmov.s  fr0, @(r0,r5)
ROM:0003D040 ; ---------------------------------------------------------------------------
ROM:0003D040
ROM:0003D040 Calc3rdGearTimingCompensation:          ; CODE XREF: FuncCalcPerGearTimingCompensation+66j
ROM:0003D040                 mov.l   off_3D124, r4 ; PerGearTimingCompensation3rdGear_TablePtr
ROM:0003D042                 mov.l   off_3D11C, r2 ; FuncPull3DTable
ROM:0003D044                 fmov    fr15, fr5
ROM:0003D046                 jsr     @r2 ; FuncPull3DTable
ROM:0003D048                 fmov    fr14, fr4
ROM:0003D04A                 mov.l   off_3D114, r5 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D04C                 mov     #-4, r0
ROM:0003D04E                 bra     ApplyConversionToTimingCompensationPull3DResult
ROM:0003D050                 fmov.s  fr0, @(r0,r5)
ROM:0003D052 ; ---------------------------------------------------------------------------
ROM:0003D052
ROM:0003D052 Calc4thGearTimingCompensation:          ; CODE XREF: FuncCalcPerGearTimingCompensation+6Aj
ROM:0003D052                 mov.l   off_3D128, r4 ; PerGearTimingCompensation4thGear_TablePtr
ROM:0003D054                 mov.l   off_3D11C, r2 ; FuncPull3DTable
ROM:0003D056                 fmov    fr15, fr5
ROM:0003D058                 jsr     @r2 ; FuncPull3DTable
ROM:0003D05A                 fmov    fr14, fr4
ROM:0003D05C                 mov.l   off_3D114, r5 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D05E                 mov     #-4, r0
ROM:0003D060                 bra     ApplyConversionToTimingCompensationPull3DResult
ROM:0003D062                 fmov.s  fr0, @(r0,r5)
ROM:0003D064 ; ---------------------------------------------------------------------------
ROM:0003D064
ROM:0003D064 Calc5thGearTimingCompensation:          ; CODE XREF: FuncCalcPerGearTimingCompensation+6Ej
ROM:0003D064                 mov.l   off_3D12C, r4 ; PerGearTimingCompensation5thGear_TablePtr
ROM:0003D066                 mov.l   off_3D11C, r2 ; FuncPull3DTable
ROM:0003D068                 fmov    fr15, fr5
ROM:0003D06A                 jsr     @r2 ; FuncPull3DTable
ROM:0003D06C                 fmov    fr14, fr4
ROM:0003D06E                 mov.l   off_3D114, r5 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D070                 mov     #-4, r0
ROM:0003D072                 bra     ApplyConversionToTimingCompensationPull3DResult
ROM:0003D074                 fmov.s  fr0, @(r0,r5)
ROM:0003D076 ; ---------------------------------------------------------------------------
ROM:0003D076
ROM:0003D076 UnknownGear:                            ; CODE XREF: FuncCalcPerGearTimingCompensation+70j
ROM:0003D076                 fldi0   fr8
ROM:0003D078                 mov     #-4, r0
ROM:0003D07A                 fmov.s  fr8, @(r0,r5)
ROM:0003D07C
ROM:0003D07C ApplyConversionToTimingCompensationPull3DResult:
ROM:0003D07C                                         ; CODE XREF: FuncCalcPerGearTimingCompensation+82j
ROM:0003D07C                                         ; FuncCalcPerGearTimingCompensation+94j ...
ROM:0003D07C                 bra     CalcActualTimingCompensationFromPull3DResult
ROM:0003D07E                 nop
ROM:0003D080 ; ---------------------------------------------------------------------------
ROM:0003D080
ROM:0003D080 PerGearTimingCompensationNotActive:     ; CODE XREF: FuncCalcPerGearTimingCompensation+4Ej
ROM:0003D080                                         ; FuncCalcPerGearTimingCompensation+54j ...
ROM:0003D080                 bra     loc_3D09E
ROM:0003D082                 fldi0   fr8
ROM:0003D084 ; ---------------------------------------------------------------------------
ROM:0003D084
ROM:0003D084 loc_3D084:                              ; CODE XREF: FuncCalcPerGearTimingCompensation+3Aj
ROM:0003D084                                         ; FuncCalcPerGearTimingCompensation+46j
ROM:0003D084                 mov.l   off_3D124, r4 ; PerGearTimingCompensation3rdGear_TablePtr
ROM:0003D086                 mov.l   off_3D11C, r2 ; FuncPull3DTable
ROM:0003D088                 fmov    fr15, fr5
ROM:0003D08A                 jsr     @r2 ; FuncPull3DTable
ROM:0003D08C                 fmov    fr14, fr4
ROM:0003D08E                 mov.l   off_3D114, r5 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D090                 mov     #-4, r0
ROM:0003D092                 fmov.s  fr0, @(r0,r5)
ROM:0003D094
ROM:0003D094 CalcActualTimingCompensationFromPull3DResult:
ROM:0003D094                                         ; CODE XREF: FuncCalcPerGearTimingCompensation:ApplyConversionToTimingCompensationPull3DResultj
ROM:0003D094                 mov.l   off_3D130, r2 ; PerGearTimingCompensationPull3DResultConversionMultiplier
ROM:0003D096                 fmov.s  @r2, fr8
ROM:0003D098                 mov     #-4, r0
ROM:0003D09A                 fmov.s  @(r0,r5), fr9
ROM:0003D09C                 fmul    fr9, fr8
ROM:0003D09E
ROM:0003D09E loc_3D09E:                              ; CODE XREF: FuncCalcPerGearTimingCompensation:PerGearTimingCompensationNotActivej
ROM:0003D09E                 mov     #-8, r0
ROM:0003D0A0                 fmov.s  fr8, @(r0,r5)
ROM:0003D0A2                 add     #12, r15
ROM:0003D0A4                 fmov.s  @r15+, fr15
ROM:0003D0A6                 fmov.s  @r15+, fr14
ROM:0003D0A8                 lds.l   @r15+, pr
ROM:0003D0AA                 mov.l   @r15+, r14
ROM:0003D0AC                 rts
ROM:0003D0AE                 mov.l   @r15+, r13
ROM:0003D0AE ; End of function FuncCalcPerGearTimingCompensation
ROM:0003D0AE



Code:
ROM:0003D0B0 ; =============== S U B R O U T I N E =======================================
ROM:0003D0B0
ROM:0003D0B0 ; Attributes: noreturn
ROM:0003D0B0
ROM:0003D0B0 FuncCalcIfPerGearTimingCompensationIsActive: ; CODE XREF: sub_3CF78+1Cp
ROM:0003D0B0                                         ; FuncCalcPerGearTimingCompensation+32p
ROM:0003D0B0                 mov.l   off_3D134, r2 ; PerGearTimingCompensationEnableAboveRPM
ROM:0003D0B2                 fmov.s  @r2, fr8
ROM:0003D0B4                 fcmp/gt fr4, fr8
ROM:0003D0B6                 bt      loc_3D0C0
ROM:0003D0B8                 mov     #1, r2
ROM:0003D0BA                 mov.l   off_3D114, r6 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D0BC                 bra     loc_3D0CE
ROM:0003D0BE                 mov.b   r2, @r6
ROM:0003D0C0 ; ---------------------------------------------------------------------------
ROM:0003D0C0
ROM:0003D0C0 loc_3D0C0:                              ; CODE XREF: FuncCalcIfPerGearTimingCompensationIsActive+6j
ROM:0003D0C0                 mov.l   off_3D138, r2 ; PerGearTimingCompensationDisableBelowRPM
ROM:0003D0C2                 fmov.s  @r2, fr8
ROM:0003D0C4                 fcmp/gt fr4, fr8
ROM:0003D0C6                 bf      loc_3D0CE
ROM:0003D0C8                 mov     #0, r2
ROM:0003D0CA                 mov.l   off_3D114, r6 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D0CC                 mov.b   r2, @r6
ROM:0003D0CE
ROM:0003D0CE loc_3D0CE:                              ; CODE XREF: FuncCalcIfPerGearTimingCompensationIsActive+Cj
ROM:0003D0CE                                         ; FuncCalcIfPerGearTimingCompensationIsActive+16j
ROM:0003D0CE                 mov.l   off_3D13C, r2 ; PerGearTimingCompensationEnableAboveLoad
ROM:0003D0D0                 fmov.s  @r2, fr8
ROM:0003D0D2                 fcmp/gt fr5, fr8
ROM:0003D0D4                 bt      loc_3D0DE
ROM:0003D0D6                 mov     #1, r0
ROM:0003D0D8                 mov.l   off_3D114, r6 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D0DA                 rts
ROM:0003D0DC                 mov.b   r0, @(1,r6)
ROM:0003D0DE ; ---------------------------------------------------------------------------
ROM:0003D0DE
ROM:0003D0DE loc_3D0DE:                              ; CODE XREF: FuncCalcIfPerGearTimingCompensationIsActive+24j
ROM:0003D0DE                 mov.l   off_3D140, r2 ; PerGearTimingCompensationDisableBelowLoad
ROM:0003D0E0                 fmov.s  @r2, fr8
ROM:0003D0E2                 fcmp/gt fr5, fr8
ROM:0003D0E4                 bf      loc_3D0EC
ROM:0003D0E6                 mov     #0, r0
ROM:0003D0E8                 mov.l   off_3D114, r6 ; PerGearIgnitionTimingCompensationActiveFlag1ByteExt
ROM:0003D0EA                 mov.b   r0, @(1,r6)
ROM:0003D0EC
ROM:0003D0EC loc_3D0EC:                              ; CODE XREF: FuncCalcIfPerGearTimingCompensationIsActive+34j
ROM:0003D0EC                 rts
ROM:0003D0EE                 nop
ROM:0003D0EE ; End of function FuncCalcIfPerGearTimingCompensationIsActive
ROM:0003D0EE


Tables:
Code:
ROM:0009A9D8 PerGearTimingCompensation1stGear_TablePtr:.data.w 4
ROM:0009A9D8                                         ; DATA XREF: FuncCalcPerGearTimingCompensation:Calc1stGearTimingCompensationo
ROM:0009A9D8                                         ; ROM:off_3D118o
ROM:0009A9DA                 .data.w 3
ROM:0009A9DC                 .data.l PerGearTimingCompensation1stGear_XAxis
ROM:0009A9E0                 .data.l PerGearTimingCompensation1stGear_YAxis
ROM:0009A9E4                 .data.l PerGearTimingCompensation1stGear
ROM:0009A9E8                 .data.l table3d_datatype_enum_8bit
ROM:0009A9EC                 .float 1.0
ROM:0009A9F0                 .float 0.0
ROM:0009A9F4 PerGearTimingCompensation2ndGear_TablePtr:.data.w 4
ROM:0009A9F4                                         ; DATA XREF: FuncCalcPerGearTimingCompensation:Calc2ndGearTimingCompensationo
ROM:0009A9F4                                         ; ROM:off_3D120o
ROM:0009A9F6                 .data.w 3
ROM:0009A9F8                 .data.l PerGearTimingCompensation2ndGear_XAxis
ROM:0009A9FC                 .data.l PerGearTimingCompensation2ndGear_YAxis
ROM:0009AA00                 .data.l PerGearTimingCompensation2ndGear
ROM:0009AA04                 .data.l table3d_datatype_enum_8bit
ROM:0009AA08                 .float 1.0
ROM:0009AA0C                 .float 0.0
ROM:0009AA10 PerGearTimingCompensation3rdGear_TablePtr:.data.w 4
ROM:0009AA10                                         ; DATA XREF: FuncCalcPerGearTimingCompensation:Calc3rdGearTimingCompensationo
ROM:0009AA10                                         ; FuncCalcPerGearTimingCompensation:loc_3D084o ...
ROM:0009AA12                 .data.w 3
ROM:0009AA14                 .data.l PerGearTimingCompensation3rdGear_XAxis
ROM:0009AA18                 .data.l PerGearTimingCompensation3rdGear_YAxis
ROM:0009AA1C                 .data.l PerGearTimingCompensation3rdGear
ROM:0009AA20                 .data.l table3d_datatype_enum_8bit
ROM:0009AA24                 .float 1.0
ROM:0009AA28                 .float 0.0
ROM:0009AA2C PerGearTimingCompensation4thGear_TablePtr:.data.w 4
ROM:0009AA2C                                         ; DATA XREF: FuncCalcPerGearTimingCompensation:Calc4thGearTimingCompensationo
ROM:0009AA2C                                         ; ROM:off_3D128o
ROM:0009AA2E                 .data.w 3
ROM:0009AA30                 .data.l PerGearTimingCompensation4thGear_XAxis
ROM:0009AA34                 .data.l PerGearTimingCompensation4thGear_YAxis
ROM:0009AA38                 .data.l PerGearTimingCompensation4thGear
ROM:0009AA3C                 .data.l table3d_datatype_enum_8bit
ROM:0009AA40                 .float 1.0
ROM:0009AA44                 .float 0.0
ROM:0009AA48 PerGearTimingCompensation5thGear_TablePtr:.data.w 4
ROM:0009AA48                                         ; DATA XREF: FuncCalcPerGearTimingCompensation:Calc5thGearTimingCompensationo
ROM:0009AA48                                         ; ROM:off_3D12Co
ROM:0009AA4A                 .data.w 3
ROM:0009AA4C                 .data.l PerGearTimingCompensation5thGear_XAxis
ROM:0009AA50                 .data.l PerGearTimingCompensation5thGear_YAxis
ROM:0009AA54                 .data.l PerGearTimingCompensation5thGear
ROM:0009AA58                 .data.l table3d_datatype_enum_8bit
ROM:0009AA5C                 .float 1.0
ROM:0009AA60                 .float 0.0



Code:
ROM:000CF84C PerGearTimingCompensationEnableAboveRPM:.float 1300.0
ROM:000CF84C                                         ; DATA XREF: FuncCalcIfPerGearTimingCompensationIsActiveo
ROM:000CF84C                                         ; ROM:off_3D134o
ROM:000CF850 PerGearTimingCompensationDisableBelowRPM:.float 1200.0
ROM:000CF850                                         ; DATA XREF: FuncCalcIfPerGearTimingCompensationIsActive:loc_3D0C0o
ROM:000CF850                                         ; ROM:off_3D138o
ROM:000CF854 PerGearTimingCompensationEnableAboveLoad:.float 1.0
ROM:000CF854                                         ; DATA XREF: FuncCalcIfPerGearTimingCompensationIsActive:loc_3D0CEo
ROM:000CF854                                         ; ROM:off_3D13Co
ROM:000CF858 PerGearTimingCompensationDisableBelowLoad:.float 0.89999998
ROM:000CF858                                         ; DATA XREF: FuncCalcIfPerGearTimingCompensationIsActive:loc_3D0DEo
ROM:000CF858                                         ; ROM:off_3D140o
ROM:000CF85C PerGearTimingCompensationPull3DResultConversionMultiplier:.float -0.12
ROM:000CF85C                                         ; DATA XREF: FuncCalcPerGearTimingCompensation:CalcActualTimingCompensationFromPull3DResulto
ROM:000CF85C


Last edited by Fiend on Sat Sep 11, 2010 8:06 am, edited 5 times in total.

Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Thu Sep 09, 2010 2:19 am 
Offline
RomRaider Donator

Joined: Tue Apr 24, 2007 10:49 pm
Posts: 243
EcuFlash definitions:
Attachment:
ECUFLASH Per-gear Ignition Timing Compensation Definition - ver 0.1.zip


The definitions include:

- added base tables and scaling to 32BITBASE.xml
- added instance tables to AZ1G201I.xml

I don't use RomRaider for ECU editing, so I haven't gotten around to creating a definition file yet.

RomRaider logger definition:
Attachment:
ROMRAIDER Per-gear Ignition Timing Compensation Logger Definition - ver 0.1.zip


New 4-byte parameter:
PerGearIgnitionTimingCompensation4ByteExt


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


Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Fri Sep 10, 2010 3:07 am 
Offline
RomRaider Donator

Joined: Tue Apr 24, 2007 10:49 pm
Posts: 243
Whoever moved this, can we split the thread? First post goes back to ECU Analysis (which is where it belongs) and the 2nd post stays here?

I'd like more discussion on my disassembly, which I doubt I will get here. I understand the ECU defs should be here.

Thanks.


Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Fri Sep 10, 2010 6:12 am 
Offline
Senior Member

Joined: Mon Jan 19, 2009 6:31 pm
Posts: 1615
Location: Moscow, Russia
Not too bad with your defs...
Mine were simply wiped.


Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Fri Sep 10, 2010 6:19 am 
Offline
RomRaider Donator

Joined: Tue Apr 24, 2007 10:49 pm
Posts: 243
Sasha_A80 wrote:
Not too bad with your defs...
Mine were simply wiped.


Yours were wiped? What do you mean? Did my defs wipe out something of yours or do you mean that when you post defs they aren't annotated?

Sorry, tired and confused. :)


Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Fri Sep 10, 2010 7:37 am 
Offline
Senior Member

Joined: Mon Jan 19, 2009 6:31 pm
Posts: 1615
Location: Moscow, Russia
That is not your fault.

I uploaded ecuFlash defs for unsupported JDM DBW Forester MY2003 with probably the first 32bit Denso ecu when this subforum did not exist.


Last edited by Sasha_A80 on Sat Sep 11, 2010 4:21 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Fri Sep 10, 2010 10:05 pm 
Offline
RomRaider Developer

Joined: Thu May 21, 2009 1:49 am
Posts: 7323
Location: Canada eh!
I see similar code in the 2010 Legacy AT ROM but using 5 - 3x3 tables.


Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Sat Sep 11, 2010 5:11 am 
Offline
Experienced
User avatar

Joined: Sun Apr 27, 2008 2:14 pm
Posts: 316
Location: Kenya
Sasha_A80 wrote:
That is not your fault.

I uploaded ecuFlash defs for unsupported JDM DBW Forester MY2003 with probably the first 32bit Denso ecu when this subforum did not exist.


Hi, been scratching my head over the JDM DBW Forester MY2003, how did you pull out the rom???

_________________
2009 JDM STi Spec C
RCM420-SR60
IDX1050
RCM FPR & PFR


Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Tue Oct 12, 2010 10:47 am 
Offline
RomRaider Donator
User avatar

Joined: Mon Dec 15, 2008 7:12 am
Posts: 672
Location: The Philippines
Is your work related to what Merchgod was working on here? http://www.romraider.com/forum/viewtopic.php?f=25&t=4428&start=15


Top
 Profile  
 
 Post subject: Re: 08 STI: Per-gear ignition timing [BETA]
PostPosted: Tue Oct 12, 2010 3:16 pm 
Offline
RomRaider Donator

Joined: Tue Apr 24, 2007 10:49 pm
Posts: 243
MFB wrote:
Is your work related to what Merchgod was working on here? http://www.romraider.com/forum/viewtopic.php?f=25&t=4428&start=15


No. This is per-gear ignition timing whereas the thread you linked to is focusing on per-gear requested torque compensation, which I have not yet found.


Top
 Profile  
 
 Post subject: Re: 2008 USDM STI: Per-gear ignition timing [BETA]
PostPosted: Sat Jun 25, 2011 4:35 pm 
Offline
Newbie

Joined: Sat Mar 25, 2006 2:52 am
Posts: 3
This is a good start, but we need to break out the multiplier. This will allow a more correct definition and other uses of these tables. Specifically it would allow us to use 6th gear as base and add timing in the lower gears.

-- Ed


Top
 Profile  
 
 Post subject: Re: 2008 USDM STI: Per-gear ignition timing [BETA]
PostPosted: Sat Jun 25, 2011 6:21 pm 
Offline
RomRaider Donator

Joined: Tue Apr 24, 2007 10:49 pm
Posts: 243
eq tuning wrote:
This is a good start, but we need to break out the multiplier. This will allow a more correct definition and other uses of these tables. Specifically it would allow us to use 6th gear as base and add timing in the lower gears.

-- Ed


It'd be fairly easy to add a definition for this multiplier but I'm not sure how ECUFlash or RomRaider would support it. The per-gear definitions I created make use of the multiplier as a hardcoded value to convert between ignition timing/raw value, much like every other table def. The problem though is if we allow editing of the multiplier, when you open the per-gear ignition timing tables, how would you define the conversion function so that it would use the updated multiplier? If the per-gear ignition table conversion function can't be tied to the multiplier definition, the values will be out of sync and possibly lead to bad doodoo.


Top
 Profile  
 
 Post subject: Re: 2008 USDM STI: Per-gear ignition timing [BETA]
PostPosted: Sat Jun 25, 2011 9:23 pm 
Offline
Moderator

Joined: Thu May 20, 2010 8:01 am
Posts: 3117
Location: Johannesburg, South Africa
I just found these tables for the EUDM '08 STI (AZ1G201G). Will post the table addresses in the relevant thread.

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


Top
 Profile  
 
 Post subject: Re: 2008 USDM STI: Per-gear ignition timing [BETA]
PostPosted: Sat Jun 25, 2011 10:26 pm 
Offline
Newbie

Joined: Sat Mar 25, 2006 2:52 am
Posts: 3
Fiend wrote:
eq tuning wrote:
This is a good start, but we need to break out the multiplier. This will allow a more correct definition and other uses of these tables. Specifically it would allow us to use 6th gear as base and add timing in the lower gears.

-- Ed


It'd be fairly easy to add a definition for this multiplier but I'm not sure how ECUFlash or RomRaider would support it. The per-gear definitions I created make use of the multiplier as a hardcoded value to convert between ignition timing/raw value, much like every other table def. The problem though is if we allow editing of the multiplier, when you open the per-gear ignition timing tables, how would you define the conversion function so that it would use the updated multiplier? If the per-gear ignition table conversion function can't be tied to the multiplier definition, the values will be out of sync and possibly lead to bad doodoo.


You could do it like Cobb and just leave the per gear tables raw without integrating the multiplier. We can do the multiplication ourselves ;).

With Cobb software, I usually set the multiplier to 1. This makes the values in the tables positive additives on top of the base ignition. With this arrangement, 6th gear runs just the base ignition (since there is no 6th gear comp table). Then you can do something like +1 in 4th, +2 in 3rd and 2nd, +3 in first... just an example of course.

-- Ed


Top
 Profile  
 
 Post subject: Re: 2008 USDM STI: Per-gear ignition timing [BETA]
PostPosted: Mon Sep 05, 2011 12:45 pm 
Offline
Moderator

Joined: Thu May 20, 2010 8:01 am
Posts: 3117
Location: Johannesburg, South Africa
How are people using these tables? I find the stock values counterintuitive - surely you would want to increase timing at lower gears, as opposed to decreasing it, as the stock values do?

_________________
He who dies with the most gadgets wins.

Please do not PM me - use the email option.


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

All times are UTC


Who is online

Users browsing this forum: No registered users and 4 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