Page 1 of 22 1234567891011 ... LastLast
Results 1 to 25 of 527

Thread: v2.0 413 Tuning thread

  1. #1
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR

    v2.0 413 Tuning thread

    This thread will house and summarize the critical posts from the original 413 thread. Thank you and thanks to the original contributors to the 413 thread.
    Quote Originally Posted by techno550 View Post
    I tried starting a similar thread in the Track & autocross forum 6 months ago and it was mostly a flop.

    Now with the interest in the turbo M50 stuff, perhaps the FI forum will be able to gather enough critical mass to get stuff done.

    The 413 is used on the 93-95 325's as well as the 95 M3. So whatever is figured out will work on all of the above. EWS comes into play on the 95 ECU's at some point, and I have no knowledge of that system's workings, but perhaps that can be sorted as well.

    What we know so far (or at least I think we know):
    the EPROM used is a 27C512 (you'll want decently fast ones as well.)
    The ECU uses an 8096 processor. (good luck finding a smart dissassembler though. )

    Well, thats about all we *know* at present.
    we have a little more info on things like map locations and the likes, but not tons. Thats what I hope to find by having others trace the code as well.
    Last edited by 325icintn; 01-30-2008 at 02:51 PM.

  2. #2
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Bin and related thread. Thanks for hosting the bin TRM.
    Quote Originally Posted by techno550 View Post
    To restate "where we are and what we think we might understand" I should probably link to the old thread.
    http://forums.bimmerforums.com/forum...d.php?t=338847
    the stock bin for a 413 box. (from a 94ish 325is.)
    http://www.racersmarket.net/files/DME/413/stock413.BIN

  3. #3
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    The map master:
    Quote Originally Posted by techno550 View Post
    The maps appear to be load (MAF voltage) and RPM dependent.
    For the map format, I covered some of that here: http://forums.bimmerforums.com/forum...d.php?t=338847
    (see: post #6)
    The basics of it are this:
    It will start with the parameter (D0, D5, etc...) of that axis. The parameter will be followed by the number of values on that axis. (so if it starts D0 06) then D0 is the variable for that axis and there are 6 *points* on that axis. following that there will be the values of the 6 points. Then if its a 2 axis grid, you'll have another parameter. (Like a D5). this again will be followed by the number of grid points, followed by the values of those points. After that comes the data that fills that grid.
    reading the post mentioned above may help.
    I haven't found a good disassembler for this yet. I would prefer one that acts as a debugger as well and lets you trace code. No such luck with that thus far. Tracing all of that crap by hand would really suck.
    With the map format being relatively understood, would someone like to start writing the UI side of things?
    as a side note, here is what I *think* we know thus far.
    Idle Fuel map: E967
    Fuel WOT map (vanos retarded): E986
    Fuel WOT map (vanos advanced): E9A8
    Fuel Part Throttle map (vanos retarded): E9CA
    Fuel Part Throttle map (vanos advanced): EAAA
    Ignition WOT map (vanos retarded): ED11
    Ignition WOT map (vanos advanced): ED8B
    Ignition Part Throttle map (vanos retarded): EE6F
    Ignition Part Throttle map (vanos advanced): EF4F
    Things I am not sure of and/or would like to find:
    -global fuel modifier? something that if switching from 24 lb/hr injectors to 30 lb/hr injectors or the likes would allow for the editing of one variable to make most of the compensation without having to touch ALL of the fuel tables initially.
    -cruise (closed loop) air fuel targets.
    -Vanos map.


    i think that covers most things thus far for questions and maps and whatnot.

  4. #4
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Some good links:
    Quote Originally Posted by Robstah View Post
    Here is some information that I have been gathering up. The Bosch 413 full number is 0-261-200-413. This was used in the E36, BMW 325i/is/ic through 9/92 to 12/94. The engine that matches it is the M50tu/B25. The 413 uses the Motronic M3.3.1. Here is the schematic to the Motronic M3.1, which may be similar to the M3.3.1:
    http://www.carsoft.ru/avtorepair/m3_1.pdf

    Here are the EPROM stats:
    Processor Type: MCS-96/51
    EPROM Type: 27C512

    Here's more info on the Motronic Systems:
    http://www.ludd.luth.se/users/rotax/.../motronic.html

    Check Engine Light Fault Codes:
    http://www.golgofa.ru/diagnos/f_code.html

    Here maybe a spot in the bin for the rev limiter:
    http://www.chiptuningforum.com/phpbb...296&highlight=

    And the best link of all:
    http://www.motronic.ru/blok/ecu/bmw/...osch/bosch.htm
    Just the whole motronic site is interesting to look at. All we need is a Russian translator...

    Here is the pinout for the M3.3.1:
    http://www.motronic.ru/blok/auto/bmw/320_e36_m331.rar

    I will have more soon.

  5. #5
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Tunerpro:
    Quote Originally Posted by Robstah View Post
    Instead of trying to write an interface from scratch, why not just try to use this TunerPro software? I have been playing with it for a while and it looks promising. All we need to do is create an XDF file to have all of our mappings. This program can also convert into understandable readings for easier tweaking. It has graphs built-in, and a HEX editor as well. It looks VERY promising. Here is the link:

    http://tunerpro.markmansur.com/

    Just download it and try out the sample BIN and XDFs and see if this will work. I think it will.

  6. #6
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Axes baby:
    Quote Originally Posted by NockenPaul View Post
    To Techno550.

    >Idle Fuel map: E967
    >Fuel WOT map (vanos retarded): E986
    >Fuel WOT map (vanos advanced): E9A8
    >Fuel Part Throttle map (vanos retarded): E9CA
    >Fuel Part Throttle map (vanos advanced): EAAA
    >Ignition WOT map (vanos retarded): ED11
    >Ignition WOT map (vanos advanced): ED8B
    >Ignition Part Throttle map (vanos retarded): EE6F
    >Ignition Part Throttle map (vanos advanced): EF4F

    Those information were I told you last night.
    now, I tell very important thing about Lattice interval you and all.

    Example:Ignition WOT NE(rpm)axis

    HEX D0 10 05 06 05 07 0A 05 07 0B 09 09 09 0F 12 13 08 60

    D0:NE(rpm)
    10:16Lattice interval
    last 60H (=96DEC)means Max value.......2^8 *40-40*96
    others are interval.......LSB=40

    In conclusion,

    680 880 1120 1320 1600 2000 2200 2480 2920 3280 3640 4000 4600 5320 6080 6400

    undestand? >all
    A little more:
    Quote Originally Posted by techno550 View Post
    That is your last data point, and you "work backwards" from there.

    So if we had (as in the previous example): D0 10 05 06 05 07 0A 05 07 0B 09 09 09 0F 12 13 08 60

    our last point is 6400. the point before that would be 08*40 less than that. so 6400 - 320 = 6080
    then the point before that is 13H (which is 19 dec) * 40 = 760
    6080 - 760 = 5320

    and so on.
    Do that for all of them and eventually you get:
    680 880 1120 1320 1600 2000 2200 2480 2920 3280 3640 4000 4600 5320 6080 6400

    hope that helps

  7. #7
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    More progress:
    Quote Originally Posted by techno550 View Post
    For vanos, I was looking at locations like E67E where you have low values, then a wall of high, then low again.
    106 106 106 106 106 106 106 106 111 120 255 255 255 143 132 143
    RPM 680 880 1120 1320 1600 2000 2200 2480 2920 3280 3640 4000 4600 5320 6080 6520

    Other considerations are that vanos is on at idle, off, then on again around 4500. so like:
    200 80 56 52 32 32 32 240
    RPM 800 1240 1280 1720 2040 3000 4520 4560

    the latter seems more in line with the descriptions I've heard of the workings of vanos.

    There are other maps that also have similar "features" to them that I also think could be candidtates. Hence the decompilers being used now. I'm tired of guessing or black boxing.

    Though all seem to suggest that vanos *could* be more than just on or off.

  8. #8
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Have we got them all? I don't, but I got some.
    Quote Originally Posted by dredder View Post
    here's some parameters we need to be able to change in order to have this interface successful

    Injection;
    Idle Lambda, Vanos retard
    Idle Lambda, Vanos Advanced
    Part throttle lambda, Vanos retard
    Part throttle lambda, Vanos Advanced
    WOT lambda, Vanos retard
    WOT lambda, Vanos Advanced
    Engine RPM Limit
    Vehicle Speed Limit

    Spark;
    Idle advanced, Vanos retard
    Idle advanced, Vanos Advanced
    Part throttle advanced, Vanos retard
    Part throttle advanced, Vanos Advanced
    WOT throttle advanced, Vanos retard
    WOT throttle advanced, Vanos Advanced
    DWELL

    Vanos;
    Advance Load Min
    Retard Load Max
    Coolant temp Factor
    Throttle min for retard (Load override)
    Throttle max for advance

    Idle parameters;
    Idle speed, base [MT or (A)EGS in P/N]
    Idle speed, (A)EGS in D
    Idle speed, A/C on, (A)EGS in D
    Idle speed min. for A/C on [MT or (A)EGS in P/N]

  9. #9
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Sage:
    Quote Originally Posted by spooltime View Post
    Keep in mind that in addition to the commanded lambda maps at idle/PL/WOT, you'll still need access to the HFM transfer function and injector parameters (flow rate, voltage offset table) in order to properly tune one of these cars. Failure to properly calibrate the HFM transfer function will adversely affect the DME's load calculations. The DME uses load to control idle and ignition mapping.

    The REAL trick would be to get to the point where the Ford and GM enthusiasts are with editors that display in physical units and can be adjusted using normal math instead of doing continuous hex conversions and the "hunt and peck" approach to finding variables.
    Quote Originally Posted by spooltime View Post
    True, you could avoid troubles by keeping the stock MAF (in its EXACT stock installation arrangement) and injectors (at the stock pressure level), but you would be limited on measurement range power potential as a direct result. What fun would that be with a turbo/blower?

    Tuning the base tables work with a false load, airmass, or fuel mass is just silly in calibration-speak. The right way to do it is with a MAF with the proper range and injectors that are capable of supplying the necessary fuel volume with less than ~80% duty cycle. The ECU works soooooo much better when it can calculate ACTUAL values and only needs to supply very small corrections as a result, trust me. I suspect any tuner that really understands this is operating the same way. (Nick at TT appears to be doing just this with the new MAFs and remapping)

    FYI fellas, load in a MAF based system is easily calculated by:
    (measured MAF)
    (theoretical MAF)

    where (theoretical MAF) = (displacement)(density @ STP)(RPM)(0.5) Easy math for the ECU to do on the fly, it just depends heavily upon (measured MAF) being correct.
    Can anyone use an actual MAF voltage reading and the MAF table to walk us through this calculation? What is the correct conversion factor and to what units?
    Last edited by 325icintn; 07-11-2008 at 10:14 AM.

  10. #10
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    For the record, I am using an AC powered Willem burner.
    Quote Originally Posted by artwar2004 View Post
    Quote Originally Posted by artwar2004 View Post
    The programmer I use was DIY from Bidipro – you have link, tope one.
    402 DMA have 27c256 – EPROM, 413 DMA have 27c512. I can reprogram both.
    So to be able modify program in stock ECU you knead programmer that can program those chips. They are basics chips and most programmers will do the job. Also you can get EEPROM – the can be reprogrammed with out UV erasure and number is – 27SF256 –for 402, not sure for 413 but can find out.
    Stock DMA can be tuned as easy as aftermarket, you only have to know location of maps and what I think, they can performer better, coz they have much more sensors.
    Quote Originally Posted by m3boost View Post
    Mine eeporm burner is the Willem programmer I bought it off ebay. It works great and you can also edit the bins if you know how. I used it for remote tuning with karl.

    http://cgi.ebay.com/Enhanced-Willem-EPROM-Programmer-USB-BIOS-PIC-FWH-ATMEL_W0QQitemZ7571145401QQcategoryZ4661QQssPageNa meZWDVWQQrdZ1QQcmdZViewItem
    Last edited by 325icintn; 01-30-2008 at 02:52 PM.

  11. #11
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    WinOLS software
    Quote Originally Posted by artwar2004 View Post
    For those who missed, good software to explore EPROMS maps is: http://www.evc.de/en/download/down_winols.asp

  12. #12
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    A reformatted fuel map
    Quote Originally Posted by borealiss View Post
    here's the reformatted output and corrected columns and rows for the stock 325 ecu image. rpms are the left most colum, the top most row is the MAF load. i'm not sure how each maf load value correlates to one another since each consecutive value (going left to right) i think is a value that builds on the previous one, much like the formula for calculating the RPM's. The map below is at part throttle w/ vanos retarded. all the other maps look similar. code is posted in the other forum...

    --------

    MAF_LOAD
    RPM 10 10 12 12 14 14 14 14 12 16 16 92
    680 133 133 133 133 130 128 131 134 137 137 137 137
    880 131 131 132 130 130 129 131 134 137 137 137 137
    1120 132 132 130 130 129 128 130 133 133 133 133 133
    1320 130 130 130 129 128 127 130 132 132 132 132 133
    1600 129 129 129 128 127 127 130 133 134 134 134 134
    2000 129 129 129 128 128 127 130 131 131 131 131 131
    2200 129 129 128 128 128 128 129 129 129 129 129 129
    2480 129 129 128 128 129 129 129 129 129 129 129 129
    2920 128 128 128 128 129 130 130 129 129 129 129 129
    3280 128 128 128 129 130 130 130 129 129 130 130 130
    3640 128 128 128 130 131 131 130 130 130 131 131 131
    4000 128 128 128 129 130 130 130 130 131 131 131 131
    4600 128 128 129 130 131 131 131 130 130 130 130 131
    5320 129 129 129 130 131 131 130 130 130 137 137 137
    6080 129 129 130 130 130 131 131 139 142 146 146 146
    6400 129 129 130 130 130 131 133 137 138 140 143 143

  13. #13
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Thoughts on MAF expression
    Quote Originally Posted by techno550 View Post
    This is a "best guess" as I haven't found a good way to confirm it yet. (no way to monitor what locations in the map are being read... yet... )

    MAF load values are cumulative. So the first value is 10h. the next value is 10h more than that. the next one 12h more than that.

    The way I currently look at it is as a % of the max value of load. (max value of load being found by adding up all of the values in the maf_load row.)
    if you add them all up, you get 164h

    so
    10 10 12 12 14 14 14 14 12 16 16 92
    could be expressed as
    10 20 32 44 58 6C 80 94 A6 BC D2 164

    (or to make it easier, those two columns in decimal)
    16 16 18 18 20 20 20 20 18 22 22 146
    16 32 50 68 88 108 128 148 166 188 210 356

    so the % values would be:
    4% 9% 14% 19% 25% 30% 36% 42% 47% 53% 59% 100%

  14. #14
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Checksum
    Quote Originally Posted by artwar2004 View Post
    I see you guys stuck a bit.
    Did any one tray to mode file and star the engine with out correcting check sum?
    I know that for M3.1 you don’t rely need to correct it.
    So any way, hear is algorithm for correction the file that has been posted in early pages at this thread:
    The check sum for mapping area in this file runs starting from E000 through to the FC37, it is calculated as 16bit check sum and it is written at address FC38 as a 16 bit value.
    Best program to use for calculation is Hex Workshop 3.xx and can be found on internet free.
    To orient you a bit more – the check sum in this file is CCFB, so your if you calculate area and you get that sum you’ve don correct.
    HAVE FUN
    If some think is unclear ask questions.

  15. #15
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Ostrich tracing info
    Quote Originally Posted by techno550 View Post
    it appears that you specify a block to watch.
    Quote Originally Posted by [B
    moates.net[/b] ]
    Trace

    send: 'T'+x1+x2+x3+y1+y2+sMMSB+sMSB+sLSB+eMMSB+eMSB+eLSB +CS

    receive: 'O'+MMSB1+MSB1+LSB+…+MMSBy+MSBy+LSBy+'O' for nonstreaming, repeating 1…y pattern for streaming

    x1 = subcommand byte
    For x1, it is a bitmask.
    B0: 0=streaming, 1=not streaming
    B1: 0=report all, 1=report only windowed hits
    B2: 0=report all, 1=report only nonredundant hits
    B3: 0=normal reporting, 1=use the sMMSB:sMSB:sLSB as a trigger address (should have B1=0,B2=1) and report subsequent hits
    B4: 0=normal reporting, 1=use the eMMSB:eMSB:eLSB as a trigger for ending address reporting (automated trigger stop)
    B5: 0=report addresses as absolute, 1=report addresses relative to start address offset (zero base)
    B6-B7: 0=report addresses using all three bytes, 1=use only LSB, 2=use only MSB:LSB, 3=same as 0 (default)
    x2,x3 = reserved option bytes for later use
    y1 = number of hits to buffer in packet prior to PC side report
    y2 = number of packets to report before returning to 'command prompt'
    sMMSB:sMSB:sLSB,eMMSB:eMSB:eLSB = inclusive window for selective reporting

    Note 1: If any byte is sent from the PC during address hit reporting, a 'hard' interrupt will occur. The present address hit report (if in progress) will be completed, and an 'O' will be reported to the PC to indicate acknowledgement and a return to the ready state.
    Note 2: If a 'soft stop' is desired, send a 't' and the in-progress packet report (size defined by y1) will be completed. An accompanying 'O' will also be reported back to the PC to acknowledge the stop execution.

    Definitions:
    Streaming: Address hits are reported without stopping unless otherwise interrupted as described in Note 1 and Note 2.
    Windowed: An area of memory can be specified via start and end addresses within the command structure. If the option bit is set to report only windowed hits, then only memory address hits within the specified range will be reported.
    Redundant: If you keep getting the same hit at the same memory location over and over, then that is redundant. If you hit the same spot after hitting other spots, then it is not redundant since it wouldn't be 'sequentially redundant'.
    Trigger: When a particular address has been defined as a trigger, then if it is hit, certain actions can be taken. These can include the start or stop of hit reporting.
    Buffer Packet: Defined by y1 in terms of size with respect to number of addresses, this is the size of the 'hit collection' that will be gathered on the Ostrich prior to bursting it back to the PC. This enhances the bandwidth so that you can rapidly gather the hits in packet form without being constrained by the bandwidth going back to the PC.
    so we'd probably be looking for windowed hits, and the window will be the current map being viewed in the editor.

  16. #16
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Some more MAF thoughts
    Quote Originally Posted by techno550 View Post
    Its a MAF based system. the base calculation is very simple. we have a known mass of air entering the engine. we start with an assumption of a given target lambda value (usually 1). if we are targeting lambda = 1 and know mass of air, we then know required mass of fuel. from that, we apply "corrections" based on things like coolant temp. The fuel tables are then further corrections to specify richer or leaner from that point. More like specifying a target lambda value.

    From the final lambda value, the injector pulse width calculations are done.

  17. #17
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Don't forget the table of addresses, should be mentioned above:
    Quote Originally Posted by techno550 View Post
    most of the various versions of the 413 have different absolute map locations. The table of addresses makes finding the map you are looking for easier.

  18. #18
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Placeholder
    Last edited by 325icintn; 07-15-2008 at 09:54 AM.

  19. #19
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Are you ready to start on your own? Then eficker has provided a good How To using winols and tunerpro:

    Quote Originally Posted by eficker View Post
    Here is how i started. First, download and install two programs, tunerpro, and winols (both can be found with a google search and are also linked to in this thread).

    Read the first three pages or so of this thread. 325isintn has so kindly reposted techno's info about where the maps are. These addresses will most likely not be right for your particular bin, but he gives you the key to finding the maps.

    Let's start by finding a known map for this excercise. We'll find the "part throttle fuel table for retarded vanos" map. Open up the bin in winols. You will select a new project, then enter a few details about your bin. Make sure that from the manufacturer drop down menu you select "bosch". Winols will find a lot of maps on its own, it just will not tell you what they are, but it does outline and mark them. They are mostly towards the end of the bin. This will make it even easier to find what you are looking for.

    In the bin posted in this thread the address for the beginning of that map is D9E5. If you look at D9C5 you will see D0 (rpm) and the hex for the number of rows (10 hex = 16 decimal). If you count on the next byte 16 cells over is D5 (load) with another designation for how many columns or rows of data, which is 0C (12 decimal). So count 12 cells over.



    Now that we know the table location, the number of rows and columns, we can now make an entry in tunerpro. Open it up and then choose "new xdf" from the "XDF" menu. Then go down to the "Tables/Functions" box on the bottom left and hit "CTRL-N" or right click and choose "insert new xdf item". Select "table" and hit "ok". Then title your table and enter the address we have found. Set the number of rows to 16, row units is RPM. Columns set to 12. On the conversion tab you want to put in "X/128" to get the values to Lambda. Hit ok or apply and close and you will have a new map that should look something like this:



    Now that you can find the maps and make your own xdf, the real trick is knowing what the maps are (you can use techno's info for reference for known maps).

    There are a few other things to learn, like calculating the axes, but that will be a topic for another post...

    What we need now is for people to learn this technique, so the bin can be understood by more people, and more maps can be found. Please post any input or if there are any mistakes. Thanks.


    If anyone thinks there are other useful posts in the other thread, please quote them into this thread. I encourage everyone to keep this thread free from OT or "popcorn" posts. It will likely get long enough without the fluff.
    It would also be nice for someone to host a file site for bins and xdf's.
    Clifton
    Last edited by 325icintn; 07-15-2008 at 09:54 AM.

  20. #20
    Join Date
    Mar 2005
    Location
    CT
    Posts
    5,547
    My Cars
    E36, WRX
    Very nice Clifton. Amazing effort. I'm sure I'll have some stuff to throw in, might as well reserve this post.

  21. #21
    Join Date
    Dec 2005
    Location
    Newport Beach, CA
    Posts
    541
    My Cars
    1989 BMW 325i, 2003
    Thanks again for summarizing all of that! It's going to make it so much easier for people seeing it for the first time. That 413 thread is a goliath.

    Autylocus still can't post links due to not having a high enough post count so here's his latest.

    Idle Fuel


    Fuel Part Throttle (Vanos Advanced)


    Fuel Part Throttle (Vanos Retarded)


    Fuel WOT (Vanos Advanced)


    Fuel WOT (Vanos Retarded)


    Ignition WOT (Vanos Advanced)


    Ignition WOT (Vanos Retarded)


    Ignition Part Throttle (Vanos Advanced)


    Ignition Part Throttle (Vanos Retarded)

    Last edited by el bob; 02-01-2008 at 05:59 PM.

  22. #22
    Join Date
    Dec 2005
    Location
    Newport Beach, CA
    Posts
    541
    My Cars
    1989 BMW 325i, 2003
    XDF
    1.110000

    DO NOT HAND EDIT!!!! (Trust me)

    %%HEADER%%
    001000 FileVers =""
    001005 DefTitle ="Stock 413 Definitions"
    001007 DescSize =0x0
    001006 Desc =""
    001010 Author ="me"
    001030 BinSize =0xFFFF
    001035 BaseOffset =0
    001200 ADSAssoc =""
    001225 ADSCheck =0x0
    001300 GenFlags =0x0
    001325 ModeFlags =0x0
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x2BE2
    040005 Title ="Idle Fuel"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xE974
    040200 ZEq =X,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040205 OutType =0x2
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0x6
    040305 Cols =0x3
    040310 PopByCol =0x1
    040320 XUnits =""
    040325 YUnits =""
    040330 ZUnits ="Degrees"
    040350 XLabels =20,40,64
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =14,15,24,30,50,100
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x3204
    040005 Title ="Fuel WOT (Vanos Retarded)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xE998
    040200 ZEq =X/128,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0x1
    040305 Cols =0x10
    040320 XUnits ="RPM"
    040325 YUnits =""
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =(null)
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x2F07
    040005 Title ="Fuel WOT (Vanos Advanced)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xE9BA
    040200 ZEq =X/128,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0x1
    040305 Cols =0x10
    040320 XUnits ="RPM"
    040325 YUnits =""
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =null
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x123F
    040005 Title ="Fuel Part Throttle (Vanos Retarded)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xE9EA
    040200 ZEq =X/128,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0xC
    040305 Cols =0x10
    040310 PopByCol =0x1
    040320 XUnits ="RPM"
    040325 YUnits ="load"
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =20,30,40,52,64,78,92,106,120,132,148,164
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x6254
    040005 Title ="Fuel Part Throttle (Vanos Advanced)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xEACA
    040200 ZEq =X/128,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0xC
    040305 Cols =0x10
    040310 PopByCol =0x1
    040320 XUnits ="RPM"
    040325 YUnits ="Load"
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =20,30,40,52,64,78,92,106,120,132,148,164
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x5ECB
    040005 Title ="Ignition Part Throttle (Vanos Retarded)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xEE8F
    040200 ZEq =(X-60)*.75,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0xC
    040305 Cols =0x10
    040310 PopByCol =0x1
    040320 XUnits ="RPM"
    040325 YUnits ="load"
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =20,30,40,52,64,78,92,106,120,132,148,164
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x5253
    040005 Title ="Ignition Part Throttle (Vanos Advanced)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xEF6F
    040200 ZEq =(X-60)*.75,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0xC
    040305 Cols =0x10
    040310 PopByCol =0x1
    040320 XUnits ="RPM"
    040325 YUnits ="load"
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =20,30,40,52,64,78,92,106,120,132,148,164
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x50B9
    040005 Title ="Ignition WOT (Vanos Retarded)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xED2B
    040200 ZEq =(X-60)*.75,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0x6
    040305 Cols =0x10
    040310 PopByCol =0x1
    040320 XUnits ="RPM"
    040325 YUnits =""
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =92,106,120,132,148,164
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

    %%TABLE%%
    000002 UniqueID =0x13BD
    040005 Title ="Ignition WOT (Vanos Advanced)"
    040011 DescSize =0x1
    040010 Desc =""
    040100 Address =0xEDA5
    040200 ZEq =(X-60)*.75,TH|0|0|0|0|
    040203 XOutType =0x4
    040304 YOutType =0x4
    040230 RangeLow =0.0000
    040240 RangeHigh =255.0000
    040300 Rows =0x6
    040305 Cols =0x10
    040310 PopByCol =0x1
    040320 XUnits ="RPM"
    040325 YUnits =""
    040330 ZUnits =""
    040350 XLabels =680,880,1120,1320,1600,2000,2200,2480,2920,3280,3 640,4000,4600,5320,6080,6400
    040352 XLabelType =0x4
    040354 XEq =X,TH|0|0|0|0|
    040360 YLabels =92,106,120,132,148,164
    040362 YLabelType =0x4
    040364 YEq =X,TH|0|0|0|0|
    040660 XAxisMin =1000.000000
    040670 XAxisMax =1000.000000
    040760 YAxisMin =1000.000000
    040770 YAxisMax =1000.000000
    %%END%%

  23. #23
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    Check the addresses of the WOT ignition. You are off. You can either look at the bin in dec format for the blocks of numbers ranging from 60-99 OR find the table of addresses to check the various possible locations. You know they will be 16 x 12 with inputs of d0 and d5 (rpm and load). The WOT and PT ignition tables are close to one another in the bin and share similar values.

  24. #24
    techno550 is offline Senior Member Supporting Vendor
    Join Date
    Nov 2003
    Location
    Atlanta, GA
    Posts
    9,097
    My Cars
    E36's + 300D
    the only way to be off like that is to not be finding the maps in a hex editor... and/or not undrstanding the formatting of the tables. which is why we don't share the XDF files. building the XDF is trivial once you understand the format. understanding the format is crucial to being able to effectively use an editor like tunerpro.
    Michael McCoy TRM

  25. #25
    Join Date
    Jul 2005
    Location
    Nashville
    Posts
    4,463
    My Cars
    00 540iTs Glacier, 06 RR
    This is true. The information in this thread provides the method for understanding the format. By the time you correct the timing maps above, you will understand the format.
    No one xdf covers all versions of the software., so sharing xdf's only takes you so far. I just looked at two different bins today that don't match my primary xdf. If I didn't understand the format, then I could not make an xdf to fit the different software versions.
    In addition, to continue to expand control you have to be able to locate and identify the different types of tables and information.

Page 1 of 22 1234567891011 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •