Opensource 32bit Speed Density now available!

Vermont

New member
Okeydokes - I've ported the 08/09 USDM hex :D

Still need to pull together the Ecuflash, and logger XMLs, but I've got to run now - to a whiskey festival ;) Yeeha!

If I'm still sober enough, I can probably put up the hex later on tonight - but with the proviso that those RAM addresses have not been tested yet!

Marry me? :tard:
 

Mart

New member
well, ecuflash is a great software. However, bottom line, it s an human readable hex editor for stupid people like me.

I dont have all the story but I guess you want to monitor the value of the SD output parameters. The CEL part is just to related to the trick used to get the Port value I believe.

Mart

Hey Mart, that's genius - I figured out from Merp's thread how to do it, but I've been digging around with hex editors - didn't think of using Ecuflash as a quick and dirty. The real question I have (I've left a note for Merp) is whether the aim is to basically replace the address (as you did with the port address) with the RAM addresses that I'm aiming to use for the SD output parameters, and then 'check a CEL' to see whether it allows writing to that address or not (Merp warned that some addresses are blocked off from the SSM writer). Make sense?
 

HolyCrapItsFast

Drinks beer!
Hey Guys... Can we post these ported rom's somewhere in Elite? If you need an FTP site to store the files I can accommodate you.
 

Z1107

New member
You guys seriously need to write a how to book on this... idiot's guide to tuning. I would buy the first copy.
 

HolyCrapItsFast

Drinks beer!
Holy's tuning guide... Coming soon. I have to post it in elite and get final approval before I release it. It still needs work though.
 

Z1107

New member
Can you include crayon drawn pictures, I learn better with those. Please word it in laymans terms.
 

Mart

New member
I dont know but I wouldnt post ROM with mods in it. I would post patch however. If you cannot patch a ROM, that modification is not for you.

Mart
 

Td_d

Commander In Chief
Well, I can do both actually - Merp set it up so you can use Tinywrex's patcher, so all i'd need to do is insert the correct hex code into it. Mart has a point - so let me put it out there now - use at own risk, like all experimental mods!
 

Td_d

Commander In Chief
Ok - as said before - I have not yet fully tested the RAM locations (well, there are not direct or indirect references to them, so all that remains is to check if they can be written to by hijacking an SSM routine).

Firstly, the definitions:

Code:
[Add this to AZ1G202I.xml in ecuflash]

 <table name="VE Compensation" address="f434c">
      <table name="deltaMAP" address="f4330"/>
   </table>
   <table name="Engine Displacement" address="f4084">
   </table>
   <table name="Speed Density Enable" address="f40a0"/>
   <table name="Volumetric Efficiency" address="f4148">
      <table name="Manifold Pressure" address="f40cc"/>
      <table name="Engine Speed" address="f4100"/>
   </table>
   
[add this to base32.xml in Ecuflash]
  <scaling name="engine displacement" units="Liters" toexpr="x" frexpr="x" format="%.2f" min="0" max="10" inc="0.01" storagetype="float" endian="big" />
  <scaling name="deltaMAP" units="dmmhg/dt" toexpr="x" frexpr="x" format="%.2f" min="-20000" max="20000" inc="100" storagetype="float" endian="big" />
  <scaling name="VEcomp" units="VEcomp multiplier" toexpr="x*0.000061037" frexpr="x/.000061037" format="%.1f" min="0" max="2" inc=".2" storagetype="uint16" endian="big" />
  <scaling name="VE(%)" units="VE(%)" toexpr="x*.00007629" frexpr="x/.00007629" format="%.2f" min="0" max="2" inc=".025" storagetype="uint16" endian="big" />
  <table name="VE Compensation" category="Speed Density" type="2D" level="2" scaling="VEcomp">
    <table name="deltaMAP" type="Y Axis" elements="7" scaling="deltaMAP" />
    <description>This is the change the stuff.</description>
  </table>
    <table name="Engine Displacement" category="Speed Density" type="2D" level="2" scaling="engine displacement">
    <table name="" type="Static Y Axis" elements="1">
      <data>Engine Displacement (cc)</data>
    </table>
    <description>Enine size in cc</description>
  </table>
  
  <scaling name="SDenable" storagetype="bloblist">
    <data name="disabled" value="00" />
    <data name="enabled" value="01" />
  </scaling>
  <table name="Speed Density Enable" category="Speed Density" type="1D" scaling="SDenable" description="Enables Speed Density output, when disabled, uses normal MAF sensor" />
  
  <table name="Volumetric Efficiency" category="Speed Density" type="3D" level="2" scaling="VE(%)">
    <table name="Manifold Pressure" type="X Axis" elements="13" scaling="psirelativesealevel" />
    <table name="Engine Speed" type="Y Axis" elements="18" scaling="RPM" />
    <description>This is the Volumetric efficiency of the engine.</description>
  </table>

[add this to logger.xml in Romraider]
                    <ecuparam id="E153" name="Speed Density Raw Airflow" desc="Speed Density Raw Airflow (g/s)">
               <ecu id="6912783007">
                        <address length="4">0xFFB1E8</address>
                    </ecu>
               <conversions>
                        <conversion units="g/s" storagetype="float" expr="x" format="0.00" gauge_min="0" gauge_max="400" gauge_step="20" />
                    </conversions>
                </ecuparam>
            
            <ecuparam id="E154" name="Speed Density VE Airflow" desc="Speed Density VE Airflow (g/s)">
              <ecu id="6912783007">
                        <address length="4">0xFFB1EC</address>
                    </ecu>
               <conversions>
                        <conversion units="g/s" storagetype="float" expr="x" format="0.00" gauge_min="0" gauge_max="400" gauge_step="20" />
                    </conversions>
                </ecuparam>         
            <ecuparam id="E155" name="Speed Density MAF sensor output" desc="Speed Density MAF sensor output (g/s)">
              <ecu id="6912783007">
                        <address length="4">0xFFB1F0</address>
                    </ecu>
               <conversions>
                        <conversion units="g/s"  storagetype="float" expr="x" format="0.00" gauge_min="0" gauge_max="400" gauge_step="20" />
                    </conversions>
                </ecuparam>         
            <ecuparam id="E156" name="Speed Density Current Dynamic Compensation" desc="Speed Density Dynamic Compensation (%)">
               <ecu id="6912783007">
                        <address length="4">0xFFB1F4</address>
                    </ecu>
               <conversions>
                        <conversion units="%" storagetype="float" expr="(x*100)" format="0.00" />
                    </conversions>
                </ecuparam>
            <ecuparam id="E157" name="Speed Density RPM" desc="Speed Density RPM">
               <ecu id="6912783007">
                        <address length="4">0xFF67B4</address>
                    </ecu>
               <conversions>
                        <conversion units="RPM" storagetype="float" expr="x" format="0.00" />
                    </conversions>
                </ecuparam>
            <ecuparam id="E158" name="Speed Density IAT" desc="Speed Density IAT">
               <ecu id="6912783007">
                        <address length="4">0xFF4124</address>
                    </ecu>
               <conversions>
                        <conversion units="C" storagetype="float" expr="x" format="0.00" />
                    </conversions>
                </ecuparam>
            <ecuparam id="E159" name="Speed Density MAP" desc="Speed Density MAP">
               <ecu id="6912783007">
                        <address length="4">0xFF6394</address>
                    </ecu>
               <conversions>
                        <conversion units="mmHGa" storagetype="float" expr="x" format="0.00" />
                    </conversions>
                </ecuparam>
            <ecuparam id="E160" name="Speed Density delta MAP" desc="Speed Density delta MAP">
               <ecu id="6912783007">
                        <address length="4">0xFF6388</address>
                    </ecu>
               <conversions>
                        <conversion units="mmhg/t" storagetype="float" expr="x" format="0.00" />
                    </conversions>
                </ecuparam>

I will post the modded Rom in the Elite section now given how experimental this is - if people want it, they can request from a mod or an elite member - just want to keep this safe for now, no need for newbies to bork ECUs...
 
Last edited:

Vermont

New member
no need for newbies to bork ECUs...

I wanna Bork a ECU, sounds kinky...

Just wanted to say thanks man. You have really busted you ass on this and I think I speak for every one here in saying thank you for your hard work....
 

Td_d

Commander In Chief
Hey, no worries - it's actually been a lot of fun, quite a challenge. I've chatted to Merp - it seems that it's only me who cannot save the modded rom properly, which is a relief, as it means the definitions on my machine are out of whack - not the rom. So, yeah - go ahead and try it!

I will try to check the Rom addresses this evening, for the final a-okay, but I think it's going to work fine. I'll also pull together a patch for those who want to patch their roms in-situ.

I'll start working on Fuji's rom next! Oh, and Mart - since I've now donated to Merp, I've asked him to do your rom as a favour. I would get round to it, but I think he'll do it a whole lot quicker than me!
 

Td_d

Commander In Chief
Ok - well, I'm pretty convinced that the RAM addresses are kosher - hijacked an SSM routine, and fired her up - no readings. I guess I should actually take a longer drive to make sure that no funny bit of logic somewhere in the ECU uses it - but it's reading it, and no values. I'm pretty confident that the Rom is now fully useable.
 

Td_d

Commander In Chief
Ok, if anybody else is keen (Sti, or otherwise - WRX, legacy, forester) I'm willing to start pulling together ports for other Roms, let me know. I will likely need you to do some tests for me with the RAM addresses, but I'll provide the Roms for testing.
 

Td_d

Commander In Chief
If you're using rom AZ1G202I (which should be for 08 and 09 USDM Sti's) already done - I'll pm you the patch, you'll be able to do a straight patch into your current rom, without having to copy maps into a modded stock rom.
 

Td_d

Commander In Chief
Just an FYI, after discussing it with Merp (and being comfortable that the ports are kosher) the EDM STI 2008, USDM STI 2008 and USDM STI 2010 (SE) are now officially in the basemaps section on Romraider, here.
 

Td_d

Commander In Chief
Cheers, thanks Mart! BTW - there are some peeps chomping at the bit to get the 2006 patch working, nudge nudge ;) Check out the 32 bit SD thread :D
 
Top