Page 43 of 68
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 2:39 am
by joukoy
kur4o wrote:Again excellent work.
I did play with the new dtc search and managed to fix and add some new pcms.
I tried to configure e40 pcm for dtc search. It founds the tables but the dtc status is a little different format. It is 2bytes status, first is always 0, something like this
00 06, 00 03, 00 00, 00 01 and so on. If there is a step for mil status will fix it perfectly. Or specify dtc status size 1 byte or 2 byte. It also seems to not recognize the 0-6 format. There is no mil on/off too.
If we can make that configurable I will look for some patterns for e38 too. There migth be something similar.
Can we also add alternative xmlfile field. A search that will work on more than on xmlfile.
Here is the current dtc search.xml I have. I still need to confirm that dtc status and mil on/off offset is correct. It looks like the first byte is always omitted for some reason.
0.15.3
MilTable = "combined", if Status is in format 0-7 / Status & MIL in one table.
Added config for StatusSteps and MilSteps.
Almost untested, I don't have searchstrings for e38, try to search e40 files somewhere
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 2:50 am
by ironduke
Aren't we all set for E38 DTC's?? I haven't tried the latest couple revisions but it was working for every E38 bin I threw at it..
Nevermind.. I see there's now an XML for searcing, E38 isn't there so it is broken.. ok..
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 3:08 am
by joukoy
0.15.4
Fixed bugs in Dtc Search/combined table
Edit: modified DtcSearch.xml for E40-wsl
Yes, e38 DTC search is now broken, until config is added. You can use version 0.15.2 meanwhile.
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 3:14 am
by joukoy
kur4o wrote:
Can we also add alternative xmlfile field. A search that will work on more than on xmlfile.
I think it makes too much extra work.
You can open DtcSearch.xml with notepad and:
- copy-paste block
- Change XmlFile
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 3:26 am
by joukoy
0.15.5
Small bug, forget to reset "dtcCombined" variable
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 4:47 am
by kur4o
I made a quick disassembly of e38 just to see how code is referenced.
It is really weird how the table is picked. I almost figured how to find the dtc Status table but the dtc list is giving me trouble.
the search string will look something like this.
xx xx * * xx xx * * [[example xx xx 00 1c xx xx 38 58] =001c3858 will be the DTC status address.]]
Combining the ** ** will give the relative offset table for dtc status
For dtc table there is more than that and I am still fighting with the powerPC processor opcodes.
For now just keep hardcoded stuff for e38, since it may take a while to figure reliable search method.
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 5:31 am
by ironduke
I've been playing with the new configurable search, my brain is melting, but I might have figured out how it works..
Your now looking in the OS code for where the actual address information is stored for the DTC list? Your not looking for the actual dtc list itself now??
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 5:40 am
by joukoy
ironduke wrote:I've been playing with the new configurable search, my brain is melting, but I might have figured out how it works..
Your now looking in the OS code for where the actual address information is stored for the DTC list? Your not looking for the actual dtc list itself now??
Correct.
Version 0.15.6 have now fallback: If there is no configuration for e38/e67 (or table not found), it uses old harcoded search.
But combined status & MIL is displayed as separate values, like LS1, for compatibility.
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 5:44 am
by ironduke
joukoy wrote:ironduke wrote:I've been playing with the new configurable search, my brain is melting, but I might have figured out how it works..
Your now looking in the OS code for where the actual address information is stored for the DTC list? Your not looking for the actual dtc list itself now??
Correct.
Version 0.15.6 have now fallback: If there is no configuration for e38/e67 (or table not found), it uses old harcoded search.
But combined status & MIL is displayed as separate values, like LS1, for compatibility.
Damn!!! That is some good work, I started this with just the idea of getting the E38's done, you and Kur40 have taking it a LOT further than I ever intended, awesome!! Thanks for the fallback, I'll have to try and figure out how to use it..
I tried loading your source into visual studio to help me see how your searching but it crashes with "Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index" so that was a bust, lol..
Re: Segment Swap utility
Posted: Tue Nov 10, 2020 5:47 am
by joukoy
ironduke wrote:joukoy wrote:ironduke wrote:I've been playing with the new configurable search, my brain is melting, but I might have figured out how it works..
Your now looking in the OS code for where the actual address information is stored for the DTC list? Your not looking for the actual dtc list itself now??
Correct.
Version 0.15.6 have now fallback: If there is no configuration for e38/e67 (or table not found), it uses old harcoded search.
But combined status & MIL is displayed as separate values, like LS1, for compatibility.
Damn!!! That is some good work, I started this with just the idea of getting the E38's done, you and Kur40 have taking it a LOT further than I ever intended, awesome!! Thanks for the fallback, I'll have to try and figure out how to use it..
I tried loading your source into visual studio to help me see how your searching but it crashes with "Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index" so that was a bust, lol..
XML files are missing from folder bin\debug\XML\
?
I think there is still bug in decoding status + MIL to separate values, let's see if I can fix it.