IDA Pro tutorial request
You rock David. Prepare for me to sound like an idiot with this program for a week or two, then I'll be a little more manageable,lol.
Oh, should I be using IDA PRO 32 bit or 64?
Oh, should I be using IDA PRO 32 bit or 64?
Some screenshots of how someone can find addresses or something would be the best thing ever on this forum! The more people leanr how to utilize thie ECU's capabilities, the better off we'll all be. Look how far things have come in just the last 6 months alone!
The best way to disasm your ROM is by using another persons as a reference.
Whenever I get a new ROM for my patch I basically:
* use their XML to find the fuel+timing tables - this lets me find 2byte load variable + fuel+timing routines
* find the MUT table and then backwards reference the required MUT variables to real variables
* + other stuff I can't think of right now
ahah
Whenever I get a new ROM for my patch I basically:
* use their XML to find the fuel+timing tables - this lets me find 2byte load variable + fuel+timing routines
* find the MUT table and then backwards reference the required MUT variables to real variables
* + other stuff I can't think of right now
ahah
If you weren't the BUSIEST GUY in the ECUFLash section, I'd ask you to do an example of tracking down a fuel table from a rom or something. But alas, you always have 2 billion things going on at once :-( I'd donate for your efforts, thats for sure.
ok simply:
1) open your ROM's EcuFlash XML (ie 94170008.xml)
2) find the xml for the high octane fuel map
3) copy the address (0x33bd in this case)
4) in IdaPro press keyboard G and paste this address in.
5) now backtrack a few bytes until you find the "reference" that Ida has to the current section of ROM
see the image
1) open your ROM's EcuFlash XML (ie 94170008.xml)
2) find the xml for the high octane fuel map
3) copy the address (0x33bd in this case)
4) in IdaPro press keyboard G and paste this address in.
5) now backtrack a few bytes until you find the "reference" that Ida has to the current section of ROM
see the image
Alright, been out of state for the holidays. I tried searching for the high octane address but my ROM #'s dont even go that high. When the "Disassembly Memory Organization window pops up, the highest "ROM size" value and "Loading Size" value comes up as 0x00002AD9. I assume this is limiting how much of the XML file it displays?? God I feel like a noobie right now.
EDIT: I edited the address to read 0x00009999 and I could find it but everything in the HEX view is full of question marks. What is a good address to enter to ensure I am seeing everything?
These are the first speed bumps I am having issues trying to enter information:
EDIT: I edited the address to read 0x00009999 and I could find it but everything in the HEX view is full of question marks. What is a good address to enter to ensure I am seeing everything?
These are the first speed bumps I am having issues trying to enter information:
Last edited by Jack_of_Trades; Nov 27, 2007 at 03:07 PM.
Ok, so I have figured out how to disassemble, but now I guess you guys LABEL everything so you know what code you are looking at? I noticed in the attachment you had a few posts back, you had the reference line state that its for the high octane code? here is what I see (from your NLTS hex file). Should I be changing this reference code?

I must be getting on your nerves by now,lol.

I must be getting on your nerves by now,lol.
well you can label unk_33B2 to whatever it is (hioctfuel??)
you can can press D twice on each of those start "h'FF" to convert them into a memory variable.
but yes labeling known things is a big first step
what ROMid you got and pm me your email address I will send you my current disasm for your ROM..
you can can press D twice on each of those start "h'FF" to convert them into a memory variable.
but yes labeling known things is a big first step

what ROMid you got and pm me your email address I will send you my current disasm for your ROM..
Ive started labeling all of my maps. Is there any standards that you guys have adopted.
I.e. t3_hioctfuel, who decided this was table 3?
so is the low octane map t2_looctfuel ?
Im looking to try and be consistant with existing work.
I.e. t3_hioctfuel, who decided this was table 3?
so is the low octane map t2_looctfuel ?
Im looking to try and be consistant with existing work.
After all the labeling all the tables whats the next step.
Another noob question. What do the memory variables in each map do? I thought they might point to the map axis memory locations, but that doesn't seem to match up with what im seeing in the openecu software.
yeah the ecu uses a round about way of doing axis.
first it looks up the axis in the axis table, and then dumps the "result" in the memory locations at the start of the 2d/3d maps
next i guess you want to work out what you are trying to accomplish, find it in the code then change it...
first it looks up the axis in the axis table, and then dumps the "result" in the memory locations at the start of the 2d/3d maps
next i guess you want to work out what you are trying to accomplish, find it in the code then change it...



