Re: Reverse engineering a 411 operating system
Posted: Thu Feb 14, 2019 6:18 pm
Please start a new thread for the E66 / E67 stuff.
Electronic Fuel Injection - Developement & Tuning
https://pcmhacking.net/forums/
Code: Select all
MakeNameEx(, "CurveTable 8 Rows Calibration Segment Information", nameFlags);
MakeNameEx(, "CurveTable 8 Rows Checksum Information", nameFlags);
.
.
.
MakeNameEx(, "CurveTable 5 Rows D1201 - Transmission Gear Ratios", nameFlags);
Code: Select all
<XDFTABLE uniqueid="0x7DD5" flags="0x30">
<title>D1201 - Transmission Gear Ratios</title>
<description>Transmission Gear Ratios.
*** applicable to 4L60E or 4L80E transmissions only ***</description>
<CATEGORYMEM index="0" category="14" />
<XDFAXIS id="x" uniqueid="0x0">
<EMBEDDEDDATA mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
<units>Ratio</units>
<indexcount>1</indexcount>
<datatype>0</datatype>
<unittype>0</unittype>
<DALINK index="0" />
<LABEL index="0" value="0.00" />
<MATH equation="X">
<VAR id="X" />
</MATH>
</XDFAXIS>
<XDFAXIS id="y" uniqueid="0x0">
<EMBEDDEDDATA mmedelementsizebits="16" mmedmajorstridebits="-32" mmedminorstridebits="0" />
<units>Gear</units>
<indexcount>5</indexcount>
<outputtype>4</outputtype>
<datatype>0</datatype>
<unittype>0</unittype>
<DALINK index="0" />
<LABEL index="0" value="1st" />
<LABEL index="1" value="2nd" />
<LABEL index="2" value="3rd" />
<LABEL index="3" value="4th" />
<LABEL index="4" value="Reverse" />
<MATH equation="X">
<VAR id="X" />
</MATH>
</XDFAXIS>
<XDFAXIS id="z">
<EMBEDDEDDATA mmedelementsizebits="16" mmedrowcount="5" mmedmajorstridebits="0" mmedminorstridebits="0" />
<decimalpl>3</decimalpl>
<min>0.000000</min>
<max>8.000000</max>
<outputtype>1</outputtype>
<MATH equation="X">
<VAR id="X" />
</MATH>
<MATH row="1" col="1" equation="X/4096">
<VAR id="X" type="address" address="0x18A36" sizeinbits="16" />
</MATH>
<MATH row="2" col="1" equation="X/4096">
<VAR id="X" type="address" address="0x18A38" sizeinbits="16" />
</MATH>
<MATH row="3" col="1" equation="X/4096">
<VAR id="X" type="address" address="0x18AF6" sizeinbits="16" />
</MATH>
<MATH row="4" col="1" equation="X/4096">
<VAR id="X" type="address" address="0x18AF8" sizeinbits="16" />
</MATH>
<MATH row="5" col="1" equation="X/4096">
<VAR id="X" type="address" address="0x18A3A" sizeinbits="16" />
</MATH>
</XDFAXIS>
</XDFTABLE>
Code: Select all
.\Generate-PidLabels.ps1 .\PidList.txt
Code: Select all
Cannot index into a null array.
At C:\Users\brand\Desktop\12593358-master\Scripts\Generate-PidLabels.ps1:29 char:2
+ $functionAddress += $bytes[$start+7]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
Code: Select all
$bytes = [System.IO.File]::ReadAllBytes("12593358.bin")
$lines = [IO.File]::ReadAllLines(".\pidlist.txt")
Code: Select all
-param($Path)
+param([string]$Bin, [string]$Pidlist)
-$bytes = [System.IO.File]::ReadAllBytes("12593358.bin")
+$bytes = [System.IO.File]::ReadAllBytes($Bin)
-$lines = [IO.File]::ReadAllLines(".\pidlist.txt")
+$lines = [IO.File]::ReadAllLines($Pidlist)
Code: Select all
.\Generate-PidLabels.ps1 -Bin <Full path and filename to bin> -Pidlist <Full path and filename to PidList.txt> | Out-File <Output filename.idc> -Encoding ASCII