Segment Swap utility

They go by many names, P01, P59, VPW, '0411 etc. Also covering E38 and newer here.
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: Pontiac Firebird 1978

Re: Segment Swap utility

Post by joukoy »

ironduke wrote: ok.. ok.. ok.. try not to laugh.. I have never edited an XML file in my life but never thought it was this much of a pita.. lmao.. After I thought I tried everything remotely possible for all of them in the same row, then I tried patch 'rows' that I took to mean each line has an OS and address then the Data is at the bottom, then I made them all separate with each compatible OS having the data line directly below it, etc.. Then I came up with the idea of using a comma as a separator between compatible OS:address sections..
Now I have <CompatibleOS>12636005:address,12614088:address,12617631:address,12636005:address,12639835:address</CompatibleOS>
and the data line below it and it seems to work.. Nice to have 1 patch for a bunch of different OS for the same function..

I looked around the program itself, but I didn't see an easy way to create this xml file by itself, like if I created a patch file by comparing two files and saving it, I didn't see how I could compare 2 more files and then save/ add it to the same xml file.. I understand there may not be a huge request for this? I'm known for off the wall ideas..

Thanks again, but if someone ever creates a easy to follow set of instructions with full blown examples I would be the first to sign up!!! lmao...
Version: 0.9.22
Added possibility to Append comparison result to current patch, instead of creating new. Thanks for the idea.

You are right, I should create instructions, but it is not as fun as coding new features :oops:

XML file editing with text editor is not necessary.
Please see attachment, it should explain how to create single patch for multiple OS.
Attachments
universalpatcher-multios-example2.JPG
universalpatcher-multios-example2.JPG (66.44 KiB) Viewed 3318 times
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: Pontiac Firebird 1978

Re: Segment Swap utility

Post by joukoy »

I have started help/wiki/instructions page, currently it is only start:
https://github.com/joukoy/UniversalPatcher/wiki

kur4o, can you help with this? Most ideas for functionality are from you anyway...
kur4o
Posts: 948
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

I have been thinking for some comprehensive help file for a long time. There is so many features added over the time that I almost lost track of it.

We will need to make three different sections with the syntax. It is much faster with the script lines than manually selecting rules.

The 1st section will be for segment config and eeprom data extraction.
2nd is for autodetect rules.
3rd for patch extraction and configuration.

The best approach will be with some examples linked with the script syntax. The scripting is very intuitive and easy to work with once understood.

I think the last thing missing is some basic segment swap capability.
Real basic one like open the file and select a swap for each segment defined by the xml. The swap can be taken from a segment file or from a full bin. The usual checks can be applied like numerical number, segment size and OS match if taken from a full bin.

Can we also add some auto fix checksums for a multiple files that overwrites the existing files checksums.

For example select a file or files or folder and the program will update the checksums.
kur4o
Posts: 948
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

I forget to tell you that there are some random issues with the autodetect editing.

Couldn`t find a pattern but sometimes when you select a line for editing, it doesn`t display the values of the line but the line above or below. and there are some random crash messages.

You can review the code for some hidden problems. It is really a random bug that can`t be easily duplicated.
User avatar
Gampy
Posts: 2331
Joined: Sat Dec 15, 2018 7:38 am

Re: Segment Swap utility

Post by Gampy »

Just to let you two know ... Joukoy, Kur4o.

I have very much enjoyed the Saga of these builds ... Thank you for working so well together to bring good stuff to the public!

Amazing!

Yea, I'd like to see this help file, it's going to be a doozy!
Explaining all that you have created is going to be mind boggling.
Intelligence is in the details!

It is easier not to learn bad habits, then it is to break them!

If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: Pontiac Firebird 1978

Re: Segment Swap utility

Post by joukoy »

0.10.0

Segment swapping
Multi-file fix-checksum

I can't reproduce autoedetect bug, or find anything what can cause it.
Maybe I just rewrite it partially...
kur4o
Posts: 948
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

I tested some of the new stuff.
Some small bug found. When there is no file selected or open and you press "fix checksum of files" a crash message pops up. Once a file is selected the dialog opens and looks great. Good work here.

The fix checksum button is also a little unclear what it does. It can be, when it is pressed a dialog with confirmation and the name of the file that will be checksumed, can be presented with the option to overwrite the checksum to current file or to save as another file.

I think it is time to work on the ergonomics and easy of use. I see alot of stuff that are still unclear to me. The segment swap for example works great but it is hit or miss to figure what it is doing. Some summary at the end before saving the file will be great. I also tried to swap OS of e67 bin and couldn`t do it. It is because the start end address of the other segments depends on the OS, so if swapping OS is done all the other segments must be swapped also to account for the new OS config.

I also have a request for some exception for personal use. A checkbox for segment extraction that will save the files in the following format p/n.bin in a user specified folder. The p/n can be taken from the file info. So a segment with p/n 9304987 can be saved like 09304987.bin
If the p/n is less than 8 digit, as per the example a leading zeroes can be added.

The new improvements are massive and it will take me awhile to test all the features so can make sure everything is working as expected.

I am also doing some write up for the config section. I will have to experiments with the address offsets config since it is not very used and the size of the address lookup 2 or 4 bytes.

This program gets really massive improvements over time. I am amazed how many features we managed to add for such a short time.
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: Pontiac Firebird 1978

Re: Segment Swap utility

Post by joukoy »

kur4o wrote:I tested some of the new stuff.
Some small bug found. When there is no file selected or open and you press "fix checksum of files" a crash message pops up. Once a file is selected the dialog opens and looks great. Good work here.

The fix checksum button is also a little unclear what it does. It can be, when it is pressed a dialog with confirmation and the name of the file that will be checksumed, can be presented with the option to overwrite the checksum to current file or to save as another file.

I think it is time to work on the ergonomics and easy of use. I see alot of stuff that are still unclear to me. The segment swap for example works great but it is hit or miss to figure what it is doing. Some summary at the end before saving the file will be great. I also tried to swap OS of e67 bin and couldn`t do it. It is because the start end address of the other segments depends on the OS, so if swapping OS is done all the other segments must be swapped also to account for the new OS config.

I also have a request for some exception for personal use. A checkbox for segment extraction that will save the files in the following format p/n.bin in a user specified folder. The p/n can be taken from the file info. So a segment with p/n 9304987 can be saved like 09304987.bin
If the p/n is less than 8 digit, as per the example a leading zeroes can be added.

The new improvements are massive and it will take me awhile to test all the features so can make sure everything is working as expected.

I am also doing some write up for the config section. I will have to experiments with the address offsets config since it is not very used and the size of the address lookup 2 or 4 bytes.

This program gets really massive improvements over time. I am amazed how many features we managed to add for such a short time.
0.10.1
Bugs fixed & features added.

Should I switch this to MDI model? (Main window with multiple windows inside) Or is current model better? (separate windows)
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: Pontiac Firebird 1978

Re: Segment Swap utility

Post by joukoy »

Started big UI rewrite.
I try to keep all functionality intact, but still recommend to wait for next version before testing deeply.
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: Pontiac Firebird 1978

Re: Segment Swap utility

Post by joukoy »

joukoy wrote:Started big UI rewrite.
I try to keep all functionality intact, but still recommend to wait for next version before testing deeply.
Converting to MDI requires too much modifications.
I give up.
So, test 0.10.1 if possible.
Post Reply