Segment Swap utility
Re: Segment Swap utility
I noticed that pid search got broken.
Can you check, what pcms the pid search is configured now. Might add some more.
Can you check, what pcms the pid search is configured now. Might add some more.
Re: Segment Swap utility
How its broken?kur4o wrote:I noticed that pid search got broken.
Can you check, what pcms the pid search is configured now. Might add some more.
Remember, it is not automatic, hit button in "File info" -tab
Version 0.12.56 can find something from V6 binaries, but not correct data.
Added debug outputs to search, hope it helps finding reason.
Re: Segment Swap utility
On v6 pre2000 the start of the DTC table is not the start of code, It will be start address +2 bytes that will give the first code
For example the table address is 00 03 83 94, the first code is at 00 03 83 96 that skip 2 bytes, next code, skip 2bytes and so on.
It will look like this xx xx 01 01 xx xx 01 02 xx xx 01 03.
The Dtc status seems at the correct address but it is printed with 99. At debug it also prints +1 byte than the starting address.
The table is found at 737f6 but at the log it is printed it is found at 737f7.
Thanks for refreshing me the pid search button. I looked for it but didn`t find it. Too many features now
For example the table address is 00 03 83 94, the first code is at 00 03 83 96 that skip 2 bytes, next code, skip 2bytes and so on.
It will look like this xx xx 01 01 xx xx 01 02 xx xx 01 03.
The Dtc status seems at the correct address but it is printed with 99. At debug it also prints +1 byte than the starting address.
The table is found at 737f6 but at the log it is printed it is found at 737f7.
Thanks for refreshing me the pid search button. I looked for it but didn`t find it. Too many features now

Re: Segment Swap utility
0.12.57
Better and better, but for example file 12584056.bin (V6 1MB) get wierd DTC codes
Better and better, but for example file 12584056.bin (V6 1MB) get wierd DTC codes
Re: Segment Swap utility
the v6 1 mb DTC table follows the same logic as pre 2000 v6s
I tried some 96-97 v6s 256kb but no results are found. I am sure it will use the same logic as pre 2000 v6s 512kbs.the start of the DTC table is not the start of code, It will be start address +2 bytes that will give the first code
For example the table address is 00 03 83 94, the first code is at 00 03 83 96 that skip 2 bytes, next code, skip 2bytes and so on.
It will look like this xx xx 01 01 xx xx 01 02 xx xx 01 03.
Re: Segment Swap utility
what op codes are we discussing here? ive decompiled a few v6 bins with ghidra. Are these addresses the hex address?
Re: Segment Swap utility
Some diesel stuff 01-04
42 10 20 7C * * * * 1C -Dtc table 1-2 hits
67 24 20 7C * * * * D1 -DTC status 1-2 hits
67 0C 20 7C * * * * D1 - Dtc mil on/off 1-2 hits
The DTC table format is xx xx 01 01 xx xx 01 02 xx xx 01 03
The dtc status and mil might be a litlle longer than needed. There is some codes that starts with E I guess the E should be replaced with U2.
Vampyre, the opcodes discussed are used for table lookup for DTC tables by the pcm processor. They seem consistent accross different OS and different tables and can be used to positive identify tables and scalars across OSs.
The wild charachters in the search string is the table address in hex.
42 10 20 7C * * * * 1C -Dtc table 1-2 hits
67 24 20 7C * * * * D1 -DTC status 1-2 hits
67 0C 20 7C * * * * D1 - Dtc mil on/off 1-2 hits
The DTC table format is xx xx 01 01 xx xx 01 02 xx xx 01 03
The dtc status and mil might be a litlle longer than needed. There is some codes that starts with E I guess the E should be replaced with U2.
Vampyre, the opcodes discussed are used for table lookup for DTC tables by the pcm processor. They seem consistent accross different OS and different tables and can be used to positive identify tables and scalars across OSs.
The wild charachters in the search string is the table address in hex.
Re: Segment Swap utility
V 0.15.0
DTC Search is now configurable, config stored to file: DtcSearch.xml
Edit: 0.15.1
Small optimization to MIL search
DTC Search is now configurable, config stored to file: DtcSearch.xml
Edit: 0.15.1
Small optimization to MIL search
Re: Segment Swap utility
0.15.2
Bug fix/hack , Mil table was 1 byte off for some P59 files
Bug fix/hack , Mil table was 1 byte off for some P59 files
Re: Segment Swap utility
Again excellent work.
I did play with the new dtc search and managed to fix and add some new pcms.
I tried to configure e40 pcm for dtc search. It founds the tables but the dtc status is a little different format. It is 2bytes status, first is always 0, something like this
00 06, 00 03, 00 00, 00 01 and so on. If there is a step for mil status will fix it perfectly. Or specify dtc status size 1 byte or 2 byte. It also seems to not recognize the 0-6 format. There is no mil on/off too.
If we can make that configurable I will look for some patterns for e38 too. There migth be something similar.
Can we also add alternative xmlfile field. A search that will work on more than on xmlfile.
Here is the current dtc search.xml I have. I still need to confirm that dtc status and mil on/off offset is correct. It looks like the first byte is always omitted for some reason.
I did play with the new dtc search and managed to fix and add some new pcms.
I tried to configure e40 pcm for dtc search. It founds the tables but the dtc status is a little different format. It is 2bytes status, first is always 0, something like this
00 06, 00 03, 00 00, 00 01 and so on. If there is a step for mil status will fix it perfectly. Or specify dtc status size 1 byte or 2 byte. It also seems to not recognize the 0-6 format. There is no mil on/off too.
If we can make that configurable I will look for some patterns for e38 too. There migth be something similar.
Can we also add alternative xmlfile field. A search that will work on more than on xmlfile.
Here is the current dtc search.xml I have. I still need to confirm that dtc status and mil on/off offset is correct. It looks like the first byte is always omitted for some reason.
- Attachments
-
- DtcSearch.rar
- (644 Bytes) Downloaded 170 times