Notices
ECU Flash

RomDiff tool

Old Jan 9, 2012, 12:26 PM
  #1  
Evolved Member
Thread Starter
 
acamus's Avatar
 
Join Date: Mar 2008
Location: Lattitude 48.38°, Longitude 17.58°, Altitude 146m = Slovakia, for common dude
Posts: 730
Likes: 0
Received 2 Likes on 2 Posts
RomDiff tool

Lately I have had a need for comparison of maps.
I have been searching and could not find anything except one python script.
I have just decided to create it.

My question is if this would be valuable for anyone of you as I have it now in only early alpha stage,
which suits my needs but if there would be a interest in it I could spend some more time to fine polish rough edges.

Edit:
Tool attached to: https://www.evolutionm.net/forums/9881499-post18.html


SH2

m32

Last edited by acamus; Jan 10, 2012 at 09:52 PM.
Old Jan 9, 2012, 12:38 PM
  #2  
Evolving Member
 
dparrish's Avatar
 
Join Date: Apr 2011
Location: Sydney
Posts: 145
Likes: 0
Received 0 Likes on 0 Posts
Nice work, I think that would be very helpful!

I was considering writing a tool to build "patch" files for ROMs, and apply them in whatever order I like. On any given ROM, I may change 20 tables, but while I'm testing I'd like to have some of them at factory defaults, and some modified. I'd like to keep a "stack" of patches for a given ROM (under change control), e.g. "96260709 Speed Limit.patch" and "96260709 8k Rev Limit.patch", so I could choose which patches to apply when I flash the ROM.

Thoughts?
Old Jan 9, 2012, 01:26 PM
  #3  
Evolved Member
iTrader: (1)
 
ziad's Avatar
 
Join Date: Apr 2007
Location: Melbourne
Posts: 529
Likes: 0
Received 1 Like on 1 Post
i just use hexcmp to compare 2 files... but this would be quite easy way for the tuners to keep an eye on whats changed in rom. do u colour the cells if they are different.

for patching david i just inject hex code (for dma patching). now i just have a program that i give address and size of code and it brings out a byte array for me to paste into my program. the program (ELM) just injects the byte array with the location addresses. i have toyed with the idea of having a dump file with locations (like a makeshift database) but worried people might mess with it and cause issues with the injected code.
Old Jan 9, 2012, 01:46 PM
  #4  
Evolved Member
iTrader: (10)
 
Raptord's Avatar
 
Join Date: Mar 2009
Location: Gatineau, Quebec, Canada
Posts: 3,525
Received 19 Likes on 14 Posts
I use EcuFlash 1.43 which has a function to compare 2 roms and highlight differences, however I would also give this a try if it was available
Old Jan 9, 2012, 02:05 PM
  #5  
Evolving Member
 
dparrish's Avatar
 
Join Date: Apr 2011
Location: Sydney
Posts: 145
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by ziad
for patching david i just inject hex code (for dma patching). now i just have a program that i give address and size of code and it brings out a byte array for me to paste into my program. the program (ELM) just injects the byte array with the location addresses. i have toyed with the idea of having a dump file with locations (like a makeshift database) but worried people might mess with it and cause issues with the injected code.
I was thinking more of keeping a stack of patches to maps rather than the code.

I'm an old-school sysadmin, and the idea of changing more than one thing at a time really gets to me, it makes it difficult to tell which changed caused which problem (or fix). Currently I have a pile of roms in a git repository, and every time I change a single map, I Ctrl-S in ecuflash and commit the change to the repository. This lets me back out a change easily but it's not easy to revert a change in the middle of a set.

This is why I was thinking of the patch tool, I could Ctrl-S then run the tool against the saved rom and it would output a text file that contains just the changes I just saved. I could then stash that file elsewhere and if I wanted to revert just that change later on I could reverse the patch and apply it to the rom, or if I wanted to apply just that change to another rom (with the same version) I can, without having to fire up ecuflash and copy+paste the changes.
Old Jan 9, 2012, 03:57 PM
  #6  
Evolved Member
iTrader: (1)
 
ziad's Avatar
 
Join Date: Apr 2007
Location: Melbourne
Posts: 529
Likes: 0
Received 1 Like on 1 Post
ahh u mean when tuning..... thats different.... i use a manual approach. just increment the file name (quite easy to do with ELM again)

my stuff is more about patching code onto a file... soon will do some more error checking, currently it doesnt do that.
Old Jan 9, 2012, 04:02 PM
  #7  
Evolved Member
iTrader: (1)
 
ziad's Avatar
 
Join Date: Apr 2007
Location: Melbourne
Posts: 529
Likes: 0
Received 1 Like on 1 Post
acamus my question. how do u get the tables? do u read ecuflash xml files?

anyone found a way to read them which makes sense?

also if it could highlight the changes by a different colour would make this program very interesting.

lastly something again that i personally like (not sure about others) is empty cells instead of 0. what i mean if difference is zero then dont display a 0. in the difference/percentage cells. this clears up the output to just view it quickly.
Old Jan 9, 2012, 04:09 PM
  #8  
Evolved Member
iTrader: (2)
 
chrisw's Avatar
 
Join Date: Mar 2003
Location: Santa Cruz
Posts: 2,218
Likes: 0
Received 0 Likes on 0 Posts
I used winOLS when I used to tune BMW's while working at Dynan engineering.

http://www.evc.de/en/download/down_winols.asp
Old Jan 9, 2012, 04:39 PM
  #9  
Evolving Member
 
dparrish's Avatar
 
Join Date: Apr 2011
Location: Sydney
Posts: 145
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by ziad
anyone found a way to read them which makes sense?
Funny you ask that, I *just now* started writing some code to read and parse the xml files, I decided to write this patch tool. I'll be writing it in C++, I don't know if that's any good to you.
Old Jan 9, 2012, 05:12 PM
  #10  
Evolved Member
iTrader: (1)
 
ziad's Avatar
 
Join Date: Apr 2007
Location: Melbourne
Posts: 529
Likes: 0
Received 1 Like on 1 Post
nope.... C++ is for geeks.... i stopped being a geek once i left uni. i dont even see the need to go C# when VB does the exact same thing.

but i could steal from ur code, if u let me
Old Jan 9, 2012, 05:14 PM
  #11  
Evolving Member
 
dparrish's Avatar
 
Join Date: Apr 2011
Location: Sydney
Posts: 145
Likes: 0
Received 0 Likes on 0 Posts
Well call me a geek then

Well if you can *read* C++ then you're welcome to steal the code once I get it going.
Old Jan 9, 2012, 09:31 PM
  #12  
Evolved Member
Thread Starter
 
acamus's Avatar
 
Join Date: Mar 2008
Location: Lattitude 48.38°, Longitude 17.58°, Altitude 146m = Slovakia, for common dude
Posts: 730
Likes: 0
Received 2 Likes on 2 Posts
Originally Posted by ziad
acamus my question. how do u get the tables? do u read ecuflash xml files?
Yes, and scale them with scaling.
Old Jan 10, 2012, 04:51 AM
  #13  
EvoM Guru
iTrader: (6)
 
tephra's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Posts: 9,486
Received 66 Likes on 42 Posts
nice..

you know that the new beta of ECUFlash has a compare roms function

I emailed Colby yesterday actually to add a "percent different" map view...

so great minds think alike
Old Jan 10, 2012, 09:31 AM
  #14  
Evolved Member
Thread Starter
 
acamus's Avatar
 
Join Date: Mar 2008
Location: Lattitude 48.38°, Longitude 17.58°, Altitude 146m = Slovakia, for common dude
Posts: 730
Likes: 0
Received 2 Likes on 2 Posts
Originally Posted by tephra
nice..

you know that the new beta of ECUFlash has a compare roms function

I emailed Colby yesterday actually to add a "percent different" map view...

so great minds think alike
Yes, but no difference nor percentage.
Originally Posted by tephra
I emailed Colby yesterday actually to add a "percent different" map view...
Now you tell me?
To tell the truth I was kind of hoping Colby gets interested and does it within EcuFlash, but I also know he is really busy so I rather did it myself
Old Jan 10, 2012, 07:57 PM
  #15  
Evolving Member
iTrader: (3)
 
92LaserRs's Avatar
 
Join Date: Aug 2004
Posts: 152
Likes: 0
Received 0 Likes on 0 Posts
Cool tool! I cant get 1.43 to stop crashing to try out its compare function.

Thread Tools
Search this Thread
Quick Reply: RomDiff tool



All times are GMT -7. The time now is 12:26 PM.