Segment Swap utility

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

Re: Segment Swap utility

Postby kur4o » Sat Mar 28, 2020 7:26 pm

The new features looks great. I am missing the patch save button. Can you add some scroll bar to the manual patch "data window". Now it is easy to overflow on larger patches.

I found an application for bit extraction on older bins. There, all the bin options are done through bit switching to save space. It will be really handy to have it there. On newer bins it is usually option byte.

I am thinking for some stock files verification. It can be done really easy but we need to have the ability to specify what is checksum1 and checksum2.
For example we can name checksum1: CVN or sum, and checksum2: CVN or sum. Maybe some option box. When we know which is CVN, upon loading the bin a simple text file containing P/n:stock CVN cab be look at and if there is a match the segment will be marked stock.

To ease the creation of the p/n:cvn file we can import data to the file from the bin info, for a good known and verified bin. For example when a bin is opened and is known to be stock an import CVN data button can be pressed which will update the p/n:cvn file.


I will do some heavy functional testt to the patch side to confirm all works fine, but you need to fix the save button ASAP.

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

Re: Segment Swap utility

Postby joukoy » Sat Mar 28, 2020 7:47 pm

Patch save moved to menu.
I can add button again if this is bad choice?
Attachments
universalpatcher-patch-file-save.jpg
universalpatcher-patch-file-save.jpg (34.46 KiB) Viewed 287 times

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

Re: Segment Swap utility

Postby joukoy » Sat Mar 28, 2020 7:55 pm

Added scrollbars to patch data textbox in v 0.9.7
You can also resize window to make textbox bigger

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

Re: Segment Swap utility

Postby kur4o » Sat Mar 28, 2020 8:10 pm

I totally missed it.

I don`t know which one will be better, the buttons are easier to work with but the menu is more refined and adds a little confusion.

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

Re: Segment Swap utility

Postby joukoy » Sun Mar 29, 2020 4:45 pm

kur4o wrote:The new features looks great. I am missing the patch save button. Can you add some scroll bar to the manual patch "data window". Now it is easy to overflow on larger patches.

I found an application for bit extraction on older bins. There, all the bin options are done through bit switching to save space. It will be really handy to have it there. On newer bins it is usually option byte.

I am thinking for some stock files verification. It can be done really easy but we need to have the ability to specify what is checksum1 and checksum2.
For example we can name checksum1: CVN or sum, and checksum2: CVN or sum. Maybe some option box. When we know which is CVN, upon loading the bin a simple text file containing P/n:stock CVN cab be look at and if there is a match the segment will be marked stock.

To ease the creation of the p/n:cvn file we can import data to the file from the bin info, for a good known and verified bin. For example when a bin is opened and is known to be stock an import CVN data button can be pressed which will update the p/n:cvn file.


I will do some heavy functional testt to the patch side to confirm all works fine, but you need to fix the save button ASAP.


"Stock CVN" added in 0.9.8
Table extract possible with bitmask
bit set with patch removed, bitmask instead

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

Re: Segment Swap utility

Postby kur4o » Mon Mar 30, 2020 6:24 pm

Another great batch of improvements.

First I test the bit extraction method. I managed to extract one test bit and applied it successfully. Can we add the mask to the range instead of on a separate field as is now.

for example
8000-8005; 9001:1:[mask],9002:1[mask],9010:10

If there is no mask defined use default FF.

Now if you set a range and a mask different than FF, it applies it to all bytes of the range. If we apply the mask to the specific range:byte it will cure the problem.

The cvn list looks great. I am having some issues there. I found that when the cvn is display only, not stored in the bin as a checksum as per ls1files, It doesn`t compare and list as stock.If it stored as per the e38 on files it is marked stock perfect every time.

Also if there is more than 1 files info ripped it only import the last record and I had some issue when the first p/n on the bin info matches it refuse to add the the rest of the p/ns even they are not on the list.

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

Re: Segment Swap utility

Postby joukoy » Tue Mar 31, 2020 12:10 am

kur4o wrote:Another great batch of improvements.

First I test the bit extraction method. I managed to extract one test bit and applied it successfully. Can we add the mask to the range instead of on a separate field as is now.

for example
8000-8005; 9001:1:[mask],9002:1[mask],9010:10

If there is no mask defined use default FF.

Now if you set a range and a mask different than FF, it applies it to all bytes of the range. If we apply the mask to the specific range:byte it will cure the problem.

The cvn list looks great. I am having some issues there. I found that when the cvn is display only, not stored in the bin as a checksum as per ls1files, It doesn`t compare and list as stock.If it stored as per the e38 on files it is marked stock perfect every time.

Also if there is more than 1 files info ripped it only import the last record and I had some issue when the first p/n on the bin info matches it refuse to add the the rest of the p/ns even they are not on the list.


Fixed in 0.9.9
In patch data, mask can be :mask or [mask], default is [mask]
Rule uses still :mask, not sure if this should be changed too?

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

Re: Segment Swap utility

Postby joukoy » Tue Mar 31, 2020 6:26 pm

0.9.10
Bug fix: don't add CVN multiple times to list
Rules default changed from :mask to [mask]

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

Re: Segment Swap utility

Postby kur4o » Tue Mar 31, 2020 6:49 pm

I tried the new mask feature.

It works something like that 8000:1[40] which will extract bit $40.
I run into some issues. When I set 8000-8010,9000:15,10000:1[40] It works fine, but for example the masked region moves first 10000:1[40],8000-8010,9000:15 than all region after 10000:1[40] are also extracted with mask [40] applied.

I guess it sets the mask for all region after wards, instead of defaulting to [ff], and use only when specified.

I also notice that when the patch is applied and bin is saved the checksums are not updated. Now you have to apply patch , than update checksum than save bin. It will be good when the patch is applied to auto update the checksums if there is ones in the xml config file.

The compare function also compares the checksums, can we omit that if there are a checksum specified in the xml config.

That cvn list is awesome. Can we make it sortable, for example sort by p/n or by xml and export the list to excell or comma file.

There is also some issue with display only crc16 that is byte swapped. It adds some zeros like 98bb0000. I guess it interprets the crc16 as 32 bit wide and byte swaps the zeros also.


For the display only in the cvn list can we make all cvns 4bytes long, and add leading zeros if the calculated cvn is 2 bytes long.
This can be done only for the displaying purposes on the cvn list and we can keep the 2 bytes order on the file info.

It will be good for a nice and tidy looking info panel to move the [stock] at the end on the checksum line. And adding some bolding to the [stock] to make it easier to read, and also bolding the p/n that is stock. I am not sure how nice this bolding stuf will work so you can add a checbox in the settings to turn it off and on.

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

Re: Segment Swap utility

Postby joukoy » Tue Mar 31, 2020 10:21 pm

kur4o wrote:I tried the new mask feature.

It works something like that 8000:1[40] which will extract bit $40.
I run into some issues. When I set 8000-8010,9000:15,10000:1[40] It works fine, but for example the masked region moves first 10000:1[40],8000-8010,9000:15 than all region after 10000:1[40] are also extracted with mask [40] applied.

I guess it sets the mask for all region after wards, instead of defaulting to [ff], and use only when specified.

I also notice that when the patch is applied and bin is saved the checksums are not updated. Now you have to apply patch , than update checksum than save bin. It will be good when the patch is applied to auto update the checksums if there is ones in the xml config file.

The compare function also compares the checksums, can we omit that if there are a checksum specified in the xml config.

That cvn list is awesome. Can we make it sortable, for example sort by p/n or by xml and export the list to excell or comma file.

There is also some issue with display only crc16 that is byte swapped. It adds some zeros like 98bb0000. I guess it interprets the crc16 as 32 bit wide and byte swaps the zeros also.


For the display only in the cvn list can we make all cvns 4bytes long, and add leading zeros if the calculated cvn is 2 bytes long.
This can be done only for the displaying purposes on the cvn list and we can keep the 2 bytes order on the file info.

It will be good for a nice and tidy looking info panel to move the [stock] at the end on the checksum line. And adding some bolding to the [stock] to make it easier to read, and also bolding the p/n that is stock. I am not sure how nice this bolding stuf will work so you can add a checbox in the settings to turn it off and on.


0.9.11
Fixed extract mask bug.
Automatic checksum fix after patch apply.
Checksum skip in file compare.
crc16 byte swap fix (not tested)
bolding p/n if stock requires heavy modifications because stock information is not available at the time it is printed.
Adding leading zeros is also difficult because CVN list is directly supplied to datagrid-component. If I add zeros, they will be added to file also.

Added "save CVS" to XML-editor, but you can also open XML files directly with excel.
Not sure if it's worth of trouble to add sorting possibilities, let's see.

PreviousNext

Return to GM LS1 512Kbyte and 1Mbyte

Who is online

Users browsing this forum: No registered users and 6 guests