Segment Swap utility

They go by many names, P01, P59, VPW, '0411 etc. Also covering E38 and newer here.
kur4o
Posts: 950
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

I finally get some e38 tables searched.

This is high octane spark only but should work with any bin 06-15.

It turns out there are 3 different revisions of code assembler. 06-07,08-11,12-15 and they use different assembler or have upgraded code.

Anyway the spark tables are 8bit value and uses the same logic of table look up as the 90`s 68hc11 processor. Actually there is 3 bytes at the start of the table that specify vectors[colum/row] lenght and some scalar as a 3rd byte. The value is signed and the conversion x/2. so values between $80-$ff must be substracted by 128 to get negative value. (fc/2)-128 = -2 degrees.

Still having trouble with the offset with 06-07 files. If the table of the bin is not found, check the conditional offset checkbox.
A new logic neds to be found regarding this offset. It seems as a 1st code revision[06-07] only issue.
Attachments
TableSeek-e38.rar
(598 Bytes) Downloaded 142 times
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

Looks like this simple table editor is not enough.
Creating full featured "TunerPro clone" takes lot of time - and TunerPro is already available, so why not use it?

But i will do some testing and see if I can implement enough editing features...
kur4o
Posts: 950
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

No need to duplicate tunerpro yet, Just the basic stuff. Signed math is needed for sure.

I managed to configure 2d table with current setup. Set column to 1 and rows to table lenght. I am sure scalars will work too by 1x1 config.
kur4o
Posts: 950
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

Here is the ls1 seektable update with some more tables.

MainSpark tables here are also signed but have no idea how to fix the conversion to show negative values.
Attachments
tableseek-p01-p59.rar
(688 Bytes) Downloaded 126 times
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

0.15.20

Added selection "Signed" to tableseek config + support for signed values to Table Editor
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

0.15.21

Bug fixes & polishing to Table editor.
- Saving for all signed/unsigned,int/float...
- Support for 1 row/1col table (constant)

Signed support for xdf tableseek export. Need new template.
User avatar
joukoy
Posts: 392
Joined: Tue Dec 17, 2019 3:27 am
cars: --
Contact:

Re: Segment Swap utility

Post by joukoy »

0.15.22

Simple "Math" system to Table Editor:
- Supply math formula
- Select cells
- Click Execute

Examples:
x/2 divide all selected cells value by 2
X-0.9 Substract all selected cells value by 0.9
999 set all selected cell values to 999

See available functions:
https://www.codeproject.com/Tips/381509 ... NET-Csharp

Edit: fixed version of TableSeek-e38.xml added
kur4o
Posts: 950
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

I took a look at the math parser and it seems much more advanced that what tunerpro can offer. It supports all kind of fancy math including square root and some sin, cos... and so on.

The signed math also worked great. Now we need to get rid of the leading zero, on single digit values.
ironduke
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

Post by ironduke »

I just had a spare minute and downloaded the latest to give it a try..

worked first try on an 07 bin OS ending in 4088 I think, anyways DTC's are still working awesome and it found the high octane table, checked it and it's valid..

Great work, Saw export to XDF and tried that, worked perfect and created an XDF perfectly!! Spot on!! I do like how your letting us edit inside your program, but really love how you can to the xdf export, so much easier than doing it by hand like I have been..

I've got to get some time to dig into the E38 code, see if I can help keeping this rolling.. I'll also keep trying bins to see if it errors out with any of them..
kur4o
Posts: 950
Joined: Sun Apr 10, 2016 9:20 pm

Re: Segment Swap utility

Post by kur4o »

I found some easy hack logic to take e38 tables based on table size and table order[first 3 bytes of the table]. Seem to be consistent in all e38s.
Unfortunatelly it can`t be configure in the table seek.

What I need is to find 21 21 02 string and take the start address it was found as table address.
for example at this search

Done
Found at address: 1F797B
04 04 04 04 04 21 21 02 47 46 46 46 46
Found at address: 1F7DBF
28 26 23 20 1F 21 21 02 47 46 46 46 46
Found at address: 1F9268
00 20 00 20 00 21 21 02 00 00 00 00 00
Found at address: 1FA042
00 00 7D 08 00 21 21 02 14 14 1A 1A 1A
Found at address: 1FA6B2
00 00 00 05 00 21 21 02 14 14 1A 1A 20
Found at address: 1FAEAE
00 00 00 00 00 21 21 02 00 00 00 00 00
Found at address: 1FC0A8
F9 1E 00 1B 80 21 21 02 EA EA EA EA EB
Done

The found address is the start address of the table.

Maybe some switch box for now will work. [Use found address as table address], or some special character
# 21 21 02
that will enable more complex search string

00 34 45 * * 56 # 21 21 02 * * * * 56 87 98

The # location is the absolute address it resides in the bin memory.

Here is the example table seek I tried to configure.
Attachments
TableSeek-e38.rar
(734 Bytes) Downloaded 118 times
Post Reply