BMTuneSource/frmConvert.cs

1875 lines
90 KiB
C#

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Threading;
using System.Reflection;
using System.Windows.Forms;
internal class frmConvert : Form
{
private Class18 class18_0;
private IContainer icontainer_0;
private Label labelProductName;
private Label label1;
private Label label_Baserom;
private DataGridView dataGridView1;
private Label label5;
private TextBox textBox_FileName;
private Label label6;
private Label label2;
private Button okButton;
private byte[] File_Byte;
private byte[] File_Byte_BMTune;
private Button button1;
private Label label3;
private DataGridViewCheckBoxColumn Column1;
private DataGridViewTextBoxColumn Column2;
//private DASM_Bytes DASM_Bytes_0;
string Baserom;
string FilePath = "";
//#####################
byte[] Final_LFuel = new byte[504];
byte[] Final_HFuel = new byte[504];
byte[] Final_LIgn = new byte[480];
byte[] Final_HIgn = new byte[480];
byte[] Final_mBar = new byte[24];
byte[] Final_LRPM = new byte[20];
byte[] Final_HRPM = new byte[20];
byte[] Final_Inj = new byte[21];
int CurrentIndex = 0;
int CurrentDone = 0;
string[] All_Lines = new string[] { };
int LFuelLocation = 0;
int HFuelLocation = 0;
int LIgnLocation = 0;
int HIgnLocation = 0;
int mBarScalarLocation = 0;
int LRPMLocation = 0;
int HRPMLocation = 0;
int InjLocation = 0;
bool LFuelFound = false;
bool HFuelFound = false;
bool LIgnFound = false;
bool HIgnFound = false;
bool mBarScalarFound = false;
bool LRPMFound = false;
bool HRPMFound = false;
bool InjFound = false;
int ModsCount = 0;
bool Boosted = false;
int ColumnNumber = 10;
string baserom = "";
public frmConvert(ref Class18 class18_1, string BaseromT)
{
this.InitializeComponent();
this.class18_0 = class18_1;
//DASM_Bytes_0 = new DASM_Bytes();
LoadThis(BaseromT);
foreach (Control control in base.Controls)
{
float emSize = control.Font.Size * (class18_0.class10_settings_0.scaleRate / 100f);
control.Font = new Font(control.Font.Name, emSize, control.Font.Style, control.Font.Unit);
}
}
public void LoadThis(string BaseromT)
{
File_Byte = this.class18_0.GetAllByte();
FilePath = Path.GetDirectoryName(this.class18_0.method_25_GetFilename());
string FileName = this.class18_0.method_23();
string ext = FileName.Substring(FileName.Length - 4);
textBox_FileName.Text = FileName.Substring(0, FileName.Length - 4) + "_Converted" + ext;
Baserom = BaseromT;
label_Baserom.Text = Baserom;
dataGridView1.Rows.Clear();
if (Baserom == "eCtune")
{
dataGridView1.Rows.Add(true, "All", "Any", "Any");
}
else if (Baserom == "Crome Gold" || Baserom == "Neptune")
{
dataGridView1.Rows.Add(true, "Fuel tables (low-high cams)");
dataGridView1.Rows.Add(true, "Igntion tables (low-high cams)");
dataGridView1.Rows.Add(true, "Tables scaling (mBar vs rpm)");
dataGridView1.Rows.Add(true, "Injectors settings");
dataGridView1.Rows.Add(true, "Idle settings");
dataGridView1.Rows.Add(true, "Rev limit settings (cold-warm became low-high cams)");
dataGridView1.Rows.Add(true, "Launch settings");
dataGridView1.Rows.Add(true, "Vtec settings (except rpm)");
dataGridView1.Rows.Add(true, "Sensors settings (except map sensor)");
dataGridView1.Rows.Add(true, "Closeloop settings (except wideband)");
//dataGridView1.Rows.Add(true, "Fuel and Ignition correction");
//dataGridView1.Rows.Add(true, "Tip-in settings");
//dataGridView1.Rows.Add(true, "Transmission settings");
}
else if (Baserom == "Crome P28" || Baserom == "Crome P30" || Baserom == "Crome P72")
{
dataGridView1.Rows.Add(true, "Fuel tables (low-high cams)");
dataGridView1.Rows.Add(true, "Igntion tables (low-high cams)");
dataGridView1.Rows.Add(true, "Tables scaling (mBar vs rpm)");
dataGridView1.Rows.Add(true, "Injectors settings");
}
else if (Baserom == "Crome P13")
{
dataGridView1.Rows.Add(true, "Fuel tables (low-high cams) **APROXIMATIVE**");
dataGridView1.Rows.Add(true, "Igntion tables (low-high cams)");
dataGridView1.Rows.Add(true, "Tables scaling (mBar vs rpm)");
}
}
/*public void ConvertInjector()
{
//0x6210L
byte InjectorByte = File_Byte_BMTune[this.class18_0.class13_0.long_81];
//Prelude H22 330cc and 290cc
if (InjectorByte == 2) InjectorByte = 8;
if (InjectorByte == 3) InjectorByte = 9;
//Mitshubishi DSM 450cc
if (InjectorByte == 4) InjectorByte = 16;
if (InjectorByte == 5) InjectorByte = 17;
//MSD
if (InjectorByte == 6) InjectorByte = 26;
if (InjectorByte == 7) InjectorByte = 27;
//Precision Turbo
if (InjectorByte == 8) InjectorByte = 35;
if (InjectorByte == 9) InjectorByte = 36;
if (InjectorByte == 10) InjectorByte = 37;
//RC Enginering
if (InjectorByte == 11) InjectorByte = 38;
if (InjectorByte == 12) InjectorByte = 39;
if (InjectorByte == 13) InjectorByte = 40;
if (InjectorByte == 14) InjectorByte = 41;
if (InjectorByte == 15) InjectorByte = 42;
if (InjectorByte == 16) InjectorByte = 43;
if (InjectorByte == 17) InjectorByte = 44;
if (InjectorByte == 18) InjectorByte = 45;
if (InjectorByte == 19) InjectorByte = 46;
if (InjectorByte == 20) InjectorByte = 47;
if (InjectorByte == 21) InjectorByte = 48;
if (InjectorByte == 22) InjectorByte = 49;
if (InjectorByte == 23) InjectorByte = 50;
if (InjectorByte == 24) InjectorByte = 51;
if (InjectorByte == 25) InjectorByte = 52;
//P&H
if (InjectorByte == 26) InjectorByte = 28;
if (InjectorByte == 27) InjectorByte = 29;
//Ultimate racing
if (InjectorByte == 28) InjectorByte = 30;
//Honda s2000
if (InjectorByte == 29) InjectorByte = 10;
//Denso
if (InjectorByte == 30) InjectorByte = 32;
if (InjectorByte == 31) InjectorByte = 33;
if (InjectorByte == 32) InjectorByte = 34;
//HKS
if (InjectorByte == 33) InjectorByte = 31;
//Injector Dynamics
int Difference = InjectorByte - 34;
if (InjectorByte >= 34) InjectorByte = (byte) (53 + Difference);
//Apply new reseted byte
File_Byte_BMTune[this.class18_0.class13_0.long_81] = InjectorByte;
}*/
public void Convert()
{
//Load New Baserom Binary (Class18 byte_0)
this.class18_0.method_63(true, this.class18_0.GetStable_Version_LAST() + 100, "");
File_Byte_BMTune = this.class18_0.GetAllByte();
//Convert Bytes
if (Baserom == "eCtune")
{
if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "True")
{
File_Byte_BMTune = File_Byte;
//ConvertInjector();
}
}
if (Baserom == "Crome Gold")
{
//Fuel Low-High
if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 504; i++) File_Byte_BMTune[0x6ead + i] = File_Byte[0x6e9a + i];
for (int i = 0; i < 504; i++) File_Byte_BMTune[0x70a5 + i] = File_Byte[0x7092 + i];
//File_Byte_BMTune[0x61fb] = File_Byte[0x0a1d];
//File_Byte_BMTune[0x61fb] += 2;
int ColumnCount = 0;
for (int i = 0; i < 24; i++)
{
if (i > 0)
{
if (File_Byte[0x6e5a + i] > File_Byte[0x6e5a + i - 1]) ColumnCount++;
else i = 25;
}
}
File_Byte_BMTune[0x61fb] = (byte)(ColumnCount + 1);
}
//Ign Low-High
if (dataGridView1.Rows[1].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 480; i++) File_Byte_BMTune[0x729d + i] = File_Byte[0x728a + i];
for (int i = 0; i < 480; i++) File_Byte_BMTune[0x747d + i] = File_Byte[0x746a + i];
//File_Byte_BMTune[0x61fb] = File_Byte[0x0a1d];
//File_Byte_BMTune[0x61fb] += 2;
int ColumnCount = 0;
for (int i = 0; i < 24; i++)
{
if (i > 0)
{
if (File_Byte[0x6e5a + i] > File_Byte[0x6e5a + i - 1]) ColumnCount++;
else i = 25;
}
}
File_Byte_BMTune[0x61fb] = (byte)(ColumnCount + 1);
}
//Mbar Scaling, Rpm Low, Rpm High Scaling
if (dataGridView1.Rows[2].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 24; i++) File_Byte_BMTune[0x6e59 + i] = File_Byte[0x6e5a + i];
for (int i = 0; i < 20; i++) File_Byte_BMTune[0x6e71 + i] = File_Byte[0x6e72 + i];
for (int i = 0; i < 20; i++) File_Byte_BMTune[0x6e85 + i] = File_Byte[0x6e86 + i];
}
// Injector Offset (Table, Offset ms, Value cc)
if (dataGridView1.Rows[3].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 21; i++) File_Byte_BMTune[0x6442 + i] = File_Byte[0x61d6 + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x610d + i] = File_Byte[0x6B6D + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6101 + i] = File_Byte[0x6B68 + i];
File_Byte_BMTune[0x6210] = 89; //set to custom injector
//Fuel Trims
/*long Trim1 = (long)(this.class18_0.method_203(((File_Byte[0x6BC7 + 1] * 256) + File_Byte[0x6BC7]), Enum6.const_0) + 76);
long Trim2 = (long)(this.class18_0.method_203(((File_Byte[0x6BE3 + 1] * 256) + File_Byte[0x6BE3]), Enum6.const_0) + 76);
long Trim3 = (long)(this.class18_0.method_203(((File_Byte[0x6BD8 + 1] * 256) + File_Byte[0x6BD8]), Enum6.const_0) + 76);
Trim1 = this.class18_0.method_231(double.Parse(Trim1.ToString()), Enum6.const_0);
Trim2 = this.class18_0.method_231(double.Parse(Trim2.ToString()), Enum6.const_0);
Trim3 = this.class18_0.method_231(double.Parse(Trim3.ToString()), Enum6.const_0);
File_Byte_BMTune[0x6103 + 1] = (byte)(Trim1 / 256);
File_Byte_BMTune[0x6103] = (byte)(Trim1 - (Trim1 / 256));
File_Byte_BMTune[0x6105 + 1] = (byte)(Trim1 / 256);
File_Byte_BMTune[0x6105] = (byte)(Trim1 - (Trim1 / 256));
File_Byte_BMTune[0x6109 + 1] = (byte)(Trim1 / 256);
File_Byte_BMTune[0x6109] = (byte)(Trim1 - (Trim1 / 256));*/
}
//Idle
if (dataGridView1.Rows[4].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6117 + i] = File_Byte[0x2B5D + i];
for (int i = 0; i < 42; i++) File_Byte_BMTune[0x6738 + i] = File_Byte[0x66e5 + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6114 + i] = File_Byte[0x698A + i];
}
//Rev Limit
if (dataGridView1.Rows[5].Cells[0].Value.ToString() == "True")
{
//Cold-Hot Set
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 6] = File_Byte[0x3F4C + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 18] = File_Byte[0x3F43 + i];
//Cold-Hot Reset
for (int i = 0; i < 2; i++)
{
if (i == 0) File_Byte_BMTune[0x6591 + i] = (byte)(File_Byte[0x3F4C + i] + 1);
else File_Byte_BMTune[0x6591 + i] = File_Byte[0x3F4C + i];
}
for (int i = 0; i < 2; i++)
{
if (i == 0) File_Byte_BMTune[0x6591 + i + 12] = (byte)(File_Byte[0x3F43 + i] + 1);
else File_Byte_BMTune[0x6591 + i + 12] = File_Byte[0x3F43 + i];
}
//RESET NOVTEC
if (File_Byte[0x6001] == 0)
{
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 18] = File_Byte[0x3F4C + i];
for (int i = 0; i < 2; i++)
{
if (i == 0) File_Byte_BMTune[0x6591 + i + 12] = (byte)(File_Byte[0x3F4C + i] + 1);
else File_Byte_BMTune[0x6591 + i + 12] = File_Byte[0x3F4C + i];
}
}
//Activate Shiftlight, enable gear based shiftlight
File_Byte_BMTune[0x6142] = 0xff;
File_Byte_BMTune[0x6143] = 0xff;
for (int i = 0; i < 10; i++) File_Byte_BMTune[0x6144 + i + 2] = File_Byte[0x6bfe + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6144 + i] = File_Byte[0x6bfe + i];
}
//Launch
if (dataGridView1.Rows[6].Cells[0].Value.ToString() == "True")
{
//Activate
File_Byte_BMTune[0x6152] = 0x80;
File_Byte_BMTune[0x6154] = File_Byte[0x3f7d];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6156 + i] = File_Byte[0x3F40 + i];
//Set Antilag
long AntilagVal = ((File_Byte[0x6b7a + 1] * 256) + File_Byte[0x6b7a]) / 4;
File_Byte_BMTune[0x6162] = (byte)(AntilagVal / 256);
File_Byte_BMTune[0x6161] = (byte)(AntilagVal - (AntilagVal / 256));
File_Byte_BMTune[0x6163] = (byte)(File_Byte[0x78d8] + 24);
File_Byte_BMTune[0x5f8c] = (byte)(File_Byte[0x78d8] + 24);
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6161 + i] = File_Byte[0x6b7a + i];
//Activate Antilag only if values arent ZERO's
if (File_Byte[0x78d8] != 0 || File_Byte[0x6b7a] != 0 || File_Byte[0x6b7a + 1] != 0) File_Byte_BMTune[0x6164] = 0xff;
}
//Vtec
if (dataGridView1.Rows[7].Cells[0].Value.ToString() == "True")
{
File_Byte_BMTune[0x61f2] = File_Byte[0x6001];
if (File_Byte[0x3d27] != 0) File_Byte_BMTune[0x6123] = 0x00;
else File_Byte_BMTune[0x6123] = 0xff;
if (File_Byte[0x3d06] != 0) File_Byte_BMTune[0x6124] = 0x00;
else File_Byte_BMTune[0x6124] = 0xff;
//Vtec ECT
if (File_Byte[0x11aa] == 0xff)
{
File_Byte_BMTune[0x611f] = 0xff;
}
else
{
File_Byte_BMTune[0x611f] = 0x00;
File_Byte_BMTune[0x6120] = File_Byte[0x11aa];
}
//Vtec Speed
if (File_Byte[0x11b0] == 0x00)
{
File_Byte_BMTune[0x6209] = 0xff;
}
else
{
File_Byte_BMTune[0x6209] = 0x00;
File_Byte_BMTune[0x6122] = File_Byte[0x11b0];
}
//IAB
if (File_Byte[0x11ed] != 0) File_Byte_BMTune[0x6215] = 0xff;
else File_Byte_BMTune[0x6215] = 0x00;
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x611a + i] = File_Byte[0x11e4 + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6119 + i] = File_Byte[0x11de + i];
if (File_Byte[0x11ec] == 0) File_Byte_BMTune[0x5fc9] = 0xff;
else File_Byte_BMTune[0x5fc9] = 0x00;
}
//Sensors
if (dataGridView1.Rows[8].Cells[0].Value.ToString() == "True")
{
File_Byte_BMTune[0x61f5] = File_Byte[0x6004];
if (File_Byte[0x3c6f] == 0) File_Byte_BMTune[0x6116] = 0xff;
else File_Byte_BMTune[0x6116] = 0x00;
File_Byte_BMTune[0x61f3] = File_Byte[0x6002];
File_Byte_BMTune[0x61f9] = File_Byte[0x6006];
File_Byte_BMTune[0x620e] = File_Byte[0x6015];
//TPS
File_Byte_BMTune[0x6200] = 0xff;
File_Byte_BMTune[0x6205] = File_Byte[0x6c21];
File_Byte_BMTune[0x6203] = File_Byte[0x6c1f];
//MAP
//File_Byte_BMTune[0x60fc] = 11;
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x60fd + i] = File_Byte[0x6376 + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x60ff + i] = File_Byte[0x6374 + i];
}
//Closeloop
if (dataGridView1.Rows[9].Cells[0].Value.ToString() == "True")
{
File_Byte_BMTune[0x61f4] = File_Byte[0x6003];
if (File_Byte[0x6005] == 0) File_Byte_BMTune[0x6111] = 0xff;
else File_Byte_BMTune[0x6111] = 0x00;
File_Byte_BMTune[0x6112] = File_Byte[0x15b4];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6167 + i] = File_Byte[0x5f53 + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6169 + i] = File_Byte[0x1c08 + i];
}
//Ect iat corr
//IAT Fuel Corr
/*if (dataGridView1.Rows[10].Cells[0].Value.ToString() == "True")
{
int FinalIndex = 0;
for (int i = 0; i < 21; i++)
{
//Apply for Low, Mid, High Load
for (int i2 = 0; i2 < 3; i2++)
{
byte Byte_IAT_Temp = File_Byte[0x607a + i];
long IAT_Corr = ((long)((File_Byte[0x607a + i + 2] * 0x100) + File_Byte[0x607a + i + 1]) / 32768);
//IAT Temp
File_Byte_BMTune[0x62a2 + FinalIndex] = Byte_IAT_Temp;
//IAT Low Load (-5 diff)
long IAT_CurrentCorr = (IAT_Corr - 5) * 32768;
byte firstB = (byte)(IAT_CurrentCorr / 256);
byte SecondB = (byte)(IAT_CurrentCorr - (firstB * 256));
File_Byte_BMTune[0x62a2 + FinalIndex + 2] = (byte)(IAT_CurrentCorr / 255);
File_Byte_BMTune[0x62a2 + FinalIndex + 1] = (byte)(IAT_CurrentCorr - firstB);
//IAT Mid Load (-2 diff)
IAT_CurrentCorr = (IAT_Corr - 2) * 32768;
firstB = (byte)(IAT_CurrentCorr / 256);
SecondB = (byte)(IAT_CurrentCorr - (firstB * 256));
File_Byte_BMTune[0x62bd + FinalIndex + 2] = firstB;
File_Byte_BMTune[0x62bd + FinalIndex + 1] = SecondB;
//IAT High Load (No diff)
IAT_CurrentCorr = (IAT_Corr) * 32768;
firstB = (byte)(IAT_CurrentCorr / 256);
SecondB = (byte)(IAT_CurrentCorr - (firstB * 256));
File_Byte_BMTune[0x62d8 + FinalIndex + 2] = firstB;
File_Byte_BMTune[0x62d8 + FinalIndex + 1] = SecondB;
}
//Apply for 2x missing columns
if (i == 3 || i == 6)
{
//Current
byte Byte_IAT_Temp = File_Byte[0x607a + i];
long IAT_Corr = ((long)((File_Byte[0x607a + i + 2] * 0x100) + File_Byte[0x607a + i + 1]) / 32768);
//After
byte Byte_IAT_Temp_After = File_Byte[0x607a + i + 3];
long IAT_Corr_After = ((long)((File_Byte[0x607a + i + 2 + 3] * 0x100) + File_Byte[0x607a + i + 1 + 3]) / 32768);
//Middle value
byte Byte_IAT_Temp_Mid = (byte)(Byte_IAT_Temp_After - ((Byte_IAT_Temp_After - Byte_IAT_Temp) / 2));
byte IAT_Corr_Mid = (byte)(IAT_Corr_After - ((IAT_Corr_After - IAT_Corr) / 2));
//Increase BMTune Table
FinalIndex++;
FinalIndex++;
FinalIndex++;
//IAT Temp
File_Byte_BMTune[0x62a2 + FinalIndex] = Byte_IAT_Temp_Mid;
//IAT Low Load (-5 diff)
long IAT_CurrentCorr = (IAT_Corr_Mid - 5) * 32768;
byte firstB = (byte)(IAT_CurrentCorr / 256);
byte SecondB = (byte)(IAT_CurrentCorr - (firstB * 256));
File_Byte_BMTune[0x62a2 + FinalIndex + 2] = (byte)(IAT_CurrentCorr / 255);
File_Byte_BMTune[0x62a2 + FinalIndex + 1] = (byte)(IAT_CurrentCorr - firstB);
//IAT Mid Load (-2 diff)
IAT_CurrentCorr = (IAT_Corr_Mid - 2) * 32768;
firstB = (byte)(IAT_CurrentCorr / 256);
SecondB = (byte)(IAT_CurrentCorr - (firstB * 256));
File_Byte_BMTune[0x62bd + FinalIndex + 2] = firstB;
File_Byte_BMTune[0x62bd + FinalIndex + 1] = SecondB;
//IAT High Load (No diff)
IAT_CurrentCorr = (IAT_Corr_Mid) * 32768;
firstB = (byte)(IAT_CurrentCorr / 256);
SecondB = (byte)(IAT_CurrentCorr - (firstB * 256));
File_Byte_BMTune[0x62d8 + FinalIndex + 2] = firstB;
File_Byte_BMTune[0x62d8 + FinalIndex + 1] = SecondB;
}
//Increase Crome Table
i++;
i++;
//Increase BMTune Table
FinalIndex++;
FinalIndex++;
FinalIndex++;
}
}*/
//Tip-in
//Transmission
}
if (Baserom == "Neptune")
{
//Fuel Low-High
if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 480; i++) File_Byte_BMTune[0x6ead + i] = File_Byte[0x6a90 + i];
for (int i = 0; i < 480; i++) File_Byte_BMTune[0x70a5 + i] = File_Byte[0x6f40 + i];
for (int i = 0; i < 24; i++) File_Byte_BMTune[0x6ead + i + 480] = File_Byte[0x6a90 + i + 576];
for (int i = 0; i < 24; i++) File_Byte_BMTune[0x70a5 + i + 480] = File_Byte[0x6f40 + i + 576];
int ColumnCount = 0;
for (int i = 0; i < 24; i++)
{
if (File_Byte[0x6a00 + i] != 0xff) ColumnCount++;
else i = 25;
}
File_Byte_BMTune[0x61fb] = (byte)(ColumnCount);
}
//Ign Low-High
if (dataGridView1.Rows[1].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 480; i++) File_Byte_BMTune[0x729d + i] = File_Byte[0x73f0 + i];
for (int i = 0; i < 480; i++) File_Byte_BMTune[0x747d + i] = File_Byte[0x7870 + i];
int ColumnCount = 0;
for (int i = 0; i < 24; i++)
{
if (File_Byte[0x6a00 + i] != 0xff) ColumnCount++;
else i = 25;
}
File_Byte_BMTune[0x61fb] = (byte)(ColumnCount);
}
//Mbar Scaling, Rpm Low, Rpm High Scaling
if (dataGridView1.Rows[2].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 24; i++) File_Byte_BMTune[0x6e59 + i] = File_Byte[0x6a00 + i];
//for (int i = 0; i < 20; i++) File_Byte_BMTune[0x6e71 + i] = File_Byte[0x6a30 + i]; //rpm scale low
//for (int i = 0; i < 20; i++) File_Byte_BMTune[0x6e85 + i] = File_Byte[0x6a48 + i]; //rpm scale high
}
// Injector Offset (Table, Offset ms, Value cc)
if (dataGridView1.Rows[3].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 21; i++) File_Byte_BMTune[0x6442 + i] = File_Byte[0x56d6 + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6101 + i] = File_Byte[0x5403 + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x610d + i] = File_Byte[0x5403 + i]; //Injector Offset
File_Byte_BMTune[0x6210] = 89; //set to custom injector
//Fuel Trims
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6103 + i] = File_Byte[0x5406 + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6105 + i] = File_Byte[0x540a + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6109 + i] = File_Byte[0x5408 + i];
}
//Idle
if (dataGridView1.Rows[4].Cells[0].Value.ToString() == "True")
{
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6117 + i] = File_Byte[0x53f2 + i];
for (int i = 0; i < 42; i++) File_Byte_BMTune[0x6738 + i] = File_Byte[0x5a56 + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6114 + i] = File_Byte[0x698A + i]; //Iacv Duty
}
//Rev Limit
if (dataGridView1.Rows[5].Cells[0].Value.ToString() == "True")
{
//Cold-Hot Set
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 6] = File_Byte[0x5813 + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 18] = File_Byte[0x581f + i];
//Cold-Hot Reset
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i] = File_Byte[0x580d + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 12] = File_Byte[0x5819 + i];
//RESET NOVTEC
if (File_Byte[0x5466] == 0)
{
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 18] = File_Byte[0x5813 + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6591 + i + 12] = File_Byte[0x580d + i];
}
//Activate Shiftlight, enable gear based shiftlight
File_Byte_BMTune[0x6142] = File_Byte[0x5458];
File_Byte_BMTune[0x6143] = File_Byte[0x5395];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6144 + i] = File_Byte[0x5442 + i];
for (int i = 0; i < 10; i++) File_Byte_BMTune[0x6144 + i + 2] = File_Byte[0x5e6a + i];
}
//Launch
if (dataGridView1.Rows[6].Cells[0].Value.ToString() == "True")
{
//Activate
if (File_Byte[0x545e] == 0xff) File_Byte_BMTune[0x6152] = 0x80;
else File_Byte_BMTune[0x6152] = 0xff;
File_Byte_BMTune[0x6154] = File_Byte[0x5418]; //vss
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6156 + i] = File_Byte[0x5419 + i]; //rpm
//Set Antilag
long AntilagVal = ((File_Byte[0x5416 + 1] * 256) + File_Byte[0x5416]) / 4;
File_Byte_BMTune[0x6162] = (byte)(AntilagVal / 256);
File_Byte_BMTune[0x6161] = (byte)(AntilagVal - (AntilagVal / 256));
File_Byte_BMTune[0x6163] = (byte)(File_Byte[0x541D]);
File_Byte_BMTune[0x5f8c] = (byte)(File_Byte[0x541D]);
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6161 + i] = File_Byte[0x6b7a + i];
//Activate Antilag only if values arent ZERO's
if (File_Byte[0x541D] != 0 || File_Byte[0x5416] != 0 || File_Byte[0x5416 + 1] != 0) File_Byte_BMTune[0x6164] = 0xff;
}
//Vtec
if (dataGridView1.Rows[7].Cells[0].Value.ToString() == "True")
{
//Vtec, vtc pressure, vtc solenoid
File_Byte_BMTune[0x61f2] = File_Byte[0x5466];
File_Byte_BMTune[0x6123] = File_Byte[0x545b];
File_Byte_BMTune[0x6124] = File_Byte[0x545c];
//Vtec ECT
File_Byte_BMTune[0x611f] = File_Byte[0x53c8];
//File_Byte_BMTune[0x6120] = File_Byte[0x545d];
//Vtec Speed
File_Byte_BMTune[0x6209] = File_Byte[0x53c7];
//File_Byte_BMTune[0x6122] = File_Byte[0x547d];
//Vtec rpm
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6657 + i] = File_Byte[0x58d5 + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6659 + i] = File_Byte[0x58d3 + i];
//IAB
File_Byte_BMTune[0x6215] = File_Byte[0x5489];
File_Byte_BMTune[0x611a] = File_Byte[0x5433];
File_Byte_BMTune[0x6119] = File_Byte[0x5434];
}
//Sensors
if (dataGridView1.Rows[8].Cells[0].Value.ToString() == "True")
{
File_Byte_BMTune[0x61f5] = File_Byte[0x5469];
File_Byte_BMTune[0x6116] = File_Byte[0x5452];
File_Byte_BMTune[0x61f3] = File_Byte[0x5467];
File_Byte_BMTune[0x61f9] = File_Byte[0x546d];
File_Byte_BMTune[0x620e] = File_Byte[0x5482];
//TPS
//File_Byte_BMTune[0x6200] = 0xff;
//File_Byte_BMTune[0x6205] = File_Byte[0x6c21];
//File_Byte_BMTune[0x6203] = File_Byte[0x6c1f];
//MAP
//File_Byte_BMTune[0x60fc] = 11;
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x60fd + i] = File_Byte[0x6376 + i];
//for (int i = 0; i < 2; i++) File_Byte_BMTune[0x60ff + i] = File_Byte[0x6374 + i];
}
//Closeloop
if (dataGridView1.Rows[9].Cells[0].Value.ToString() == "True")
{
File_Byte_BMTune[0x61f4] = File_Byte[0x5468];
File_Byte_BMTune[0x6111] = File_Byte[0x5464];
File_Byte_BMTune[0x6112] = File_Byte[0x5446];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6167 + i] = File_Byte[0x53b9 + i];
for (int i = 0; i < 2; i++) File_Byte_BMTune[0x6169 + i] = File_Byte[0x53bb + i];
}
}
if (Baserom == "Crome P28" || Baserom == "Crome P30" || Baserom == "Crome P72" || Baserom == "Crome P13")
{
if (!Directory.Exists(FilePath)) Directory.CreateDirectory(FilePath);
string FileName = this.class18_0.method_23();
this.class18_0.Converting = true;
//#######
//Zipping
string Filename = "dasm662.exe";
string ZipFolder = "ASM";
string WholePath = Application.StartupPath + @"\" + ZipFolder + @"\" + Filename;
if (!File.Exists(WholePath)) this.class18_0.class17_0.frmMain_0.Class34_Zip_0.UnZipFile(Application.StartupPath, ZipFolder);
//#######
File.Create(Application.StartupPath + @"\" + ZipFolder + @"\FileName.bin").Dispose();
File.WriteAllBytes(Application.StartupPath + @"\" + ZipFolder + @"\FileName.bin", File_Byte);
//Create DASM.bat
/*string BatTxt = "dasm662.exe FileName.bin FileName.asm";
StreamWriter writer = new StreamWriter(Application.StartupPath + @"\" + ZipFolder + @"\DASM.bat", false);
writer.Write(BatTxt);
writer.Close();
writer.Dispose();
writer = null;*/
//Load DASM.bat
Process p = new Process();
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
//p.StartInfo.FileName = Application.StartupPath + @"\" + ZipFolder + @"\DASM.bat";
p.StartInfo.FileName = "dasm662.exe";
p.StartInfo.Arguments = "FileName.bin FileName.asm";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.Verb = "runas";
p.Start();
//#################
int SleepingCount = 0;
while (SleepingCount < 200)
{
Thread.Sleep(1);
SleepingCount++;
}
SleepingCount = 0;
//#################
Process[] pname = Process.GetProcessesByName("dasm662.exe");
//Process[] pname = Process.GetProcessesByName("DASM.bat");
while (pname.Length > 1)
{
Thread.Sleep(1);
pname = Process.GetProcessesByName("dasm662.exe");
//pname = Process.GetProcessesByName("DASM.bat");
}
//#################
while (SleepingCount < 200)
{
Thread.Sleep(1);
SleepingCount++;
}
SleepingCount = 0;
//#################
FileInfo info = new FileInfo(Application.StartupPath + @"\" + ZipFolder + @"\FileName.asm");
if (info.Exists)
{
GetASMLocation();
Load_Bytes();
Apply_Bytes();
}
else
{
MessageBox.Show(Form.ActiveForm, "Can't disassemble binary", "BMTune");
}
this.class18_0.RemoveFile();
this.class18_0.Converting = false;
info = null;
}
//Apply Bytes and File Name
//this.class18_0.byte_0 = File_Byte_BMTune;
this.class18_0.SetAllByte(File_Byte_BMTune);
this.class18_0.method_26_SetFilename(FilePath + @"\" + textBox_FileName.Text);
this.class18_0.method_24(textBox_FileName.Text);
}
private void GetASMLocation()
{
string ZipFolder = "ASM";
All_Lines = File.ReadAllLines(Application.StartupPath + @"\" + ZipFolder + @"\FileName.asm");
LFuelFound = false;
HFuelFound = false;
LIgnFound = false;
HIgnFound = false;
mBarScalarFound = false;
LRPMFound = false;
HRPMFound = false;
InjFound = false;
ModsCount = 0;
//Get Rom Type
baserom = "";
if (File_Byte[528] == 212 && File_Byte[529] == 0x1a && File_Byte[530] == 0x02) baserom = "P28";
if (File_Byte[528] == 0x2e && File_Byte[529] == 0xf9 && File_Byte[530] == 0x7d) baserom = "P30";
if (File_Byte[528] == 228 && File_Byte[529] == 0xf8 && File_Byte[530] == 0xa2) baserom = "P72";
//if (File_Byte[528] == 0x29 && File_Byte[529] == 0x0f && File_Byte[530] == 0xc9) baserom = "P13";
if ((File_Byte[528] == 0x29 && File_Byte[529] == 0x0f && File_Byte[530] == 0xc9) ||
(File_Byte[528] == 0xc4 && File_Byte[529] == 0xaa && File_Byte[530] == 0x98)) baserom = "P13";
//Get Columns Number
ColumnNumber = 10;
if (baserom == "P30") ColumnNumber = File_Byte[0x1235];
if (baserom == "P28") ColumnNumber = File_Byte[0x12FD];
if (baserom == "P72") ColumnNumber = File_Byte[0x1267];
//if (baserom == "P13") ColumnNumber = File_Byte[0x1267];
//Set boosted
Boosted = false;
if (ColumnNumber > 10) Boosted = true;
if (baserom != "")
{
if (All_Lines.Length > 0 && File_Byte.Length > 0)
{
//Getting Locations
for (int i = 0; i < All_Lines.Length; i++)
{
if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "True")
{
if (!LFuelFound)
{
if (baserom == "P30")
{
if (All_Lines[i].Contains("er3, off(001dah)"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
LFuelLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
LFuelFound = true;
ModsCount++;
}
}
}
if (baserom == "P28")
{
if (All_Lines[i].Contains("er3, off(001c2h)"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
LFuelLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
LFuelFound = true;
ModsCount++;
}
}
}
if (baserom == "P72")
{
if (All_Lines[i].Contains("er3, off(001eah)"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
LFuelLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
LFuelFound = true;
ModsCount++;
}
}
}
if (baserom == "P13")
{
LFuelLocation = int.Parse("60aa", System.Globalization.NumberStyles.HexNumber);
LFuelFound = true;
ModsCount++;
}
}
if (!HFuelFound)
{
if (baserom == "P30")
{
if (All_Lines[i].Contains("er3, off(001dch)"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HFuelLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HFuelFound = true;
ModsCount++;
}
}
}
if (baserom == "P28")
{
if (All_Lines[i].Contains("er3, off(001c4h)"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HFuelLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HFuelFound = true;
ModsCount++;
}
}
}
if (baserom == "P72")
{
if (All_Lines[i].Contains("er3, off(001ech)"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HFuelLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HFuelFound = true;
ModsCount++;
}
}
}
if (baserom == "P13")
{
HFuelLocation = int.Parse("6172", System.Globalization.NumberStyles.HexNumber);
HFuelFound = true;
ModsCount++;
}
}
}
//####################################
if (dataGridView1.Rows[1].Cells[0].Value.ToString() == "True")
{
if (!LIgnFound)
{
if (baserom == "P30")
{
if (All_Lines[i].Contains("er3, (001dah-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
LIgnLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
LIgnFound = true;
ModsCount++;
}
}
}
if (baserom == "P28")
{
if (All_Lines[i].Contains("er3, (001c4h-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
LIgnLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
LIgnFound = true;
ModsCount++;
}
}
}
if (baserom == "P72")
{
if (All_Lines[i].Contains("label_0b98"))
{
string CurrentCmd = All_Lines[i - 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
LIgnLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
LIgnFound = true;
ModsCount++;
}
}
}
if (baserom == "P13")
{
LIgnLocation = int.Parse("63f8", System.Globalization.NumberStyles.HexNumber);
LIgnFound = true;
ModsCount++;
}
}
if (!HIgnFound)
{
if (baserom == "P30")
{
if (All_Lines[i].Contains("er3, (001dch-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HIgnLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HIgnFound = true;
ModsCount++;
}
}
}
if (baserom == "P28")
{
if (All_Lines[i].Contains("er3, (001c2h-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HIgnLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HIgnFound = true;
ModsCount++;
}
}
}
if (baserom == "P72")
{
if (All_Lines[i].Contains("label_0bac"))
{
string CurrentCmd = All_Lines[i - 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HIgnLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HIgnFound = true;
ModsCount++;
}
}
}
if (baserom == "P13")
{
HIgnLocation = int.Parse("659c", System.Globalization.NumberStyles.HexNumber);
HIgnFound = true;
ModsCount++;
}
}
}
//####################################
if (dataGridView1.Rows[2].Cells[0].Value.ToString() == "True")
{
if (!mBarScalarFound)
{
if (baserom == "P30")
{
if (All_Lines[i].Contains("r3, (001d2h-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i - 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
mBarScalarLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
mBarScalarFound = true;
ModsCount++;
}
}
}
if (baserom == "P28")
{
if (All_Lines[i].Contains("r3, (001bbh-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i - 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
mBarScalarLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
mBarScalarFound = true;
ModsCount++;
}
}
}
if (baserom == "P72")
{
if (All_Lines[i].Contains("r3, (001deh-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i - 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
mBarScalarLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
mBarScalarFound = true;
ModsCount++;
}
}
}
if (baserom == "P13")
{
mBarScalarLocation = int.Parse("6050", System.Globalization.NumberStyles.HexNumber);
mBarScalarFound = true;
ModsCount++;
}
}
if (!LRPMFound)
{
if (baserom == "P13")
{
LRPMLocation = int.Parse("6000", System.Globalization.NumberStyles.HexNumber);
LRPMFound = true;
ModsCount++;
}
else
{
if (All_Lines[i].Contains("off(00217h).0, C"))
{
string CurrentCmd = All_Lines[i + 1];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
LRPMLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
LRPMFound = true;
ModsCount++;
}
}
}
}
if (!HRPMFound)
{
if (baserom == "P30")
{
if (All_Lines[i].Contains("A, (001dah-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 3];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HRPMLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HRPMFound = true;
ModsCount++;
}
}
}
if (baserom == "P28")
{
if (All_Lines[i].Contains("A, (001c2h-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 3];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HRPMLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HRPMFound = true;
ModsCount++;
}
}
}
if (baserom == "P72")
{
if (All_Lines[i].Contains("A, (001eah-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 3];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
HRPMLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
HRPMFound = true;
ModsCount++;
}
}
}
if (baserom == "P13")
{
HRPMLocation = int.Parse("6028", System.Globalization.NumberStyles.HexNumber);
HRPMFound = true;
ModsCount++;
}
}
}
//####################################
if (baserom != "P13") {
if (dataGridView1.Rows[3].Cells[0].Value.ToString() == "True")
{
if (!InjFound)
{
if (baserom == "P30")
{
if (All_Lines[i].Contains("A, (00168h-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i + 5];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
InjLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
InjFound = true;
ModsCount++;
}
}
}
if (baserom == "P28")
{
if (All_Lines[i].Contains("A, (00144h-00180h)[USP]"))
{
string CurrentCmd = All_Lines[i - 2];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
InjLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
InjFound = true;
ModsCount++;
}
}
}
if (baserom == "P72")
{
if (All_Lines[i].Contains("A, off(00152h)"))
{
string CurrentCmd = All_Lines[i + 6];
if (CurrentCmd.Contains("#"))
{
CurrentCmd = CurrentCmd.Substring(CurrentCmd.IndexOf("#") + 5, 4);
InjLocation = int.Parse(CurrentCmd, System.Globalization.NumberStyles.HexNumber);
InjFound = true;
ModsCount++;
}
}
}
}
}
}
}
if (ModsCount == 0)
{
MessageBox.Show(Form.ActiveForm, "Can't find location for anything", "BMTune");
}
else
{
if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "True")
{
if (!LFuelFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nLOW - Fuel", "BMTune");
if (!HFuelFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nHIGH - Fuel", "BMTune");
}
if (dataGridView1.Rows[1].Cells[0].Value.ToString() == "True")
{
if (!LIgnFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nLOW - Ignition", "BMTune");
if (!HIgnFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nHIGH - Ignition", "BMTune");
}
if (dataGridView1.Rows[2].Cells[0].Value.ToString() == "True")
{
if (!mBarScalarFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nmBar Scalar", "BMTune");
if (!LRPMFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nLOW RPM", "BMTune");
if (!HRPMFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nHIGH RPM", "BMTune");
}
if (baserom != "P13")
{
if (dataGridView1.Rows[3].Cells[0].Value.ToString() == "True")
{
if (!InjFound) MessageBox.Show(Form.ActiveForm, "Can't find location for\nInjector Deadtime", "BMTune");
}
}
}
}
}
else
{
MessageBox.Show(Form.ActiveForm, "Can't reconize the baserom type", "BMTune");
}
}
public void Load_Bytes()
{
//Getting Bytes
Final_LFuel = new byte[504];
Final_HFuel = new byte[504];
Final_LIgn = new byte[480];
Final_HIgn = new byte[480];
Final_mBar = new byte[24];
Final_LRPM = new byte[20];
Final_HRPM = new byte[20];
Final_Inj = new byte[21];
if (ModsCount > 0)
{
//####################################
//Low - Fuel
if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "True")
{
CurrentIndex = 0;
CurrentDone = 0;
if (LFuelFound)
{
if (!Boosted)
{
int TableLenght = 21;
if (baserom == "P13") TableLenght = 20;
for (int i = 0; i < TableLenght; i++)
{
byte LastByte = 0;
//Add 10x of the current correct value
for (int i2 = 0; i2 < 10; i2++)
{
Final_LFuel[CurrentIndex] = File_Byte[LFuelLocation + CurrentDone];
if (i2 == 9) LastByte = File_Byte[LFuelLocation + CurrentDone];
CurrentIndex++;
CurrentDone++;
}
//Add 14x of the Last rows bytes
for (int i2 = 0; i2 < 14; i2++)
{
Final_LFuel[CurrentIndex] = LastByte;
CurrentIndex++;
}
}
//P13 doesn't have the low rows for fueling, lets add it manually
if (baserom == "P13")
{
Final_LFuel[CurrentIndex] = 0x01; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x03; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x04; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x06; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x0a; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x0e; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x11; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x12; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x13; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x14; CurrentIndex++;
/*Final_LFuel[CurrentIndex] = 0x01; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x03; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x04; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x05; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x06; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x07; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x08; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x09; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x09; CurrentIndex++;
Final_LFuel[CurrentIndex] = 0x0a; CurrentIndex++;
001h,003h,004h,006h,009h,00Ch,00Dh,00Fh ; 708D
010h,011h,00Bh,00Bh,00Bh,00Bh,00Bh,00Bh ; 7095
00Bh,00Bh,00Bh,00Bh,00Bh,00Bh ; 709D
*/
for (int i2 = 0; i2 < 14; i2++)
{
Final_LFuel[CurrentIndex] = 0x14;
//Final_LFuel[CurrentIndex] = 0x0a;
CurrentIndex++;
}
}
}
else
{
for (int i2 = 0; i2 < Final_LFuel.Length; i2++) Final_LFuel[i2] = File_Byte[LFuelLocation + i2];
}
}
//####################################
//High - Fuel
CurrentIndex = 0;
CurrentDone = 0;
if (HFuelFound)
{
if (!Boosted)
{
int TableLenght = 21;
if (baserom == "P13") TableLenght = 20;
for (int i = 0; i < TableLenght; i++)
{
byte LastByte = 0;
//Add 10x of the current correct value
for (int i2 = 0; i2 < 10; i2++)
{
Final_HFuel[CurrentIndex] = File_Byte[HFuelLocation + CurrentDone];
if (i2 == 9) LastByte = File_Byte[HFuelLocation + CurrentDone];
//P72 has 15x rows for High CAM instead of 20x
if (i >= 14 && baserom == "P72")
{
Final_HFuel[CurrentIndex] = File_Byte[HFuelLocation + 140 + i2];
if (i2 == 9) LastByte = File_Byte[HFuelLocation + 140 + i2];
if (i >= 20 && baserom == "P72")
{
Final_HFuel[CurrentIndex] = File_Byte[HFuelLocation + 150 + i2];
if (i2 == 9) LastByte = File_Byte[HFuelLocation + 150 + i2];
}
}
CurrentIndex++;
CurrentDone++;
}
//Add 14x of the Last rows bytes
for (int i2 = 0; i2 < 14; i2++)
{
Final_HFuel[CurrentIndex] = LastByte;
CurrentIndex++;
}
}
//P13 doesn't have the low rows for fueling, lets add it manually
if (baserom == "P13")
{
Final_HFuel[CurrentIndex] = 0x01; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x03; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x04; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x07; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x0d; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x11; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x14; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x15; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x16; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x17; CurrentIndex++;
/*Final_HFuel[CurrentIndex] = 0x01; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x03; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x04; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x05; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x06; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x07; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x08; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x09; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x09; CurrentIndex++;
Final_HFuel[CurrentIndex] = 0x0a; CurrentIndex++;*/
for (int i2 = 0; i2 < 14; i2++)
{
Final_HFuel[CurrentIndex] = 0x14;
//Final_HFuel[CurrentIndex] = 0x0a;
CurrentIndex++;
}
}
}
else
{
for (int i2 = 0; i2 < Final_HFuel.Length; i2++) Final_HFuel[i2] = File_Byte[HFuelLocation + i2];
}
}
}
//####################################
//Low - Ignition
if (dataGridView1.Rows[1].Cells[0].Value.ToString() == "True")
{
CurrentIndex = 0;
CurrentDone = 0;
if (LIgnFound)
{
if (!Boosted)
{
for (int i = 0; i < 20; i++)
{
byte LastByte = 0;
//Add 10x of the current correct value
for (int i2 = 0; i2 < 10; i2++)
{
Final_LIgn[CurrentIndex] = File_Byte[LIgnLocation + CurrentDone];
if (i2 == 9) LastByte = File_Byte[LIgnLocation + CurrentDone];
CurrentIndex++;
CurrentDone++;
}
//Add 14x of the Last rows bytes
for (int i2 = 0; i2 < 14; i2++)
{
Final_LIgn[CurrentIndex] = LastByte;
CurrentIndex++;
}
}
}
else
{
for (int i2 = 0; i2 < Final_LIgn.Length; i2++) Final_LIgn[i2] = File_Byte[LIgnLocation + i2];
}
}
//####################################
//High - Ignition
CurrentIndex = 0;
CurrentDone = 0;
if (HIgnFound)
{
if (!Boosted)
{
for (int i = 0; i < 20; i++)
{
byte LastByte = 0;
//Add 10x of the current correct value
for (int i2 = 0; i2 < 10; i2++)
{
Final_HIgn[CurrentIndex] = File_Byte[HIgnLocation + CurrentDone];
if (i2 == 9) LastByte = File_Byte[HIgnLocation + CurrentDone];
//P72 has 15x rows for High CAM instead of 20x
if (i >= 14 && baserom == "P72")
{
Final_HIgn[CurrentIndex] = File_Byte[HIgnLocation + 140 + i2];
if (i2 == 9) LastByte = File_Byte[HIgnLocation + 140 + i2];
}
CurrentIndex++;
CurrentDone++;
}
//Add 14x of the Last rows bytes
for (int i2 = 0; i2 < 14; i2++)
{
Final_HIgn[CurrentIndex] = LastByte;
CurrentIndex++;
}
}
}
else
{
for (int i2 = 0; i2 < Final_HIgn.Length; i2++) Final_HIgn[i2] = File_Byte[HIgnLocation + i2];
}
}
}
//####################################
//mBar Scalar
if (dataGridView1.Rows[2].Cells[0].Value.ToString() == "True")
{
CurrentIndex = 0;
CurrentDone = 0;
if (mBarScalarFound)
{
if (!Boosted)
{
byte LastByte = 0;
//Add 10x of the current correct value
for (int i2 = 0; i2 < 10; i2++)
{
//in BMTune mBar = Byte * 8
//in Crome mBar = Byte * 4 + 96
int ThisValue = File_Byte[mBarScalarLocation + CurrentDone];
if (i2 == 9 && ThisValue == 0) ThisValue = 255;
ThisValue = (ThisValue * 4) + 114 + 88;
byte ThisB = (byte)(ThisValue / 8);
//float Divider = ((float) this.class18_0.class10_0.int_6 + 70f) / 1790f;
//int ThisValue = File_Byte[mBarScalarLocation + CurrentDone];
//if (i2 == 9 && ThisValue == 0) ThisValue = 255;
//byte ThisB = (byte)(ThisValue * Divider);
// byte ThisB = (byte)(ThisValue * 3 + 114);
//set 1st rows to 127 mBar
//if (i2 == 0 && ThisValue == 0) ThisB = 0x1b;
Final_mBar[CurrentIndex] = ThisB;
if (i2 == 9) LastByte = ThisB;
CurrentIndex++;
CurrentDone++;
}
//Add 14x of the Last rows bytes
for (int i2 = 0; i2 < 14; i2++)
{
Final_mBar[CurrentIndex] = LastByte;
if (i2 == 13) Final_mBar[CurrentIndex] = 0;
CurrentIndex++;
}
}
else
{
for (int i2 = 0; i2 < Final_mBar.Length; i2++) Final_mBar[i2] = File_Byte[mBarScalarLocation + i2];
}
}
//####################################
//LOW RPM
if (LRPMFound)
{
CurrentIndex = 0;
for (int i2 = 0; i2 < 20; i2++)
{
if (baserom == "P13")
{
int ThisValue = File_Byte[LRPMLocation + CurrentIndex];
CurrentIndex++;
ThisValue = ThisValue + (File_Byte[LRPMLocation + CurrentIndex] * 0xff);
CurrentIndex++;
int ThisRPM = 1875000 / ThisValue;
int num = this.class18_0.method_216(ThisRPM);
if ((num == 0xff) && (i2 > 0)) num = 0;
Final_LRPM[i2] = (byte) num;
}
else
{
//float Divider = (9000f / 11050f);
float Divider = 1f;
int ThisValue = File_Byte[LRPMLocation + i2];
byte ThisB = (byte)(ThisValue * Divider);
Final_LRPM[i2] = ThisB;
}
}
}
//####################################
//HIGH RPM
if (HRPMFound)
{
for (int i2 = 0; i2 < 20; i2++)
{
if (baserom == "P13")
{
int ThisValue = File_Byte[LRPMLocation + CurrentIndex];
CurrentIndex++;
ThisValue = ThisValue + (File_Byte[LRPMLocation + CurrentIndex] * 0xff);
CurrentIndex++;
int ThisRPM = 1875000 / ThisValue;
int num = this.class18_0.method_216(ThisRPM);
if ((num == 0xff) && (i2 > 0)) num = 0;
Final_HRPM[i2] = (byte)num;
}
else
{
//float Divider = (9000f / 11050f);
float Divider = 0.82f;
int ThisValue = File_Byte[HRPMLocation + i2];
if (i2 == 19 && ThisValue == 0) ThisValue = 0xff;
//P72 has 15x rows for High CAM instead of 20x
if (i2 >= 14 && baserom == "P72")
{
ThisValue = File_Byte[HRPMLocation + 14];
if (i2 >= 14 && ThisValue == 0) ThisValue = 0xff;
}
Final_HRPM[i2] = (byte)(ThisValue * Divider);
}
}
}
}
//####################################
//Injector Deatime
if (baserom != "P13")
{
if (dataGridView1.Rows[3].Cells[0].Value.ToString() == "True")
{
if (InjFound)
{
for (int i2 = 0; i2 < 21; i2++) Final_Inj[i2] = File_Byte[InjLocation + i2];
}
}
}
}
}
public void Apply_Bytes()
{
if (ModsCount > 0)
{
if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "True")
{
if (LFuelFound) for (int i = 0; i < Final_LFuel.Length; i++) File_Byte_BMTune[0x6ead + i] = Final_LFuel[i];
if (HFuelFound) for (int i = 0; i < Final_HFuel.Length; i++) File_Byte_BMTune[0x70a5 + i] = Final_HFuel[i];
}
if (dataGridView1.Rows[1].Cells[0].Value.ToString() == "True")
{
if (LIgnFound) for (int i = 0; i < Final_LIgn.Length; i++) File_Byte_BMTune[0x729d + i] = Final_LIgn[i];
if (HIgnFound) for (int i = 0; i < Final_HIgn.Length; i++) File_Byte_BMTune[0x747d + i] = Final_HIgn[i];
}
if (dataGridView1.Rows[2].Cells[0].Value.ToString() == "True")
{
if (mBarScalarFound) for (int i = 0; i < Final_mBar.Length; i++) File_Byte_BMTune[0x6e59 + i] = Final_mBar[i];
if (LRPMFound) for (int i = 0; i < Final_LRPM.Length; i++) File_Byte_BMTune[0x6e71 + i] = Final_LRPM[i];
if (HRPMFound) for (int i = 0; i < Final_HRPM.Length; i++) File_Byte_BMTune[0x6e85 + i] = Final_HRPM[i];
}
if (baserom != "P13")
{
if (dataGridView1.Rows[3].Cells[0].Value.ToString() == "True")
{
if (InjFound) for (int i = 0; i < Final_Inj.Length; i++) File_Byte_BMTune[0x6442 + i] = Final_Inj[i];
}
}
File_Byte_BMTune[0x61FB] = (byte)ColumnNumber;
}
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.icontainer_0 != null))
{
this.icontainer_0.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmConvert));
this.labelProductName = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.label_Baserom = new System.Windows.Forms.Label();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.Column1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label5 = new System.Windows.Forms.Label();
this.textBox_FileName = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// labelProductName
//
this.labelProductName.AutoSize = true;
this.labelProductName.Font = new System.Drawing.Font("Lucida Sans", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelProductName.Location = new System.Drawing.Point(119, 10);
this.labelProductName.Margin = new System.Windows.Forms.Padding(7, 0, 3, 0);
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 18);
this.labelProductName.Name = "labelProductName";
this.labelProductName.Size = new System.Drawing.Size(165, 18);
this.labelProductName.TabIndex = 19;
this.labelProductName.Text = "Baserom Converter";
this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.AutoSize = true;
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.okButton.Location = new System.Drawing.Point(306, 445);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(87, 25);
this.okButton.TabIndex = 24;
this.okButton.Text = "&OK";
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Lucida Sans", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(13, 62);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(98, 15);
this.label1.TabIndex = 25;
this.label1.Text = "Baserom Type :";
//
// label_Baserom
//
this.label_Baserom.AutoSize = true;
this.label_Baserom.Font = new System.Drawing.Font("Lucida Sans", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label_Baserom.Location = new System.Drawing.Point(125, 62);
this.label_Baserom.Name = "label_Baserom";
this.label_Baserom.Size = new System.Drawing.Size(77, 15);
this.label_Baserom.TabIndex = 27;
this.label_Baserom.Text = "Crome Gold";
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.AllowUserToResizeRows = false;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2});
this.dataGridView1.Location = new System.Drawing.Point(13, 145);
this.dataGridView1.MultiSelect = false;
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.Size = new System.Drawing.Size(380, 244);
this.dataGridView1.TabIndex = 29;
//
// Column1
//
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.NullValue = "True";
this.Column1.DefaultCellStyle = dataGridViewCellStyle1;
this.Column1.HeaderText = "";
this.Column1.Name = "Column1";
this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.Column1.Width = 25;
//
// Column2
//
this.Column2.HeaderText = "Parameters";
this.Column2.Name = "Column2";
this.Column2.Width = 352;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Lucida Sans", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.Location = new System.Drawing.Point(13, 88);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(104, 15);
this.label5.TabIndex = 30;
this.label5.Text = "New File Name :";
//
// textBox_FileName
//
this.textBox_FileName.Location = new System.Drawing.Point(122, 86);
this.textBox_FileName.Name = "textBox_FileName";
this.textBox_FileName.Size = new System.Drawing.Size(265, 20);
this.textBox_FileName.TabIndex = 31;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(74, 35);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(247, 14);
this.label6.TabIndex = 32;
this.label6.Text = "Convert others types of Baserom to BMTune";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Lucida Sans", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.Red;
this.label2.Location = new System.Drawing.Point(47, 119);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(304, 15);
this.label2.TabIndex = 33;
this.label2.Text = "** Select which Parameters you want to convert **";
//
// button1
//
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.button1.AutoSize = true;
this.button1.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.button1.Location = new System.Drawing.Point(13, 445);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(87, 25);
this.button1.TabIndex = 34;
this.button1.Text = "Cancel";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Lucida Sans", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.ForeColor = System.Drawing.Color.Red;
this.label3.Location = new System.Drawing.Point(59, 395);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(288, 45);
this.label3.TabIndex = 35;
this.label3.Text = "** NOT ALL PARAMETERS WILL BE CONVERTED **\r\n\r\nUSE AT YOUR OWN RISK";
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// frmConvert
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(400, 483);
this.Controls.Add(this.label3);
this.Controls.Add(this.button1);
this.Controls.Add(this.label2);
this.Controls.Add(this.label6);
this.Controls.Add(this.textBox_FileName);
this.Controls.Add(this.label5);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.label_Baserom);
this.Controls.Add(this.label1);
this.Controls.Add(this.labelProductName);
this.Controls.Add(this.okButton);
this.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmConvert";
this.Padding = new System.Windows.Forms.Padding(10);
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Baserom Converter";
this.Load += new System.EventHandler(this.frmAboutBox_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private void frmAboutBox_Load(object sender, EventArgs e)
{
}
private void okButton_Click(object sender, EventArgs e)
{
if (Baserom != "eCtune") MessageBox.Show(Form.ActiveForm, "NOT all parameters going to be converted\nCheck again all parameters after the convertion!", "BMTune", MessageBoxButtons.OK, MessageBoxIcon.Hand);
Convert();
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
}