My first patch for E85
My first patch for E85
Yesterday I have done my first ECU patch for my 99860002 Evo VII Rom.
I must test it first, but the car is already running, so the patch was not too bad.
With the ICS Auto Switch hold, I can switch between 4 steps (0 to 3). The ICS Led will blink that many times when you press it short.
For each step an own injector scaling can be used.
The patch will interpolate between my alternative E85 map and the high octane fuel map with the weight of the steps. At step 0 value from high octane map is used, at Step 3 value from E85 map is selected. During the other steps the value will be interpolated.
After the value is found, the interpolation with the low octane map is already done
The same happens with the ignition map.
Later this can be used with a flex fuel sensor.
Nothing special if you already use tephra's patch, but it was not available for my ECU ID so I have try this as my first work.
I must test it first, but the car is already running, so the patch was not too bad.
With the ICS Auto Switch hold, I can switch between 4 steps (0 to 3). The ICS Led will blink that many times when you press it short.
For each step an own injector scaling can be used.
The patch will interpolate between my alternative E85 map and the high octane fuel map with the weight of the steps. At step 0 value from high octane map is used, at Step 3 value from E85 map is selected. During the other steps the value will be interpolated.
After the value is found, the interpolation with the low octane map is already done
The same happens with the ignition map.
Later this can be used with a flex fuel sensor.
Nothing special if you already use tephra's patch, but it was not available for my ECU ID so I have try this as my first work.
nice work!
pretty good effort for a first patch release
i am still thinking about how we are going to interpolate for E85, unfortunatly boost and injector scaling don't "interpolate" nicely...
pretty good effort for a first patch release

i am still thinking about how we are going to interpolate for E85, unfortunatly boost and injector scaling don't "interpolate" nicely...
Some ideas for load logging:
Right befor the table lookups there is a variable filled with one of the loads variables. These variable is used for the table lookup and has the same scaling as the load row. The problem is, that this variable is overwritten during many other table lookups.
In my patch I copy this variable to an extra ram address. Then I divide it by 4 so it can be logged as one byte (after editing the MUT Table).
The same copys I do with the found table values (fuel/ignition) befor they are "corrected" by some routines, so I can exactly compare if I hit the right cell.
Later with Johns DMA logging the variables can be logged in realtime.
By the way. I have problems with the logging variable called AFRMAP.
I cannot found the program part where this variable is written. So I don't trust this viariable.
Have anybody else found where it is written?
Right befor the table lookups there is a variable filled with one of the loads variables. These variable is used for the table lookup and has the same scaling as the load row. The problem is, that this variable is overwritten during many other table lookups.
In my patch I copy this variable to an extra ram address. Then I divide it by 4 so it can be logged as one byte (after editing the MUT Table).
The same copys I do with the found table values (fuel/ignition) befor they are "corrected" by some routines, so I can exactly compare if I hit the right cell.
Later with Johns DMA logging the variables can be logged in realtime.
By the way. I have problems with the logging variable called AFRMAP.
I cannot found the program part where this variable is written. So I don't trust this viariable.
Have anybody else found where it is written?
There is a group of engine variables that seem to be passed around as a block. You'll see it if you trace back from AFRmap in the MUT table - only one routine reads it directly, and the other reference is to this block. That might actually be an interesting block to log with DMA. I'll look into it.
Bez has been applying DMA to his Evo 7 ROM. I've posted a test version for Tephra's 9. If they give good feedback I'll start rolling it out.
Bez has been applying DMA to his Evo 7 ROM. I've posted a test version for Tephra's 9. If they give good feedback I'll start rolling it out.
Found it. Thank you John. The AFRMAP is written after some corrections
r1 is set to this Block of Addresses. At Byte Position 0x50 is the AFRMAP Variable (in WORD size) for my ROM it is here:
Code:
ROM:00014010 mov r0, r10 ROM:00014012 mov #h'50, r0 ; 'P' ROM:00014014 mov.l @(r0,r1), r11 ; AFRMAP write indirect ROM:00014016 mov.w r10, @r11
Code:
ROM:00009158 dword_9158: .data.l h'FFFF ; DATA XREF: sub_FF08:off_FF84o ROM:00009158 ; ROM:off_12248o ... ROM:0000915C .data.l unk_FFFF88E4 ROM:00009160 .data.l unk_FFFF88E8 ROM:00009164 .data.l unk_FFFF88F2 ROM:00009168 .data.l unk_FFFF88F6 ROM:0000916C .data.l unk_FFFF893A ROM:00009170 .data.l unk_FFFF890E ROM:00009174 .data.l ADC_9_FrontO2_Volt ROM:00009178 .data.l ADC_A_RearO2_Volt ROM:0000917C .data.l unk_FFFF8902 ROM:00009180 .data.l unk_FFFF87EA ...
I would mess with the 500 rpm igntion timing. The reason there is 15% gasoline is to aid with cold starting but apparently you need more help than that,lol. I would assume messing with the open loop fuel cells in the lowest rom range might help too since its in open loop during cranking. E85's stoich is a lot richer than gasoline so maybe it needs richening in that area for start-up?
Trending Topics
Thread
Thread Starter
Forum
Replies
Last Post
BigBoogieman
General Engine Management / Tuning Forum
36
Feb 27, 2005 07:06 PM





