Segment Swap utility

They go by many names, P01, P59, VPW, '0411 etc . Circa 1999 to 2006. All VPW OBD2 PCMs.
Posts: 24
Joined: Mon Oct 21, 2019 4:58 am

Re: Segment Swap utility

Postby kostia111 » Fri May 29, 2020 11:21 am

maybe so ?
universal XML
for files of different lengths but with the same header.
I often have to work with segments

it would also be very convenient to extract segments
to a folder called as OS
and then just segments
here with such a template
12598219.00
12598439.02
---------------------
12610597.07

it seems to me so much more convenient
Attachments
999.JPG
999.JPG (62.13 KiB) Viewed 987 times

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

Re: Segment Swap utility

Postby joukoy » Fri May 29, 2020 1:43 pm

kostia111 wrote:Good afternoon !
I want to check the checksums
file which consists of one segment
file = segment
for example this
I already broke my head
trying to write xml
there is no way to indicate
that segment address is the beginning - the end of the file

Good morning.

Beginning of file - end of file:
0-0@

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

Re: Segment Swap utility

Postby joukoy » Fri May 29, 2020 2:02 pm

I think this is how you need to setup it?

Btw. did you try to click small buttons right side of all address fields?

Edit: checksum store address is skipped automatically when calculating.

uvp-2020-05-29-segment.jpg
uvp-2020-05-29-segment.jpg (48.45 KiB) Viewed 974 times

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

Re: Segment Swap utility

Postby kur4o » Fri May 29, 2020 5:34 pm

kostia111 wrote:Good afternoon !
I want to check the checksums
file which consists of one segment
file = segment
for example this
I already broke my head
trying to write xml
there is no way to indicate
that segment address is the beginning - the end of the file



I have already start making xmls for various segments, but it is still far from complete. Too many segments varieties and still getting some errors.

Here is the beta I have currently.
XML_seg_v1.rar
(5.1 KiB) Downloaded 162 times


Autodetect is supposed to identify the segments so you just needs to open the file and see how it goes. It is setup to identify much more data types than the already made xmls.


Can you share some stock segments library. I need alot of them to make a cvn list and add support to autodetect.


Hint you can open all files in a folder including subfolders via file info tab. Much easier when you are working with lots of files.

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

Re: Segment Swap utility

Postby kur4o » Fri May 29, 2020 5:52 pm

joukoy wrote:Version 0.11.11
Started support for configurable table search.
Not finished yet, need more functions etc, but basic functions work.

Extract attached files to XML -folder (same file tree times with different name), hit "Show info for files..." and select some V6 bnaries.
You should get data to [Searched Tables]

Config:
Settings -> Edit Table Search



Nice start for search xml. I even managed to configure some more table search for spark tables for v6.

It seems a lot of work is needed, The search is so more case dependent that I doubt we can cover all cases, but some basic search config will be awesome.

I figured the first 4 fields config, but I am lost for the others. Some hints will be awesome.

For searching we might need to rip the start address of the 3d subroutines, and than use that start address in the search field as a variable.

For example search for variables fields at the very start. We need 5 in total for now. 1 of the variable will have 2 different locations in the bin.

Than use the variables later in the search.

20 7C [X X X X] 4E B9 [Y Y Y Y]

YYYY = variable 1

or 20 7C [X X X X] 4E B9 [Z Z Z Z]

ZZZZ = variable 2


Now the search is harcdcoded for 3d tables with that row field.

Might make a skip sign when a field is not used and adding negative values for distance fields, If the value needed is in front of the search hit.

Posts: 24
Joined: Mon Oct 21, 2019 4:58 am

Re: Segment Swap utility

Postby kostia111 » Fri May 29, 2020 7:34 pm

Thanks for the quick response
I practically do not work with calibrations
north american cars
my specialty is opel
Last edited by kostia111 on Sun May 31, 2020 4:45 am, edited 1 time in total.

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

Re: Segment Swap utility

Postby joukoy » Fri May 29, 2020 9:53 pm

kur4o wrote:
Nice start for search xml. I even managed to configure some more table search for spark tables for v6.

It seems a lot of work is needed, The search is so more case dependent that I doubt we can cover all cases, but some basic search config will be awesome.

I figured the first 4 fields config, but I am lost for the others. Some hints will be awesome.

For searching we might need to rip the start address of the 3d subroutines, and than use that start address in the search field as a variable.

For example search for variables fields at the very start. We need 5 in total for now. 1 of the variable will have 2 different locations in the bin.

Than use the variables later in the search.

20 7C [X X X X] 4E B9 [Y Y Y Y]

YYYY = variable 1

or 20 7C [X X X X] 4E B9 [Z Z Z Z]

ZZZZ = variable 2


Now the search is harcdcoded for 3d tables with that row field.

Might make a skip sign when a field is not used and adding negative values for distance fields, If the value needed is in front of the search hit.


Ok, I will rewrite search almost completely
Don't use time for configs, format will change.

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

Re: Segment Swap utility

Postby kur4o » Sat May 30, 2020 7:39 am

I did play some more with the old config with ls1 and managed to generate some list based on table size. It looks like some tables are unique size and very easy to identify.


After looking at v8 code we might need some more search options like
wild character * , range [5-10], or defined [5,6,9]

Some example for the *

30 38 [AB B6] 32 38 [AB B8] 74 19 20 7C

30 38 [* *] 32 38 [* *] 74 19 20 7C


30 38 [* *] 32 38 [* *] 74 [10-19] 20 7C

The ** is ram location for table lookup values. We also might need to print these values.

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

Re: Segment Swap utility

Postby joukoy » Sun May 31, 2020 7:07 pm

kur4o wrote:I did play some more with the old config with ls1 and managed to generate some list based on table size. It looks like some tables are unique size and very easy to identify.


After looking at v8 code we might need some more search options like
wild character * , range [5-10], or defined [5,6,9]

Some example for the *

30 38 [AB B6] 32 38 [AB B8] 74 19 20 7C

30 38 [* *] 32 38 [* *] 74 19 20 7C


30 38 [* *] 32 38 [* *] 74 [10-19] 20 7C

The ** is ram location for table lookup values. We also might need to print these values.


Version 0.12.0
You can now have search strings like:
30 38 * * 32 38 * * 74 10-19 20 7C
30 38 * * 32 38 * * 74 10/15/20 20 7C

Variables:
30 38 var1:4 32 38 * * 74 10-19 20 7C
Or in "items": var1:3:b (3 bytes from searched address, beginning of searched data)
Edit:
othervar:0:e (0 bytes from searched address, end of searched data)

Items:
30 38 item1:4:hex 32 38 * * 74 10-19 20 7C
in "items": item1:3:4:hex
Attachments
SearchTables-V6-96-97.zip
(496 Bytes) Downloaded 49 times

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

Re: Segment Swap utility

Postby joukoy » Sun May 31, 2020 10:17 pm

0.12.1
Hit counter to table search

PreviousNext

Return to GM LS1 512Kbyte and 1Mbyte

Who is online

Users browsing this forum: No registered users and 2 guests