Extend tables size

Discuss Bosch (Porsche, BMW, Volvo, etc) tuning topics here. Request definitions, discuss parameters, etc.

Moderators: robertisaar, dex

Post Reply
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Extend tables size

Post by Evil »

Hi guys
Did someone ever experienced extending tables size?
I tried with success To rescale rpm axis on WOT tables up to 7000rpm, now I would like to extend TPS and RPM axis on the alpha-n table (maf limp mode) To have a better definition on low throttle opening.
It seems that it needs To modify something in the code , and move the table in an empty zone, but I really dont know how to do it 😅
User avatar
aboutton
Posts: 180
Joined: Wed Mar 09, 2011 2:04 pm
Location: Lebanon
Contact:

Post by aboutton »

I think Hakkent can help you more with this cz he did it before on the 173 ecu
HyperBoost Tuning
Tony Ouneissy
Lebanon
Hairyscreech
Posts: 196
Joined: Tue Jun 20, 2017 3:19 am

Post by Hairyscreech »

From what I know on the subject (a little gathered from HTT and others) the ECU uses the "table of tables" to address the correct maps\tables.
If you know how the motronic headers work then it is a simple case of moving the table to a new location, increasing the table size by editing the header and then changing the "table of tables" to reflect the new location.

This comes with some major buts, if you try this you need to understand a few things;
- I have not yet tried this, big point as it may not be as simple as it has been made out to be.
- You need to fully understand how the motronic headers work as you will have to edit the header to have more rows/columns and add the load/rpm values for each row/column.
- You need to know where the table of tables is and how the addresses are formatted in that table
- The motronic may only be able to do a 256 cell table at most, this means 16x16 at the most.

I know I have been a bit vague but the method should be clear if you understand the above, just until it is proven to work I don't want a noob doing it, destroying something and blaming me.
User avatar
aboutton
Posts: 180
Joined: Wed Mar 09, 2011 2:04 pm
Location: Lebanon
Contact:

Post by aboutton »

i will try to do it and test
what DME number are you working on ?
HyperBoost Tuning
Tony Ouneissy
Lebanon
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Hi Aboutton , I'm using 403 dme 😉
User avatar
aboutton
Posts: 180
Joined: Wed Mar 09, 2011 2:04 pm
Location: Lebanon
Contact:

Post by aboutton »

ill do it tonight and post results tomorrow
HyperBoost Tuning
Tony Ouneissy
Lebanon
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Hi Hairyscreech,
You're absolutely right, there is a table in the code who tells all the tables adresses, but I couldnt find it, I dont know how adresses are.
A 16x16 table would be more than Perfect, the original alpha n table is 7x6. With that I could tune perfectly at low loads with ITBs and have more consistant AFRs, for the moment on some points AFR can vary of 0.5 because throttle position (and then airflow) can change a little without switching cell.
Hairyscreech
Posts: 196
Joined: Tue Jun 20, 2017 3:19 am

Post by Hairyscreech »

As far as I am aware the table is in little-endian format. So the hex is backwards, eg for the 403 fuel map at 0x711C in the XDF, adding on the headers it actually starts at 0x71FC so the table will contain FC 71.Have to say though, after a quick look I cannot find the table in the 403 bin I have.

Somewhere in the code there is a table that lists every table address, there is one in the 173 e30 ecu and one in the 413/506 e36 ecu so it must also exist in the 402/403/405.

In the 413 it is 0xE67E to 0xE7A9. The first value in that table is the location of the table itself.

The 32 bit files are a touch different as they are for an 8bit processor, I know less about how they work for that side of things.

Given some time I am sure I can find them but I think Aboutton may know where they are already.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

I did the same things last week but I found nothing too, the funny fact is that I was searching about wot fuel table like you did 😄
Hairyscreech
Posts: 196
Joined: Tue Jun 20, 2017 3:19 am

Post by Hairyscreech »

Just want to verify the 402 and 403 ECU should have 32kb bins right?

The 64kb bin I have for the 405 has the table as expected.

I though the non vanos ECUs were all 8 bit 8051 processor based with the 413/506 taking the leap to 16 bit and 80196 processor?

If they are 8 bit then the table is going to work slightly differently, more like the old 173 E30 ECU, I will check that out later on.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

That's correct, 402/403 are 32bit and 404/405 64bit.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

I have a 404 bin and the table seems To start in D040, am I right? Just To be sure I have understand 😄
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

I think I found it!
The table begins in 78D0, 100x1 in 16bit, lsb first.
Just replace "E" by "6" and "F" by "7" at the beginning of each "data" adress and here we go!
I.e.: EEFC = 6EFC.

I will try in the next few days to create a 16x16 table with rescaled headers and place it in a free location (a big empty location starts at 79A0).
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

i did a first try without success, the car starts but the new table is not recog,nized so stalls as I press throttle.
I've put the new adress in the table list in order, maybe it is the problem, I will try again by writing the new adress at the same place that the old one was in the list.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Hurrah it works!!!!!!!
So as I Said the new adress in the "table list" MUST be at the exact same place than the old one.
Now all cells are traced, at all throttle positions and rpm in the new 16x16 table.
Will made a better explanation this week with screenshots of what I did.
Now I have to do the same for IAT correction, but first2I have To find which table corrects load with IAT. I found 3 or 4 tables that are IAT related but I dont know already which is the good one.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

As promised, here is how to extend the size of an existing table. (In my case that was for the "maf limp mode" table aka alpha-n.
For that you need to fully understand how descriptors and headers of a table are working.

first here is the "table list" in a 403 DME in hex code:

Image


this table is a list af all the data tables you can find in your DME.
here it is after creating the table in the XDF:


Image

to make a bigger table you need to put it in an empty zone , that's a zone with FF FF FF FF everywhere, in a 403 you can find it near the end of the code, there is a part of the code with more than 1000 free bytes.

Here is the new table in his new location:
Image


you can see the first descriptor "CD" (rpm) in 7C9C.this is the new adress you have to put in the table list, at the EXACT same place than the old one was.
if you put it in the hex, you will have to write 9C FC , the bytes are switched.
Dont forget that 7=F and 6=E.

Now its done, you just have now to tune your new table and enjoy it!
Don't forget that you will have to modify your XDF to read the new table!!!
This works perfectly on my 403, I was on the road all this morning to tune it.
here are the new table and his graph:

Image


Image

I hope everything is clear and easy to understand, I'm not a boss in english, if you need more explanations tell me!
Hairyscreech
Posts: 196
Joined: Tue Jun 20, 2017 3:19 am

Post by Hairyscreech »

Good to confirm it works as suggested. It almost seemed too simple to be true. :D

I am tempted to have a fiddle with the Vanos ECU and see if the fuel and spark tables can be expanded as it would give more resolution for the turbo tunes.

I might see if I can point the ECU to just one table for both vanos advanced and retarded as I have transplanted it onto the M20 so no vanos. Would save having to make sure both tables are the same all the time. (If a vanos issue is detected then the ECU starts switching between the two tables as an average so they have to be the same or it throws off the tune).

I guess this same trick can be used for anything where more resolution is needed.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Hi,
Yes it would be a very good thing to extend the size of these tables :D
To tell the ECU to point only one table I really dont know how to do, It certainly needs to re_write some code but I dont know a F*** about it :lol:

I think you already knows but you can also tune identically the 2 tables :wink:
And also use the Vanos output to command something elsse (like a shiftlight or anything), and change the descriptors to make it "react" with anything you want, i.e. with ECT to make a temperature warning. I will try something like this with the canister valve output :D
Hairyscreech
Posts: 196
Joined: Tue Jun 20, 2017 3:19 am

Post by Hairyscreech »

Evil wrote:Hi,
Yes it would be a very good thing to extend the size of these tables :D
To tell the ECU to point only one table I really dont know how to do, It certainly needs to re_write some code but I dont know a F*** about it :lol:

I think you already knows but you can also tune identically the 2 tables :wink:
And also use the Vanos output to command something elsse (like a shiftlight or anything), and change the descriptors to make it "react" with anything you want, i.e. with ECT to make a temperature warning. I will try something like this with the canister valve output :D
Yep, I have both of them copy/paste set to the same values, I also have the Vanos solenoid on its own powered up and hidden under the dash so it stays in only one table.
Long term plan is to use it to switch a variable length manifold.

Would have thought switching the address of the retarded map with the address for the advanced map would trick it into only running off one actual map. Still thinking it is looking at 2 maps and averaging them but only one actual map being read?

This is slightly speculation as I have not done any looking into it yet, but....
I would have thought the tables are arranged in a specific order, they are not randomly placed in the data section, there clearly seems to be some rules to how they laid out the tables.
Might give us some clues to how the code for the ECU works.

My understanding is that the "table of tables" is used to find the required maps and provided the location of the required map in that table is in the correct place in the table then the ECU does not mind where the map is in the actual BIN.
Which is why you can put a bigger map in the free space and then point to it in the table of tables, as long as you put the maps location in the correct place.

Bosch laid the map locations out in the table of tables in what looks to be just numerical order, however they were quite specific with the order of the actual maps, they were not just chucked in in any old order.
The order the maps were put into the BIN was no accident as the structure is similar in the 1.3, 3.1 and 3.3.
The maps were clearly put into that order and then the table was constructed giving their start addresses.

I will sit down this week and see if I can gather any more info than is commonly available on the web from the structure and order of the table of tables.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Like you said I think that switching one adress in the table list would work. I think that the DME is looking at thé 2 tables and averaging only in case of failure in the vanos solenoid circuit.

For thé variable intake I was thinking doing a simuler thing with variable lenght velocity stocks, something like this: https://youtu.be/go3YPfhnr2k
Using a 413 would be a Perfect solution for that 😀

For the table list I agree with you, the vital thing je the position of the table in the table list. In the original file they are alphabetic ordered in the list but it is not important.
But you're right that the original position should follow a specific order (I.e. load calculation/ fuel correction/ignition/ temp correction..... just an exemple).
I dont know anything about disassembling but I will follow with interest your results!
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Just a little update:

I extended the WOT fuel table with success, she's got now 28 rpm steps. All cells are traced at the good RPM so now just need to tune it.

Image
free image hosting

Not a big upgrade, but it's just to confirm the method works.
I will do it the same with WOT ignition, and maybe extend the load scale on PT tables .
I'm waiting for a potentiometer to do some tests with IAT and try to extend the related table.
Mykk
Posts: 99
Joined: Sat Sep 05, 2015 8:28 am

Post by Mykk »

I'm trying to convert my M3.3 404DME (64k) V8 from MAF to Speed Density. Theoretically by using the mod talked about in this thread I can use the MAF in hooked up to a MAP sensor and allow it to reference a RPM vs MAP table, populated with similar fueling values used in the MAF table. The table to reference is a 256x1 table starting at address C2A8. However the MAF table at C2A8 isn't listed in the MAP index in the 404 code. Nor does the MAF table seem to have any header info in the code. Anyone know how to accomplish my goals?
olafu
Posts: 186
Joined: Tue Jul 26, 2016 12:35 pm
Location: Finland

Post by olafu »

MAF table is pure conversion function to convert MAF volts to a MASS AIR.
Evil
Posts: 140
Joined: Tue Jul 18, 2017 12:53 pm
Location: France

Post by Evil »

Like Olafu said MAF "table" is a conversion function. This means that replace the maf with a map and just tune the table will not work because the map signal on its own is not sufficient fort load calculation.
Speed/density needs a VE table to work, like alpha/n.

You could maybe replace the TPS by a MAP and then tune the "maf limp mode table" and the TPS transfer table, this would work for fueling and ignition but TPS is also used for WOT/idle switching and for transitions, so it will be a lot of work to make it run correctly...

For naturally aspirated application it would be far easier to run alpha/n than speed/density.
Mykk
Posts: 99
Joined: Sat Sep 05, 2015 8:28 am

Post by Mykk »

Open to ideas. This application has supercharger, would like to get away from MAF
ikamac
Posts: 6
Joined: Tue Nov 15, 2016 9:23 am

Post by ikamac »

Mykk wrote:I'm trying to convert my M3.3 404DME (64k) V8 from MAF to Speed Density. Theoretically by using the mod talked about in this thread I can use the MAF in hooked up to a MAP sensor and allow it to reference a RPM vs MAP table, populated with similar fueling values used in the MAF table. The table to reference is a 256x1 table starting at address C2A8. However the MAF table at C2A8 isn't listed in the MAP index in the 404 code. Nor does the MAF table seem to have any header info in the code. Anyone know how to accomplish my goals?
are you using gm map sensor?
Mykk
Posts: 99
Joined: Sat Sep 05, 2015 8:28 am

Post by Mykk »

ikamac wrote:are you using gm map sensor?
Yes, right now a 3bar for the piggyback. But if I can motronic to run on map alone I'd use a 2bar map since it's only 8psi of boost.
mahdi93
Posts: 32
Joined: Tue May 05, 2020 12:22 pm

Re: Extend tables size

Post by mahdi93 »

can you share your XDF ??
mahdi93
Posts: 32
Joined: Tue May 05, 2020 12:22 pm

Re: Extend tables size

Post by mahdi93 »

how can i find the "table of tables" in the 402 sw098 ecu ???
gerdawz
Posts: 2
Joined: Sun Jul 25, 2021 3:30 pm

Re:

Post by gerdawz »

Evil wrote: Fri Sep 08, 2017 7:59 am As promised, here is how to extend the size of an existing table. (In my case that was for the "maf limp mode" table aka alpha-n.
For that you need to fully understand how descriptors and headers of a table are working.

first here is the "table list" in a 403 DME in hex code:

Image


this table is a list af all the data tables you can find in your DME.
here it is after creating the table in the XDF:


Image

to make a bigger table you need to put it in an empty zone , that's a zone with FF FF FF FF everywhere, in a 403 you can find it near the end of the code, there is a part of the code with more than 1000 free bytes.

Here is the new table in his new location:
Image


you can see the first descriptor "CD" (rpm) in 7C9C.this is the new adress you have to put in the table list, at the EXACT same place than the old one was.
if you put it in the hex, you will have to write 9C FC , the bytes are switched.
Dont forget that 7=F and 6=E.

Now its done, you just have now to tune your new table and enjoy it!
Don't forget that you will have to modify your XDF to read the new table!!!
This works perfectly on my 403, I was on the road all this morning to tune it.
here are the new table and his graph:

Image


Image

I hope everything is clear and easy to understand, I'm not a boss in english, if you need more explanations tell me!
Thanks for your good work. I'm currently thinking of NAtuning 413 with ITBs via alpha-N. Now i know for sure it's possible. But one thing i don't quite understand is what does raw data/values correspond with? IPW or Ignition timing? Would be so kind to guide me through a little pls.
Motorhead
Posts: 11
Joined: Wed Jan 04, 2017 3:24 pm

Re: Extend tables size

Post by Motorhead »

If you write this into a patch, you can make it easier for others to do it instead of sharing multiple bins.
Olegonic
Posts: 22
Joined: Mon Aug 17, 2020 9:15 pm
Location: Russia

Re: Extend tables size

Post by Olegonic »

Guys, not many succeeded with MAF to MAP hand conversions.
There is a ready and reliable MAF emulator 3 in one Ukrainian shop for 350 USD which has a huge amount of functions and can replace ANY 5Volts MAFs. It works with original or aftermarket MAP.
MAF can be completely deleted and you have limitless airflow.
I am using it for a year now and happy as f.ck because it can also make logs
Attachments
524CD70B-D9CA-4715-8F3D-B399C5A7F7E9.jpeg
524CD70B-D9CA-4715-8F3D-B399C5A7F7E9.jpeg (116.05 KiB) Viewed 7046 times
BMW E30, M50B25 NV turbo
Intelligence
Posts: 2
Joined: Tue Jul 26, 2022 12:20 pm

Re: Extend tables size

Post by Intelligence »

Lies!!!
This freak on an 8-bit ADC / DAC cannot completely replace the air flow meter !!!
It is IMPOSSIBLE to fully tune the engine due to calibrations and limitations at the input of the standard ADC of the computer.
An attempt to recalculate the pressure in the manifold and translate it into a maf signal is a pain in the ass.
All turbo projects based on the maf emulator end up in a dump of burnt motors!
Why deceive readers?
"Oleg coupe" will find a market for his homemade products, and there is no need to try to promote them!
Post Reply