Pages: [1]
Author Topic: Launch Control ME7.1.1 2004 V8 S4 not working  (Read 3721 times)
vwnut8392
Sr. Member
****

Karma: +18/-7
Offline Offline

Posts: 271


« on: August 29, 2017, 12:13:44 PM »

i have been working on trying to make launch control work on a 2004 V8 S4. i used the auto patch script to start which worked but botched up the sub routine a little as i had discovered in IDA. The auto patcher did not place vfil_w properly in the sub routine but i corrected that. the other thing i noticed is that the sub routine seems to not access b_br. im starting to think that the .ecu file what was generated is not proper but i would like some other heads to have a look and see if they can find the error.

This is the patch that was generated by the auto patcher that made the vfil_w error. the error i found is in red. according to the .ecu file vfil_w is at  0x00C620.
Code:
seg018:F7420 ; =============== S U B R O U T I N E =======================================
seg018:F7420
seg018:F7420
seg018:F7420 sub_8F7420:
seg018:F7420                 jnb     B_kuppl.8, loc_8F744A ; Relative Jump if Bit Clear
[color=red][b]seg018:F7424                 mov     r4, word_816200 ; Move Word[/b][/color]
seg018:F7428                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F742C                 mov     r9, word_817880 ; Move Word
seg018:F7430                 cmp     r4, r9          ; Integer Compare
seg018:F7432                 jmpr    cc_NC, loc_8F744A ; Relative Conditional Jump
seg018:F7434                 mov     r4, nmot_w      ; Move Word
seg018:F7438                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F743C                 mov     r9, word_817882 ; Move Word
seg018:F7440                 cmp     r4, r9          ; Integer Compare
seg018:F7442                 jmpr    cc_ULE, loc_8F744A ; Relative Conditional Jump
seg018:F7444                 movb    tsrldyn, ZEROS  ; Move Byte
seg018:F7448                 jmpr    cc_UC, loc_8F74A8 ; Relative Conditional Jump
seg018:F744A ; ---------------------------------------------------------------------------
seg018:F744A
seg018:F744A loc_8F744A:                             ; CODE XREF: sub_8F7420j
seg018:F744A                                         ; sub_8F7420+12j ...
seg018:F744A                 jnb     B_kuppl.8, loc_8F74A0 ; Relative Jump if Bit Clear
seg018:F744E                 jb      B_kuppl.4, loc_8F7496 ; Relative Jump if Bit Set
seg018:F7452                 mov     r4, nmot_w      ; Move Word
seg018:F7456                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F745A                 mov     r9, word_817886 ; Move Word
seg018:F745E                 cmp     r4, r9          ; Integer Compare
seg018:F7460                 jmpr    cc_ULE, loc_8F7496 ; Relative Conditional Jump
seg018:F7462                 movbz   r4, wped        ; Move Byte Zero Extend
seg018:F7466                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F746A                 movbz   r9, byte_817888 ; Move Byte Zero Extend
seg018:F746E                 cmp     r4, r9          ; Integer Compare
seg018:F7470                 jmpr    cc_ULE, loc_8F7496 ; Relative Conditional Jump
seg018:F7472                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F7476                 mov     r4, word_384FF0 ; Move Word
seg018:F747A                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F747E                 mov     r9, word_817884 ; Move Word
seg018:F7482                 cmp     r4, r9          ; Integer Compare
seg018:F7484                 jmpr    cc_NC, loc_8F74A8 ; Relative Conditional Jump
seg018:F7486                 movb    tsrldyn, ZEROS  ; Move Byte
seg018:F748A                 add     r4, #1          ; Integer Addition
seg018:F748C                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F7490                 movb    word_384FF0, rl4 ; Move Byte
seg018:F7494                 jmpr    cc_UC, loc_8F74A8 ; Relative Conditional Jump
seg018:F7496 ; ---------------------------------------------------------------------------
seg018:F7496
seg018:F7496 loc_8F7496:                             ; CODE XREF: sub_8F7420+2Ej
seg018:F7496                                         ; sub_8F7420+40j ...
seg018:F7496                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F749A                 mov     word_384FF0, ONES ; Move Word
seg018:F749E                 jmpr    cc_UC, loc_8F74A8 ; Relative Conditional Jump
seg018:F74A0 ; ---------------------------------------------------------------------------
seg018:F74A0
seg018:F74A0 loc_8F74A0:                             ; CODE XREF: sub_8F7420:loc_8F744Aj
seg018:F74A0                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F74A4                 mov     word_384FF0, ZEROS ; Move Word
seg018:F74A8
seg018:F74A8 loc_8F74A8:                             ; CODE XREF: sub_8F7420+28j
seg018:F74A8                                         ; sub_8F7420+64j ...
seg018:F74A8                 movb    rl4, byte_81315F ; Move Byte
seg018:F74AC                 rets                    ; Return from Inter-Segment Subroutine
seg018:F74AC ; End of function sub_8F7420

This is my version after i fixed vfil_w.
Code:
seg018:F7420 ; =============== S U B R O U T I N E =======================================
seg018:F7420
seg018:F7420
seg018:F7420 sub_8F7420:
seg018:F7420                 jnb     B_kuppl.8, loc_8F744A ; Relative Jump if Bit Clear
seg018:F7424                 mov     r4, vfil_w      ; Move Word
seg018:F7428                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F742C                 mov     r9, Vehicle_Speed_Const ; Move Word
seg018:F7430                 cmp     r4, r9          ; Integer Compare
seg018:F7432                 jmpr    cc_NC, loc_8F744A ; Relative Conditional Jump
seg018:F7434                 mov     r4, nmot_w      ; Move Word
seg018:F7438                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F743C                 mov     r9, Engine_RPM_Const ; Move Word
seg018:F7440                 cmp     r4, r9          ; Integer Compare
seg018:F7442                 jmpr    cc_ULE, loc_8F744A ; Relative Conditional Jump
seg018:F7444                 movb    tsrldyn, ZEROS  ; Move Byte
seg018:F7448                 jmpr    cc_UC, loc_8F74A8 ; Relative Conditional Jump
seg018:F744A ; ---------------------------------------------------------------------------
seg018:F744A
seg018:F744A loc_8F744A:                             ; CODE XREF: sub_8F7420j
seg018:F744A                                         ; sub_8F7420+12j ...
seg018:F744A                 jnb     B_kuppl.8, loc_8F74A0 ; Relative Jump if Bit Clear
seg018:F744E                 jb      B_kuppl.4, loc_8F7496 ; Relative Jump if Bit Set
seg018:F7452                 mov     r4, nmot_w      ; Move Word
seg018:F7456                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F745A                 mov     r9, Engine_RPM_Const_NLS ; Move Word
seg018:F745E                 cmp     r4, r9          ; Integer Compare
seg018:F7460                 jmpr    cc_ULE, loc_8F7496 ; Relative Conditional Jump
seg018:F7462                 movbz   r4, wped        ; Move Byte Zero Extend
seg018:F7466                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F746A                 movbz   r9, TPS_Percent_NLS ; Move Byte Zero Extend
seg018:F746E                 cmp     r4, r9          ; Integer Compare
seg018:F7470                 jmpr    cc_ULE, loc_8F7496 ; Relative Conditional Jump
seg018:F7472                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F7476                 mov     r4, Ign_Off_Time_RAM ; Move Word
seg018:F747A                 exts    #81h, #1 ; 'ü'  ; Begin Extended Segment Sequence
seg018:F747E                 mov     r9, Ign_Off_Time_NLS ; Move Word
seg018:F7482                 cmp     r4, r9          ; Integer Compare
seg018:F7484                 jmpr    cc_NC, loc_8F74A8 ; Relative Conditional Jump
seg018:F7486                 movb    tsrldyn, ZEROS  ; Move Byte
seg018:F748A                 add     r4, #1          ; Integer Addition
seg018:F748C                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F7490                 movb    Ign_Off_Time_RAM, rl4 ; Move Byte
seg018:F7494                 jmpr    cc_UC, loc_8F74A8 ; Relative Conditional Jump
seg018:F7496 ; ---------------------------------------------------------------------------
seg018:F7496
seg018:F7496 loc_8F7496:                             ; CODE XREF: sub_8F7420+2Ej
seg018:F7496                                         ; sub_8F7420+40j ...
seg018:F7496                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F749A                 mov     Ign_Off_Time_RAM, ONES ; Move Word
seg018:F749E                 jmpr    cc_UC, loc_8F74A8 ; Relative Conditional Jump
seg018:F74A0 ; ---------------------------------------------------------------------------
seg018:F74A0
seg018:F74A0 loc_8F74A0:                             ; CODE XREF: sub_8F7420:loc_8F744Aj
seg018:F74A0                 exts    #38h, #1 ; '8'  ; Begin Extended Segment Sequence
seg018:F74A4                 mov     Ign_Off_Time_RAM, ZEROS ; Move Word
seg018:F74A8
seg018:F74A8 loc_8F74A8:                             ; CODE XREF: sub_8F7420+28j
seg018:F74A8                                         ; sub_8F7420+64j ...
seg018:F74A8                 movb    rl4, byte_81315F ; Move Byte
seg018:F74AC                 rets                    ; Return from Inter-Segment Subroutine
seg018:F74AC ; End of function sub_8F7420
seg018:F74AC
seg018:F74AE
seg018:F74AE ; =============== S U B R O U T I N E =======================================

I attached the .ecu file that was output from ME7 logger. I hope someone can see the error that i cannot find.



Logged
fknbrkn
Hero Member
*****

Karma: +177/-18
Offline Offline

Posts: 1401


mk4 1.8T AUM


« Reply #1 on: August 31, 2017, 01:29:19 PM »

log variables you used in script
make a flags at different places in routine and log them to verify routine executed properly
« Last Edit: August 31, 2017, 01:31:13 PM by fukenbroken » Logged
terminator
Sr. Member
****

Karma: +15/-4
Offline Offline

Posts: 425


« Reply #2 on: September 01, 2017, 10:14:38 AM »

check FTOMN. It makes mistake and zeroed axis lenght instead of FTOMN.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.016 seconds with 16 queries. (Pretty URLs adds 0s, 0q)