Segment Swap utility

They go by many names, P01, P10, P12, P59, E38, VPW, '0411 etc.
kur4o
Posts: 1044
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

I noticed that pid search got broken.

Can you check, what pcms the pid search is configured now. Might add some more.
User avatar
joukoy
Posts: 398
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

kur4o wrote:I noticed that pid search got broken.

Can you check, what pcms the pid search is configured now. Might add some more.
How its broken?
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.
kur4o
Posts: 1044
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

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 :comp:
User avatar
joukoy
Posts: 398
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

0.12.57

Better and better, but for example file 12584056.bin (V6 1MB) get wierd DTC codes
kur4o
Posts: 1044
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

the v6 1 mb DTC table follows the same logic as pre 2000 v6s
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.
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.
Vampyre
Posts: 262
Joined: Wed Dec 06, 2017 1:02 pm
cars: grand am, trans am

Re: Segment Swap utility

Post by Vampyre »

what op codes are we discussing here? ive decompiled a few v6 bins with ghidra. Are these addresses the hex address?
kur4o
Posts: 1044
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

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.
User avatar
joukoy
Posts: 398
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

V 0.15.0

DTC Search is now configurable, config stored to file: DtcSearch.xml

Edit: 0.15.1
Small optimization to MIL search
User avatar
joukoy
Posts: 398
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

0.15.2

Bug fix/hack , Mil table was 1 byte off for some P59 files
kur4o
Posts: 1044
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

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.
Attachments
DtcSearch.rar
(644 Bytes) Downloaded 170 times
Post Reply