Pages: [1] 2 3
Author Topic: Med17 simple launch control - Ign retard  (Read 24922 times)
gt-innovation
Sr. Member
****

Karma: +60/-91
Offline Offline

Posts: 449


« on: May 08, 2019, 03:49:52 AM »

This post is for someone that likes to experiment into building a simple launch control function using ignition retard on any med17 ecu .Be aware that most of those ecus have an already built in function that you can utilize with various ways including requests from a DSG gearbox.The oem function is using minimum ignition angle maps such a zwlate etc.

Now if you need to force such a function based on some simple conditions to build boost or have some fun here is how :

The code was done on a tc1766 med17.5.5 1.4 tsi engine and it does not need a "free" memory space to function".The hook up is done through zwout_syns and hijacks zwcalcar+array.


--------------------------------------------------------------------------------------------------------------------------------------------------------

PFLASH:8011EDA6 loc_8011EDA6:                           ; CODE XREF: sub_8011ECE4+B6↑j
PFLASH:8011EDA6                 add16           d2, #1
PFLASH:8011EDA8                 movh.a          a2, #@HIS(zwcalcar)
PFLASH:8011EDAC                 extr.u          d2, d2, #0, #8
PFLASH:8011EDB0                 lea             a2, [a2]@LOS(zwcalcar)
PFLASH:8011EDB4                 addsc32.a       a15, a2, d4, #0
PFLASH:8011EDB8                 st16.b          [a15]0, d0
PFLASH:8011EDBA                 jlt.u           d2, #2, loc_8011ED1A
PFLASH:8011EDBE                 j32             loc_80170052    <----------------------Jump to als nls function
PFLASH:8011EDC2 ; ---------------------------------------------------------------------------
PFLASH:8011EDC2
PFLASH:8011EDC2 loc_8011EDC2:                           ; CODE XREF: PFLASH:80170064↓j
PFLASH:8011EDC2                 st32.b          zwkrafld, d3
PFLASH:8011EDC6                 addsc16.a       a15, a2, d15, #0
PFLASH:8011EDC8                 ld16.bu         d15, [a15]0
PFLASH:8011EDCA                 st32.b          zwist, d15
PFLASH:8011EDCE                 st32.b          zwout, d15
PFLASH:8011EDD2                 nor16           d15, #0
PFLASH:8011EDD4                 st32.b          zwoutcpl, d15
PFLASH:8011EDD8                 ld32.bu         d15, zwcalcar
PFLASH:8011EDDC                 st32.b          zwzyl1, d15
PFLASH:8011EDE0                 ret16


--------------------------------------------------------------------------------------------------------------------------------------------------------


Main function for launch control


--------------------------------------------------------------------------------------------------------------------------------------------------------

PFLASH:80170000 alsnls:                                 ; CODE XREF: PFLASH:8017005A↓p
PFLASH:80170000                 ld32.bu         d15, byte_D00000E9 ; b_brems
PFLASH:80170004                 jz32.t          d15:6, locret_80170050
PFLASH:80170008                 movh.a          a15, #@HIS(speed_deactivate)
PFLASH:8017000C                 lea             a15, [a15]@LOS(speed_deactivate)
PFLASH:80170010                 ld16.bu         d15, [a15]0 ; unk_8016FC26
PFLASH:80170012                 ld32.bu         d2, vfzg
PFLASH:80170016                 jge.u           d2, d15, locret_80170050
PFLASH:8017001A                 movh.a          a15, #@HIS(lc_rpm_activation)
PFLASH:8017001E                 lea             a15, [a15]@LOS(lc_rpm_activation)
PFLASH:80170022                 ld.hu           d15, [a15]0 ; unk_8016FC22
PFLASH:80170026                 ld.hu           d2, nmot_w
PFLASH:8017002A                 jlt.u           d2, d15, locret_80170050
PFLASH:8017002E                 mov16           d15, #1
PFLASH:80170030                 movh.a          a15, #@HIS(Lc_retard_degrees)
PFLASH:80170034                 lea             a15, [a15]@LOS(Lc_retard_degrees)
PFLASH:80170038                 movh.a          a2, #@HIS(zwcalcar)
PFLASH:8017003C                 lea             a2, [a2]@LOS(zwcalcar)
PFLASH:80170040                 ld16.bu         d15, [a15]0 ; unk_8016FC20
PFLASH:80170042                 st32.b          [a2](unk_D00024C3 - 0xD00024C0), d15
PFLASH:80170046                 st16.b          [a2], d15
PFLASH:80170048                 st32.b          [a2](unk_D00024C1 - 0xD00024C0), d15
PFLASH:8017004C                 st32.b          [a2](unk_D00024C2 - 0xD00024C0), d15
PFLASH:80170050
PFLASH:80170050 locret_80170050:                        ; CODE XREF: PFLASH:80170004↑j
PFLASH:80170050                                         ; PFLASH:80170016↑j ...
PFLASH:80170050                 ret16
PFLASH:80170052 ; ---------------------------------------------------------------------------
PFLASH:80170052
PFLASH:80170052 loc_80170052:                           ; CODE XREF: sub_8011ECE4+DA↑j
PFLASH:80170052                 ld32.bu         d15, zzylzue
PFLASH:80170056                 svlcx
PFLASH:8017005A                 calla           alsnls
PFLASH:8017005E                 rslcx
PFLASH:80170062                 nop16
PFLASH:80170064                 ja              loc_8011EDC2
PFLASH:80170068 ; ---------------------------------------------------------------------------
PFLASH:80170068                 ret16
PFLASH:8017006A ; ---------------------------------------------------------------------------
PFLASH:8017006A                 nop16


--------------------------------------------------------------------------------------------------------------------------------------------------------

Since my code after several months is now far more advanced and works on several med17 platforms i decided to give something back to the community.
Remember that this code is tc1766 1.4 tsi specific and you might need some minor changes due to some differences on the factory zwout_syns and due to some silicon bugs that involve rslcx , ja , calla etc...

Once you understand the function you can brake it up and call the main function directly from the raster but that will require a non used memory address for triggering which might take you a while to figure out.

Questions regarding this post can be done here and NOT in PM..
« Last Edit: May 08, 2019, 04:01:48 AM by gt-innovation » Logged
_nameless
Hero Member
*****

Karma: +342/-466
Offline Offline

Posts: 2802



« Reply #1 on: May 08, 2019, 07:44:30 AM »

+1 thanks for this.
Logged

Giving your mom a tuneup
focalpoint519
Full Member
***

Karma: +29/-65
Offline Offline

Posts: 148



« Reply #2 on: May 09, 2019, 08:13:45 AM »

amazing! Good work! haxor as fuck.
Logged
armageddon
Sr. Member
****

Karma: +20/-3
Offline Offline

Posts: 348


« Reply #3 on: May 09, 2019, 12:02:54 PM »

Thumbs up for you
Logged
Kompiesto
Full Member
***

Karma: +4/-5
Offline Offline

Posts: 109


« Reply #4 on: May 09, 2019, 11:19:54 PM »

Very nice! Med17 is not simple ecu. Good work!
Logged
fgawly
Newbie
*

Karma: +0/-4
Offline Offline

Posts: 23


« Reply #5 on: May 31, 2019, 12:28:47 PM »

I'm sorry for the stupid question, but what architecture is this? What are these instructions?
I'm just a Computer Science guy digging his way into tuning..
Logged
Blazius
Hero Member
*****

Karma: +89/-40
Offline Offline

Posts: 1282



« Reply #6 on: May 31, 2019, 01:05:04 PM »

Its assembly in Infineon.
Logged
nyet
Administrator
Hero Member
*****

Karma: +607/-168
Offline Offline

Posts: 12270


WWW
« Reply #7 on: May 31, 2019, 01:26:51 PM »

tricore ref https://www.infineon.com/dgdl/tc_v131_instructionset_v138.pdf?fileId=db3a304412b407950112b409b6dd0352
Logged

ME7.1 tuning guide
ECUx Plot
ME7Sum checksum
Trim heatmap tool

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 ex
845motorsports
Newbie
*

Karma: +1/-0
Offline Offline

Posts: 3


« Reply #8 on: July 30, 2019, 08:56:48 PM »

so i'm looking through my a2l for the med 17.9.8 and it looks like it has all the the necessary functions from within the code however i haven't the foggiest clue how to start about implementing it if i posted a stock file would you be able to take a gander been trying to find someone to do LC and NLS on it for a while.


I've currently gotten boost building LC by the guide from nefmoto and a lc that has louder bangs both work well on stock turbos but i'm currently dealing with a larger turbo (bnr s5 on a 1.6T) and even setting it up for 4700 it's like ... no boost for you .

i think i have a rough idea of how your code works but i would appreciate any assistance you can give
Logged
_nameless
Hero Member
*****

Karma: +342/-466
Offline Offline

Posts: 2802



« Reply #9 on: July 31, 2019, 06:00:25 AM »

so i'm looking through my a2l for the med 17.9.8 and it looks like it has all the the necessary functions from within the code however i haven't the foggiest clue how to start about implementing it if i posted a stock file would you be able to take a gander been trying to find someone to do LC and NLS on it for a while.


I've currently gotten boost building LC by the guide from nefmoto and a lc that has louder bangs both work well on stock turbos but i'm currently dealing with a larger turbo (bnr s5 on a 1.6T) and even setting it up for 4700 it's like ... no boost for you .

i think i have a rough idea of how your code works but i would appreciate any assistance you can give
lol nice first post
Logged

Giving your mom a tuneup
gt-innovation
Sr. Member
****

Karma: +60/-91
Offline Offline

Posts: 449


« Reply #10 on: July 31, 2019, 11:46:17 AM »

so i'm looking through my a2l for the med 17.9.8 and it looks like it has all the the necessary functions from within the code however i haven't the foggiest clue how to start about implementing it if i posted a stock file would you be able to take a gander been trying to find someone to do LC and NLS on it for a while.


I've currently gotten boost building LC by the guide from nefmoto and a lc that has louder bangs both work well on stock turbos but i'm currently dealing with a larger turbo (bnr s5 on a 1.6T) and even setting it up for 4700 it's like ... no boost for you .

i think i have a rough idea of how your code works but i would appreciate any assistance you can give

All the assistance you need is around this forum.

I have basically given the code to build whatever boost you need if you know what you are doing. This code is VAG based and most likely will not work on other platforms that has a different ignition array.

I have not studied the code of your ecu yet and unless i have a full read or a good complete hex-a2l pair i might never do it too..

Also half of your post does not make sense.
Logged
845motorsports
Newbie
*

Karma: +1/-0
Offline Offline

Posts: 3


« Reply #11 on: July 31, 2019, 05:43:08 PM »

lol nice first post

sorry thought i made a first post long ago when i originally joined sorry
Logged
845motorsports
Newbie
*

Karma: +1/-0
Offline Offline

Posts: 3


« Reply #12 on: July 31, 2019, 05:52:24 PM »

All the assistance you need is around this forum.

I have basically given the code to build whatever boost you need if you know what you are doing. This code is VAG based and most likely will not work on other platforms that has a different ignition array.

I have not studied the code of your ecu yet and unless i have a full read or a good complete hex-a2l pair i might never do it too..

Also half of your post does not make sense.

I do have a hex a2l pair already which is how I have been developing the my tunes for the car ( this forum was WAY more helpful than just dealing with what ecm titanium gave when i first started tuning them lol ). You mentioned it doesn't need "free" memory space to function so i figured the process was different the other things I had found on here. I tried searching before posting but for whatever reason i don't have luck with the search function ( i literally searched for med17 as i was trying to find the precontrol thread and it told me nothing existed LOL)

What part doesn't make sense ? i've already followed the nefwiki for how to have a simple launch control  ( not hard cut ) which works to get like 4-5 psi on our stock turbo .. a more rambunctious one that got to 7-10 on stock turbo no issue. but when swapping to a much larger turbo they do nothing to build boost even having it setup at 4700 rpms which is where the turbo spools
Logged
gt-innovation
Sr. Member
****

Karma: +60/-91
Offline Offline

Posts: 449


« Reply #13 on: August 01, 2019, 01:08:34 AM »

Apart from an a2l and hex a test car is needed and that should be local.

Bottom line is unless i decide to post more things here everything else will be a paid service.This one also means that it has to become a priority for me and i don`t see the potential gain from doing this in one car.
Logged
Jonny_Z
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 5


« Reply #14 on: August 11, 2019, 06:03:39 AM »

Code:
PFLASH:80170042                 st32.b          [a2](unk_D00024C3 - 0xD00024C0), d15

I've go through the tircore manual "tc_v131_instructionset_v138" but dont find the meaning of "[a2](unk_D00024C3 - 0xD00024C0)", would anyone like to give a hint? Wink
Logged
Pages: [1] 2 3
  Print  
 
Jump to:  

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