Evo 7-9 ROM Identification Tool
Evo 7-9 ROM Identification Tool
I've been looking for a tool to help identify Evo ROMs and I couldn't find what I wanted, so I wrote a Python script to help. This tool takes the name of a ROM file and gives you the ROM ID, ECU ID aka "Calibration ID", and it computes the Calibration Verification Number using the same logic as the ROM would. This should help quickly tell whether a ROM has been modified from stock in some way, as well as hopefully clarify the expected values for these ROMs for other Evo owners.
I went ahead and ran the tool on all the ROMs I could find at http://norcalmotorsports.org/users/b...EVO/tech/ROMs/ . It's not clear to me whether these ROMs are actually stock or not, so take these values with a grain of salt.
If anyone else finds this useful, it would be helpful if people could compare the values they get from the tool for known stock ROMs with the values in the table above. To use the tool, just download it from the attachment, rename it from evo.txt to evo.py, then run 'python evo.py $ROMFILE' in a command line, where $ROMFILE is the filename of the ROM file.
I went ahead and ran the tool on all the ROMs I could find at http://norcalmotorsports.org/users/b...EVO/tech/ROMs/ . It's not clear to me whether these ROMs are actually stock or not, so take these values with a grain of salt.
Code:
Filename Cal ID ROM CVN roms/evo7/80700010.bin MR985180 80700010 No calibration verification roms/evo7/90550001.bin MR560649 90550001 No calibration verification roms/evo7/92460000.bin MR578511 92460000 No calibration verification roms/evo7/93390000.bin MN132623 93390000 No calibration verification roms/evo7/98640016.bin MR560648 98640016 No calibration verification roms/evo7/98650012.bin MR560649 98650012 No calibration verification roms/evo7/98650014.bin MR560648 98640014 No calibration verification roms/evo7/98650015.bin MR560649 98650015 No calibration verification roms/evo7/99860002.bin MR578511 99860002 No calibration verification roms/evo8/89200000_2005_USDM_LancerAutoBigMaps.hex MR988328EE 89200000 00 00 F7 24 roms/evo8/89210000_2005_USDM_LancerAutoBigMaps_SpeedDensity.hex MR988328EE 89210000 00 00 9E 7C roms/evo8/93660005.bin MN132750 93660005 No calibration verification roms/evo8/94170008.bin MN132874AB 94170008 00 00 F0 C1 roms/evo8/94170008_2003_USDM.hex MN132874AB 94170008 00 00 F2 90 roms/evo8/94170014.bin MN132874AC 94170014 00 00 74 3D roms/evo8/94170015.bin MN132874AD 94170015 00 00 A0 E5 roms/evo8/95960000.bin MN132750 95960000 No calibration verification roms/evo8/96260009.bin MN191140 96260009 No calibration verification roms/evo8/96420008.bin MN191022AA 96420008 00 00 C3 22 roms/evo8/96530006.bin 1860A276AA 96530006 00 00 4C FF roms/evo8/96940011.bin 1860A118AA 96940011 F4 2D 35 F9 roms/evo8/96940013.bin 1860A118CC 96940013 C2 F1 0F 2A roms/evo8/97250001.bin MN191140 97250001 No calibration verification roms/evo8/97470001.bin 1860A299AA 97470001 00 00 19 2F roms/evo8/99270000.bin 1860A276AA 99270000 00 00 42 B3 roms/evo9/88570008.bin 1860A501 88570008 No calibration verification roms/evo9/88580013.bin 1860A603AA 88580013 00 00 80 B2 roms/evo9/88580014.bin 1860A603BB 88580014 00 00 81 41 roms/evo9/88580015.bin 1860A603CC 88580015 00 00 B3 03 roms/evo9/88590015_2006_USDM_5MT.hex 1860A465CC 88590015 78 6B 70 7B roms/evo9/88590016_2006_USDM_5MT.hex 1860A465DD 88590016 32 32 8F 49 roms/evo9/88780004.bin Unknown Unknown Unknown roms/evo9/88840013.bin 1860A602AA 88840013 00 00 A4 0B roms/evo9/88840016.bin 1860A602BB 88840016 00 00 A4 A5 roms/evo9/88840017.bin 1860A602CC 88840017 00 00 06 36 roms/evo9/89280002.bin 1860A576 89280002 No calibration verification roms/evo9/89960000.bin 1860A501 89960000 No calibration verification
Evo 7- 9 ROM Identification Tool
Anyone that can help, I have been trying to run the ROM ID Tool from Let's Evo (evo.txt) to calculate CVN numbers, but I cannot get it to run. When I do manage to get the python script to run (it returns info about the program), it aways stops with results of "unrecognized rom" no matter what ROM bin file I choose. I also tried the older python version 3.9 as well as latest version 3.11, but no luck.
Does this tool even still work? Looking for some help. Thanks!
Does this tool even still work? Looking for some help. Thanks!
Thanks so much for sending that file...it works now! I thought there would be more talk and comments about this cool python script, but it is difficult to find anything on the forums, so I appreciate you responding.
Anyway, I have a Mitsubishi MUT III scan tool coming soon (a rental) to initialize a new ECU with my VIN number and immobilizer code. It will be interesting to compare the CVN number read by the MUT to the CVN calculated by this tool and numbers already listed in the chart by Let's Evo and elsewhere online. I would hope they all match. Then I "might" feel more confident when I go in for my smog with this new ECU.
I am not sure if comparison data like this is already covered in some other thread (I have seen no feedback on this so far), but I will share later what I find out.
Anyway, I have a Mitsubishi MUT III scan tool coming soon (a rental) to initialize a new ECU with my VIN number and immobilizer code. It will be interesting to compare the CVN number read by the MUT to the CVN calculated by this tool and numbers already listed in the chart by Let's Evo and elsewhere online. I would hope they all match. Then I "might" feel more confident when I go in for my smog with this new ECU.
I am not sure if comparison data like this is already covered in some other thread (I have seen no feedback on this so far), but I will share later what I find out.
One example is the 2005 96940011, the governments published checksum for this model, test group 5MTXV02.0GBB CALID 1860A118AA, is 2822E4BF.
However, the python code when run against this stock ECU for CALID 1860A118AA produces F42D35F9.
That being the case, better to set the program aside and just look at whichever ECU you are working on specifically, since it's not clear for which models the program's calculation is accurate. It may be 96940011 is the only one that doesn't work, but that's the one I have so it's the one on which I noticed the discrepancy.
Trending Topics
Yes, good thoughts. I would agree the best source to use would be the actual government published checksum value for my particular ROM. I have only been able to find these government charts with CAL ID, ROM ID, CVN from people who have posted the charts on different forum threads. I have not had any luck locating the actual government epa? publications on my own, mostly not knowing what key words to use for the search. It would be nice to find the documentation for my 2006 model year if just to see the actual documentation for myself. Perhaps someone could share the location of such documentation?
Anyway, I was successful in flashing my stock ROM back into my ECU along with correct immobilizer code, and my OBDII scanner verified the correct CVN number for the CAL ID and ROM ID being used for my 2006 EVO IX model. Monitors are all functioning correctly. Now I just need to run the car until all monitors are set and "smog ready" so I can go get tested. By the way, the Python script listed my CAL ID, ROM ID, and it did calculate the correct CVN value, so it apparently seems to works for my ROM type. If I had to guess, the script is looking for particular locations in the ROM hex code matrix for the specific information and then calculates the CVN, but it is possible that not all ROMS have the same hex code matrix layout and so calculate and incorrect CVN. If this was the case the python scripts would need to be adjusted for various ROM families. Still...a very cool little tool.
Thanks again for your input!
Anyway, I was successful in flashing my stock ROM back into my ECU along with correct immobilizer code, and my OBDII scanner verified the correct CVN number for the CAL ID and ROM ID being used for my 2006 EVO IX model. Monitors are all functioning correctly. Now I just need to run the car until all monitors are set and "smog ready" so I can go get tested. By the way, the Python script listed my CAL ID, ROM ID, and it did calculate the correct CVN value, so it apparently seems to works for my ROM type. If I had to guess, the script is looking for particular locations in the ROM hex code matrix for the specific information and then calculates the CVN, but it is possible that not all ROMS have the same hex code matrix layout and so calculate and incorrect CVN. If this was the case the python scripts would need to be adjusted for various ROM families. Still...a very cool little tool.
Thanks again for your input!
If anyone is interested, and to sum up my previous post, I passed my smog test! Just received my new sticker in the mail the other day. So the stock ROM flash was successful! Much appreciation to all those who posted so much great content to understand all this tuning stuff. Now I have two years to have more fun. Thinking about trying out a flex-fuel setup. Back to searching the forums for information. If anyone can suggest some good links it would be appreciated. Cheers.
Thread
Thread Starter
Forum
Replies
Last Post
wiplash2001
Evo Engine / Turbo / Drivetrain
12
Jun 24, 2008 08:32 PM










