Pages: [1] 2 3 4
Author Topic: Spark Retard and Enrich Launch Control for 2.7t ME7.1 8D0907551M  (Read 20225 times)
Cadensdad14
Full Member
***

Karma: +8/-1
Offline Offline

Posts: 134



This is intended for a development thread.  None of the files in this thread should be used and are for development only.  If this gets fully developed a final file will be in a new thread. 

All of whats below is untested, unproven, and if you do anything with it it is at your own risk.

So, I believe that I have written a full on anti-lag launch control and no lift shift for the 551M box.  I also just about have one written for the CH-Box.  All Im missing is the edit to the CH-Box for the read of KFZWMN.  On the M-Box theres only one location, but on the CH-Box theres two versions that I believe are controlled by soft coding.  Locations are at 0x81230C and 0x8123CC.  Can anybody help me out with the disassembly to find that map?  Ive attached the last edit before adding antilag.

Also, because this is in the tuning sections, Im posting the M-Box antilag.  The version commonly available on here only cuts spark dwell time.  I raise a flag for the conditions being correct for different conditions for the system to become active.  The engine must be within a temperature range, right now 80* to 105*.  CWALS must be set to whatever you want to enable.  For launch control, the clutch must be depressed, the vehicle must be under 3 kmh, and the engine speed must be above the rev limit (4500).  For no lift shift, launch control must not be active, clutch engaged, brake not engaged,  engine speed above threshold and pedal above threshold. 

If the flags for ALS become active, the system can be configured to run on a second set of tables for LAMFAW, KFLBTS, KFZW, KFZW2, KFZWMN, and KFZWMS.  I have set these to delay spark until 20* ATDV, and enrich the mixture.  KFLBTS is unedited, but I could see enough reason to write it in to put it there.

NONE OF THIS HAS BEEN FIELD TESTED AND LOGGED!!!  File is using Bosch Maf!  putting this out there to get feedback and a little help.  Suggestions on modifications are all welcome.  Tests and video hopefully coming soon.
« Last Edit: June 13, 2018, 05:02:36 AM by Cadensdad14 » Logged
nyet
Administrator
Hero Member
*****

Karma: +604/-166
Offline Offline

Posts: 12233


WWW
« Reply #1 on: June 11, 2018, 01:18:05 PM »

Well done, I will take a look time permitting.

Does it disable misfire and knock detection during spark cut?

Also I have edited the topic to note which ECU it is for.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
Cadensdad14
Full Member
***

Karma: +8/-1
Offline Offline

Posts: 134


« Reply #2 on: June 11, 2018, 06:02:28 PM »

it disables knock recognition.  it doesnt touch misfires yet.
Logged
Cadensdad14
Full Member
***

Karma: +8/-1
Offline Offline

Posts: 134


« Reply #3 on: June 11, 2018, 06:29:22 PM »

i have the disassembled 1.8 file if it will save you any work.
Logged
envisible
Full Member
***

Karma: +0/-3
Offline Offline

Posts: 62


« Reply #4 on: June 12, 2018, 10:10:56 AM »

Hi. I have problems with 551M file.
I have no connetction with ECU after flashing.
I tryed MPPS, bootmode without success.

Has anyone else tried this file?
Logged
nyet
Administrator
Hero Member
*****

Karma: +604/-166
Offline Offline

Posts: 12233


WWW
« Reply #5 on: June 12, 2018, 10:15:22 AM »

Hi. I have problems with 551M file.
I have no connetction with ECU after flashing.
I tryed MPPS, bootmode without success.

Has anyone else tried this file?

That was a terrible idea. I sticked this so experienced people could look over the file before flashing it anywhere.

What on earth were you thinking? For all you know, that file could cause permanent damage.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
envisible
Full Member
***

Karma: +0/-3
Offline Offline

Posts: 62


« Reply #6 on: June 12, 2018, 10:21:12 AM »

Thanks, I will wait for testing..
My ECU works fine after flashing original file
Logged
woj
Hero Member
*****

Karma: +41/-3
Online Online

Posts: 500


« Reply #7 on: June 12, 2018, 12:10:49 PM »

When I saw this yesterday I had a couple of grim remarks in mind, one of them asking whether it has been at least test flashed to check for software traps and bricking. Clearly not, and I should have done that after all. Only I did not want to be discouraging, I developed a similar thing and it takes effort and confidence to publish something like this.

And then following this - if you post untested binary patches, it might be helpful to post your assembly changes in human readable form. Sorry to say this - it's neither tested, nor readable, what do you expect anyone of us to do with it?
Logged
nyet
Administrator
Hero Member
*****

Karma: +604/-166
Offline Offline

Posts: 12233


WWW
« Reply #8 on: June 12, 2018, 01:07:37 PM »

I was hoping an IDA project would be included as well
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
Cadensdad14
Full Member
***

Karma: +8/-1
Offline Offline

Posts: 134


« Reply #9 on: June 12, 2018, 04:34:36 PM »

Understood.  This was by no means meant to be flashed to anyones equipment and further development is needed.  I will get the IDA posted shortly.
Logged
Cadensdad14
Full Member
***

Karma: +8/-1
Offline Offline

Posts: 134


« Reply #10 on: June 12, 2018, 04:36:36 PM »

VERY HAPPY to see if unstickied.
Logged
Cadensdad14
Full Member
***

Karma: +8/-1
Offline Offline

Posts: 134


« Reply #11 on: June 13, 2018, 02:15:15 PM »

Found a few issues.  For one, had an error in my xdf that led to an incorrect byte change.  Then I found a bit out of place that turned a movbz into an add.  Have corrected issues.  Disassembly reads:

ROM:0088E490 AL_routine:                             ; CODE XREF: sub_85FA48:hijack_1P
ROM:0088E490                 bmov    S_cruise.2, word_FDF2.5   (code replaced by call)
ROM:0088E494                 extp    #0E0h, #1 ; 'a'
ROM:0088E498                 movb    rl4, tmotlin      (tmotlin-0x380BC5)
ROM:0088E49C                 exts    #81h, #1 ; 'ü'
ROM:0088E4A0                 movb    rh4, AL_maxtemp      (AL_maxtemp-0x817120)
ROM:0088E4A4                 cmpb    rl4, rh4
ROM:0088E4A6                 jmpr    cc_C, B_als_reset
ROM:0088E4A8                 exts    #81h, #1 ; 'ü'
ROM:0088E4AC                 movb    rh4, AL_mintemp      (AL_mintemp-0x817121)
ROM:0088E4B0                 cmpb    rl4, rh4
ROM:0088E4B2                 jmpr    cc_NC, B_als_reset
ROM:0088E4B4
ROM:0088E4B4 LC_set:
ROM:0088E4B4                 movb    rl4, CWALS         (CWALS-0x817122)
ROM:0088E4B8                 jnb     r4.0, lc_reset
ROM:0088E4BC                 jnb     br_cl_cond.8, lc_reset   (0xFD56.Cool
ROM:0088E4C0                 extp    #0E0h, #1 ; 'a'
ROM:0088E4C4                 mov     r4, vfil_w         (vfil_w-0x380E40)
ROM:0088E4C8                 exts    #81h, #1 ; 'ü'
ROM:0088E4CC                 mov     r9, lc_veh_speed      (lc_veh_speed-0x817124)
ROM:0088E4D0                 cmp     r4, r9
ROM:0088E4D2                 jmpr    cc_NC, lc_reset
ROM:0088E4D4                 mov     r4, nmot_w         (nmot_w-0xF87A)
ROM:0088E4D8                 exts    #81h, #1 ; 'ü'
ROM:0088E4DC                 mov     r9, lc_rev_limit      (lc_rev_limit-0x817126)
ROM:0088E4E0                 cmp     r4, r9
ROM:0088E4E2                 jmpr    cc_ULE, lc_reset
ROM:0088E4E4                 extp    #0E0h, #1 ; 'a'
ROM:0088E4E8                 movb    rl4, B_alsflags      (B_alsflags-0x383F40)
ROM:0088E4EC                 bset    r4.0
ROM:0088E4EE                 extp    #0E0h, #1 ; 'a'
ROM:0088E4F2                 movb    B_alsflags, rl4
ROM:0088E4F6                 jmpr    cc_UC, B_nls_set
ROM:0088E4F8 ; ---------------------------------------------------------------------------
ROM:0088E4F8
ROM:0088E4F8 lc_reset:                               ; CODE XREF: AL_routine+28j
ROM:0088E4F8                                         ; AL_routine+2Cj ...
ROM:0088E4F8                 extp    #0E0h, #1 ; 'a'
ROM:0088E4FC                 movb    rl4, B_alsflags
ROM:0088E500                 bclr    r4.0
ROM:0088E502                 extp    #0E0h, #1 ; 'a'
ROM:0088E506                 movb    B_alsflags, rl4
ROM:0088E50A                 jmpr    cc_UC, B_nls_set
ROM:0088E50C ; ---------------------------------------------------------------------------
ROM:0088E50C
ROM:0088E50C B_als_reset:                            ; CODE XREF: AL_routine+16j
ROM:0088E50C                                         ; AL_routine+22j
ROM:0088E50C                 extp    #0E0h, #1 ; 'a'
ROM:0088E510                 mov     B_alsflags, ZEROS
ROM:0088E514                 jmpr    cc_UC, Offset_switch
ROM:0088E516 ; ---------------------------------------------------------------------------
ROM:0088E516
ROM:0088E516 B_nls_set:                              ; CODE XREF: AL_routine+66j
ROM:0088E516                                         ; AL_routine+7Aj
ROM:0088E516                 extp    #0E0h, #1 ; 'a'
ROM:0088E51A                 movb    rl4, B_alsflags
ROM:0088E51E                 jb      r4.0, B_nls_reset
ROM:0088E522                 movb    rl4, CWALS
ROM:0088E526                 jnb     r4.1, B_nls_reset
ROM:0088E52A                 jnb     br_cl_cond.8, B_nls_reset
ROM:0088E52E                 jb      br_cl_cond.4, B_nls_reset
ROM:0088E532                 mov     r4, nmot_w
ROM:0088E536                 exts    #81h, #1 ; 'ü'
ROM:0088E53A                 mov     r9, nls_rpm         (nls_rpm-0x817128)
ROM:0088E53E                 cmp     r4, r9
ROM:0088E540                 jmpr    cc_ULE, B_nls_reset
ROM:0088E542                 extp    #0E0h, #1 ; 'a'
ROM:0088E546                 movbz   r4, wped            (wped-0x380B02)
ROM:0088E54A                 exts    #81h, #1 ; 'ü'
ROM:0088E54E                 movbz   r9, nls_ped_thresh         (nls_ped_thresh-0x81712A)
ROM:0088E552                 cmp     r4, r9
ROM:0088E554                 jmpr    cc_ULE, B_nls_reset
ROM:0088E556                 extp    #0E0h, #1 ; 'a'
ROM:0088E55A                 movb    rl4, B_alsflags
ROM:0088E55E                 bset    r4.1
ROM:0088E560                 extp    #0E0h, #1 ; 'a'
ROM:0088E564                 movb    B_alsflags, rl4
ROM:0088E568                 jmpr    cc_UC, Offset_switch
ROM:0088E56A ; ---------------------------------------------------------------------------
ROM:0088E56A
ROM:0088E56A B_nls_reset:                            ; CODE XREF: AL_routine+8Ej
ROM:0088E56A                                         ; AL_routine+96j ...
ROM:0088E56A                 extp    #0E0h, #1 ; 'a'
ROM:0088E56E                 movb    rl4, B_alsflags
ROM:0088E572                 bclr    r4.1
ROM:0088E574                 extp    #0E0h, #1 ; 'a'
ROM:0088E578                 movb    B_alsflags, rl4
ROM:0088E57C                 jmpr    cc_UC, Offset_switch

Then I have some open space for edits and revisions, Then the maps switches read

ROM:0088E5EA Offset_switch:                          ; CODE XREF: AL_routine+84j
ROM:0088E5EA                                         ; AL_routine+D8j ...
ROM:0088E5EA                 extp    #0E0h, #1 ; 'a'
ROM:0088E5EE                 movb    rl4, B_alsflags
ROM:0088E5F2                 cmpb    rl4, #0
ROM:0088E5F6                 jmpr    cc_UGT, als_offset
ROM:0088E5F8
ROM:0088E5F8 stock_offset:
ROM:0088E5F8                 mov     r4, #1C72h
ROM:0088E5FC                 extp    #0E0h, #1 ; 'a'
ROM:0088E600                 mov     KFZW_offset, r4      (0x383F42)
ROM:0088E604                 mov     r4, #1D32h
ROM:0088E608                 extp    #0E0h, #1 ; 'a'
ROM:0088E60C                 mov     KFZW2_offset, r4      (0x383F44)
ROM:0088E610                 mov     r4, #38Eh
ROM:0088E614                 extp    #0E0h, #1 ; 'a'
ROM:0088E618                 mov     LAMFA_offset, r4      (0x383F46)
ROM:0088E61C                 mov     r4, #1207h
ROM:0088E620                 extp    #0E0h, #1 ; 'a'
ROM:0088E624                 mov     KFLBTS_offset, r4      (0x383F48)
ROM:0088E628                 mov     r4, #6B2Bh
ROM:0088E62C                 extp    #0E0h, #1 ; 'a'
ROM:0088E630                 mov     KFZWMN_offset, r4      (0x383F4A)
ROM:0088E634                 mov     r4, #10B0h
ROM:0088E638                 extp    #0E0h, #1 ; 'a'
ROM:0088E63C                 mov     KFZWMS_offset, r4      (0x383F4C)
ROM:0088E640                 jmpr    cc_UC, return
ROM:0088E642 ; ---------------------------------------------------------------------------
ROM:0088E642
ROM:0088E642 als_offset:                             ; CODE XREF: AL_routine+166j
ROM:0088E642                 mov     r4, #7130h
ROM:0088E646                 extp    #0E0h, #1 ; 'a'
ROM:0088E64A                 mov     KFZW_offset, r4
ROM:0088E64E                 mov     r4, #71F0h
ROM:0088E652                 extp    #0E0h, #1 ; 'a'
ROM:0088E656                 mov     KFZW2_offset, r4
ROM:0088E65A                 mov     r4, #72B0h
ROM:0088E65E                 extp    #0E0h, #1 ; 'a'
ROM:0088E662                 mov     LAMFA_offset, r4
ROM:0088E666                 mov     r4, #7450h
ROM:0088E66A                 extp    #0E0h, #1 ; 'a'
ROM:0088E66E                 mov     KFLBTS_offset, r4
ROM:0088E672                 mov     r4, #7310h
ROM:0088E676                 extp    #0E0h, #1 ; 'a'
ROM:0088E67A                 mov     KFZWMN_offset, r4
ROM:0088E67E                 mov     r4, #73D0h
ROM:0088E682                 extp    #0E0h, #1 ; 'a'
ROM:0088E686                 mov     KFZWMS_offset, r4
ROM:0088E68A                 jmpr    cc_UC, return
ROM:0088E68C ; ---------------------------------------------------------------------------
ROM:0088E68C
ROM:0088E68C return:                                 ; CODE XREF: AL_routine+1B0j
ROM:0088E68C                                         ; AL_routine+1FAj
ROM:0088E68C                 jmps    85h, loc_85FA74
Logged
TijnCU
Hero Member
*****

Karma: +60/-4
Offline Offline

Posts: 690


flying brick


« Reply #12 on: June 14, 2018, 02:49:17 AM »

I would not choose to do a full map switch for this function, that is unneccesary. You can hack into zwout for ignition angle and ftek_w for fuel enrichment (I wrote almost a copy paste function for this some time ago > http://nefariousmotorsports.com/forum/index.php?topic=14030.0title= )
I wrote a similar style map lookup for ignition retard that gets planted right at the zwout inputs.
Logged

nyet
Administrator
Hero Member
*****

Karma: +604/-166
Offline Offline

Posts: 12233


WWW
« Reply #13 on: June 14, 2018, 01:23:57 PM »

VERY HAPPY to see if unstickied.

well i stickied it in the hopes of discussion, not freeloaders :/
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
Cadensdad14
Full Member
***

Karma: +8/-1
Offline Offline

Posts: 134


« Reply #14 on: June 14, 2018, 01:55:50 PM »

I started this thread after reading through all of the sticky thread for the revised launch control in the reverse engineering section.  It seemed like something that was really good was developed, and then never released.  Everything Ive learned Ive learned from this forum, and I want to give back.  Dont have a problem with people using anything, and I will put it on here when its done, but I dont want people thinking Im an authority when Im really a novice.

I want to do the full map switch because I feel like I have more things I want to make, and implementing a map switch seems more useful later.  It also gives me more data points to tune. 
Logged
Pages: [1] 2 3 4
  Print  
 
Jump to:  

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