Segment Swap utility
Re: Segment Swap utility
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: 583
- Joined: Thu Feb 13, 2020 11:32 pm
- cars: Mainly GM trucks, a Cruze and an Equinox for dailys..
Re: Segment Swap utility
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..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.
Edited... Nope I was wrong... lol.. Not too surprised.. I'll look around for something I can use..
Re: Segment Swap utility
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.
I almost figure some sequence for e92 dtcs. Might need more bins to test.
It seems to work nice with the ones I have.
Re: Segment Swap utility
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.
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.
Re: Segment Swap utility
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... ?
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... ?
Re: Segment Swap utility
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.
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.
Re: Segment Swap utility
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...
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...
Re: Segment Swap utility
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.
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.
Re: Segment Swap utility
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.
Re: Segment Swap utility
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)
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)