Segment Swap utility

They go by many names, P01, P59, VPW, '0411 etc . Circa 1999 to 2006. All VPW OBD2 PCMs.
Posts: 292
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Postby kur4o » Mon Nov 16, 2020 1:54 am

I tested against all the files I have [till -2013]and it is working great. Not a single hiccup. Need to find some 14-15 e38 files.

Posts: 160
Joined: Thu Feb 13, 2020 11:32 pm

Re: Segment Swap utility

Postby ironduke » Mon Nov 16, 2020 3:05 am

kur4o wrote:I tested against all the files I have [till -2013]and it is working great. Not a single hiccup. Need to find some 14-15 e38 files.


Is the USA at least I don't believe they used the E38 in anything after 2013.. If they did and you give me some vins I can get the files..

Edited... Nope I was wrong... lol.. Not too surprised.. I'll look around for something I can use..

Posts: 292
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Postby kur4o » Mon Nov 16, 2020 3:39 am

2014-15 camaros have e38 I believe. Migth be used on others too. I guess it depends on engine type. DI=e92, FI=e38.

I almost figure some sequence for e92 dtcs. Might need more bins to test.
It seems to work nice with the ones I have.

Posts: 292
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Postby kur4o » Mon Nov 16, 2020 4:06 am

Tried some e92, they share similar code with e38 so it wasn`t that hard.

3D 80 * * 39 8C * * 57 EB 08 3C 7C 8C 5A 2E - DTC TABLE. no offset with the files I have

3C A0 * * 38 A5 * * 89 65 01 -DTC status all bins are offset by minus 10000.

For 5 byte e92s it doesn`t work at all and I couldn`t find even some similar pattern. I guess they changed the compiler and it have completely different set of instructions for table lookup.

User avatar
Posts: 291
Joined: Tue Dec 17, 2019 3:27 am

Re: Segment Swap utility

Postby joukoy » Tue Nov 17, 2020 10:31 pm

0.15.11

TableSearch was already implemented, so I made "TableSeek"
It is simple TableSearch, only finds first occurrence of opcode and reads table address.
Have also configs for XDF export...

Example added to tableseek.xml, requires also templates\xdfTableSeek.txt

- Is this Simple search/seek needed, or TableSearch is enough?
- Should I add similar extra parameters to TableSearch?
- What other parameters are required?
* Bits
* decimals
* int/floating point
* other
- How configurations should be organized? now there is e38.xml, TableSearch-e38.xdf, dtcsearch.xml, tableseek.xml
* Should I combine them more, or split tableseek, for example TableSeek-e38.xml, TableSeek-p01-p59.xml... ?

Posts: 292
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Postby kur4o » Tue Nov 17, 2020 11:37 pm

Separate Table seek looks good. It might need some tweaking. I think it main purpose will be to export xdfs[ thus the need for extended config options for the xdf]. Bits extraction will be needed for sure.
Also first hit migth be not enough. Adding a config which specifies which hit, and hit counts will simplify things for searchingwith hard to find unique strings.

I think the best route will be to make more than one table/search, table seek config per bin xml. for example table-seek-1-e38 , table-seek-2-e38 and so on, And make it user selectable somehow.

The main purpose now is to modify the search to find split addresses as all powerPC pcms use such. Something like @ADDR[0-1]:2:hex .... @ADDR[2-3]:2:hex

For 4 bytes address @addr[0-3]:4:hex. It is just an idea you how it may look, you can config it whatever you like.

Also adding an address offset scalar, it may be absolute or triggered by some conditions. Still need to figure the exact conditions that address offset is added. It seems it is always 10000 or 0, but have no clue yet, how it is triggered.

User avatar
Posts: 291
Joined: Tue Dec 17, 2019 3:27 am

Re: Segment Swap utility

Postby joukoy » Wed Nov 18, 2020 2:24 am

0.15.13

Now using for example: TableSeek-p01-p59.xml
Added more XDF configs: bits, DataType, Decimals, UseHit

e38 DTC search can be configured now with dtcsearch.xml, config in github
Can use e38 - style opcode search, for example: 3D 80 * * 39 8C * * 7D 7B DA 14 7C 8C 5A 2E 80 BD

Multiple tableseek-config for one XML is not (yet?) possible, but you can have all possible searches in one config and remove rows you dont need, before XDF export. But currently there may be too little info, only name and address...

Posts: 292
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Postby kur4o » Wed Nov 18, 2020 5:17 am

There is some bug in the dtcsearch config. I got some error and when saved the file kept getting some error on any file I open. I couldn`t make the negative offset work, and the conditional offset will be good to be separated for code and status search.
I guess the dtcsearcg got saved with some bug line in it.

I think that there migth be instances where more than 4 * will be needed in the search string. The easiest way to distinguish the address will be to keep it with the * but for other variables to add different symbol ' or ` or ^. or specify something. For example 45 67 ^ ^ 13 56 * * 67 78 * * 34 56 ^ ^ ^ ^ 36, or add @ for the address starts 45 67 * * 13 56 @* * 67 78 @* * 34 56 * * * * 36.

This also applies to the table-seek. I guess only * can be used for now.

I think it is getting real mess now even for testing. It will be good to focus one thing at a time, to be sure it all works as expected.

I guess first will be to finish dtcsearch for e38-on and improve the table-seek.

How about importing an xdf to table-seek minus the search string. Than at export only the ones with search string can be exported It will save tons of work.

There is one very detailed xdf by DzidaV8. I can ask him for permission to use his one as a template.

Posts: 292
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Postby kur4o » Wed Nov 18, 2020 8:58 am

I checked the included preconfigure DTCsearch from github, and managed to make it work. I am still getting some crash errors, while editing the dtcsearch, and some line0: index out of range. Must be non-negative and less ..... error when you open not supported by the dtcsearch table bin.

User avatar
Posts: 291
Joined: Tue Dec 17, 2019 3:27 am

Re: Segment Swap utility

Postby joukoy » Wed Nov 18, 2020 5:55 pm

0.15.14

Now you can use opcode search where address is marked by @ instead of *, for example:
45 67 * * 13 56 @ @ 67 78 @ @ 34 56 * * * * 36

Fixed bugs:
- Negative offset
- dtcsearch config crash

But not tested so much, need search strings & bin files (e92)

PreviousNext

Return to GM LS1 512Kbyte and 1Mbyte

Who is online

Users browsing this forum: No registered users and 3 guests