583 lines
23 KiB
C#
583 lines
23 KiB
C#
using Data;
|
|
using System;
|
|
using System.ComponentModel;
|
|
using System.Diagnostics;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Net;
|
|
using System.Reflection;
|
|
using System.Collections.Generic;
|
|
using System.Windows.Forms;
|
|
|
|
internal class frmUploadBaserom : Form
|
|
{
|
|
private Label label1;
|
|
public ProgressBar progressBar1;
|
|
private IContainer icontainer_0;
|
|
private Label label2;
|
|
private TextBox textBox1;
|
|
private TextBox textBox2;
|
|
private Label label3;
|
|
private TextBox textBox3;
|
|
private Label label4;
|
|
private Label label6;
|
|
private Panel panel1;
|
|
private Panel panel3;
|
|
private Button button1;
|
|
private TextBox textBox6;
|
|
private Label label5;
|
|
private ComboBox comboBox2;
|
|
private OpenFileDialog openFileDialog1;
|
|
private Class18 class18_0;
|
|
private string ErrorString = "";
|
|
private byte[] FileBytes = new byte[] { };
|
|
private string FilePath = "";
|
|
private string NewPath = "";
|
|
private string string_11_2 = "https://raw.githubusercontent.com/bouletmarc/BMTune_Server/master/";
|
|
private string IPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\BMTune\";
|
|
private Label label7;
|
|
private string FTPSite = "ftp://files.000webhost.com/All/bins/";
|
|
|
|
public frmUploadBaserom(ref Class18 class18_1)
|
|
{
|
|
this.InitializeComponent();
|
|
|
|
class18_0 = class18_1;
|
|
button1.Enabled = false;
|
|
this.comboBox2.SelectedIndex = 0;
|
|
|
|
if (!Directory.Exists(IPath)) Directory.CreateDirectory(IPath);
|
|
|
|
textBox6.Text = "";
|
|
label1.Text = "Select a File";
|
|
|
|
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);
|
|
}
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing && (this.icontainer_0 != null))
|
|
{
|
|
this.icontainer_0.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmUploadBaserom));
|
|
this.label1 = new System.Windows.Forms.Label();
|
|
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
|
this.label2 = new System.Windows.Forms.Label();
|
|
this.textBox1 = new System.Windows.Forms.TextBox();
|
|
this.textBox2 = new System.Windows.Forms.TextBox();
|
|
this.label3 = new System.Windows.Forms.Label();
|
|
this.textBox3 = new System.Windows.Forms.TextBox();
|
|
this.label4 = new System.Windows.Forms.Label();
|
|
this.label6 = new System.Windows.Forms.Label();
|
|
this.panel1 = new System.Windows.Forms.Panel();
|
|
this.textBox6 = new System.Windows.Forms.TextBox();
|
|
this.comboBox2 = new System.Windows.Forms.ComboBox();
|
|
this.label5 = new System.Windows.Forms.Label();
|
|
this.panel3 = new System.Windows.Forms.Panel();
|
|
this.button1 = new System.Windows.Forms.Button();
|
|
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
|
this.label7 = new System.Windows.Forms.Label();
|
|
this.panel1.SuspendLayout();
|
|
this.panel3.SuspendLayout();
|
|
this.SuspendLayout();
|
|
//
|
|
// label1
|
|
//
|
|
this.label1.Dock = System.Windows.Forms.DockStyle.Top;
|
|
this.label1.Font = new System.Drawing.Font("Lucida Sans", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
this.label1.Location = new System.Drawing.Point(10, 10);
|
|
this.label1.Name = "label1";
|
|
this.label1.Size = new System.Drawing.Size(417, 22);
|
|
this.label1.TabIndex = 28;
|
|
this.label1.Text = "UPDATING !";
|
|
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
|
//
|
|
// progressBar1
|
|
//
|
|
this.progressBar1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
|
this.progressBar1.Location = new System.Drawing.Point(10, 221);
|
|
this.progressBar1.Name = "progressBar1";
|
|
this.progressBar1.Size = new System.Drawing.Size(417, 11);
|
|
this.progressBar1.TabIndex = 29;
|
|
//
|
|
// label2
|
|
//
|
|
this.label2.AutoSize = true;
|
|
this.label2.Location = new System.Drawing.Point(6, 10);
|
|
this.label2.Name = "label2";
|
|
this.label2.Size = new System.Drawing.Size(58, 14);
|
|
this.label2.TabIndex = 31;
|
|
this.label2.Text = "Filename:";
|
|
//
|
|
// textBox1
|
|
//
|
|
this.textBox1.Location = new System.Drawing.Point(113, 7);
|
|
this.textBox1.Name = "textBox1";
|
|
this.textBox1.Size = new System.Drawing.Size(292, 20);
|
|
this.textBox1.TabIndex = 32;
|
|
this.textBox1.Text = "DOUBLE CLIC TO SELECT YOUR FILE";
|
|
this.textBox1.DoubleClick += new System.EventHandler(this.textBox1_DoubleClick);
|
|
//
|
|
// textBox2
|
|
//
|
|
this.textBox2.Enabled = false;
|
|
this.textBox2.Location = new System.Drawing.Point(113, 29);
|
|
this.textBox2.Name = "textBox2";
|
|
this.textBox2.Size = new System.Drawing.Size(292, 20);
|
|
this.textBox2.TabIndex = 34;
|
|
//
|
|
// label3
|
|
//
|
|
this.label3.AutoSize = true;
|
|
this.label3.Location = new System.Drawing.Point(6, 32);
|
|
this.label3.Name = "label3";
|
|
this.label3.Size = new System.Drawing.Size(73, 14);
|
|
this.label3.TabIndex = 33;
|
|
this.label3.Text = "Description:";
|
|
//
|
|
// textBox3
|
|
//
|
|
this.textBox3.Enabled = false;
|
|
this.textBox3.Location = new System.Drawing.Point(113, 51);
|
|
this.textBox3.Name = "textBox3";
|
|
this.textBox3.Size = new System.Drawing.Size(164, 20);
|
|
this.textBox3.TabIndex = 36;
|
|
//
|
|
// label4
|
|
//
|
|
this.label4.AutoSize = true;
|
|
this.label4.Location = new System.Drawing.Point(6, 54);
|
|
this.label4.Name = "label4";
|
|
this.label4.Size = new System.Drawing.Size(46, 14);
|
|
this.label4.TabIndex = 35;
|
|
this.label4.Text = "Owner:";
|
|
//
|
|
// label6
|
|
//
|
|
this.label6.AutoSize = true;
|
|
this.label6.Location = new System.Drawing.Point(6, 76);
|
|
this.label6.Name = "label6";
|
|
this.label6.Size = new System.Drawing.Size(78, 14);
|
|
this.label6.TabIndex = 38;
|
|
this.label6.Text = "Engine Serie:";
|
|
//
|
|
// panel1
|
|
//
|
|
this.panel1.Controls.Add(this.textBox6);
|
|
this.panel1.Controls.Add(this.comboBox2);
|
|
this.panel1.Controls.Add(this.label5);
|
|
this.panel1.Controls.Add(this.label2);
|
|
this.panel1.Controls.Add(this.textBox1);
|
|
this.panel1.Controls.Add(this.label6);
|
|
this.panel1.Controls.Add(this.label3);
|
|
this.panel1.Controls.Add(this.textBox2);
|
|
this.panel1.Controls.Add(this.textBox3);
|
|
this.panel1.Controls.Add(this.label4);
|
|
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
|
this.panel1.Location = new System.Drawing.Point(10, 32);
|
|
this.panel1.Name = "panel1";
|
|
this.panel1.Size = new System.Drawing.Size(417, 122);
|
|
this.panel1.TabIndex = 40;
|
|
//
|
|
// textBox6
|
|
//
|
|
this.textBox6.Location = new System.Drawing.Point(113, 97);
|
|
this.textBox6.Name = "textBox6";
|
|
this.textBox6.ReadOnly = true;
|
|
this.textBox6.Size = new System.Drawing.Size(41, 20);
|
|
this.textBox6.TabIndex = 41;
|
|
this.textBox6.Text = "1.00";
|
|
//
|
|
// comboBox2
|
|
//
|
|
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
|
this.comboBox2.Enabled = false;
|
|
this.comboBox2.FormattingEnabled = true;
|
|
this.comboBox2.Items.AddRange(new object[] {
|
|
"Customs",
|
|
"Serie B",
|
|
"Serie D",
|
|
"Serie F",
|
|
"Serie H"});
|
|
this.comboBox2.Location = new System.Drawing.Point(113, 73);
|
|
this.comboBox2.Name = "comboBox2";
|
|
this.comboBox2.Size = new System.Drawing.Size(164, 22);
|
|
this.comboBox2.TabIndex = 38;
|
|
this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged);
|
|
//
|
|
// label5
|
|
//
|
|
this.label5.AutoSize = true;
|
|
this.label5.Location = new System.Drawing.Point(6, 100);
|
|
this.label5.Name = "label5";
|
|
this.label5.Size = new System.Drawing.Size(100, 14);
|
|
this.label5.TabIndex = 40;
|
|
this.label5.Text = "Baserom Version:";
|
|
//
|
|
// panel3
|
|
//
|
|
this.panel3.Controls.Add(this.label7);
|
|
this.panel3.Controls.Add(this.button1);
|
|
this.panel3.Dock = System.Windows.Forms.DockStyle.Bottom;
|
|
this.panel3.Location = new System.Drawing.Point(10, 160);
|
|
this.panel3.Name = "panel3";
|
|
this.panel3.Size = new System.Drawing.Size(417, 61);
|
|
this.panel3.TabIndex = 42;
|
|
//
|
|
// button1
|
|
//
|
|
this.button1.Enabled = false;
|
|
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
|
this.button1.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
this.button1.ForeColor = System.Drawing.Color.Blue;
|
|
this.button1.Location = new System.Drawing.Point(150, 6);
|
|
this.button1.Name = "button1";
|
|
this.button1.Size = new System.Drawing.Size(127, 28);
|
|
this.button1.TabIndex = 0;
|
|
this.button1.Text = "Upload File";
|
|
this.button1.UseVisualStyleBackColor = true;
|
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
|
//
|
|
// openFileDialog1
|
|
//
|
|
this.openFileDialog1.DefaultExt = "*.bin";
|
|
this.openFileDialog1.Filter = "BMTune Binary|*.bin";
|
|
this.openFileDialog1.Title = "Open BMtune baserom (.bin)";
|
|
//
|
|
// label7
|
|
//
|
|
this.label7.AutoSize = true;
|
|
this.label7.Font = new System.Drawing.Font("Lucida Sans", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
this.label7.ForeColor = System.Drawing.Color.Red;
|
|
this.label7.Location = new System.Drawing.Point(11, 44);
|
|
this.label7.Name = "label7";
|
|
this.label7.Size = new System.Drawing.Size(394, 12);
|
|
this.label7.TabIndex = 1;
|
|
this.label7.Text = "** NO MORE AVAILABLE, FTP CONNECTION DISABLED SINCE V1.95 **";
|
|
//
|
|
// frmUploadBaserom
|
|
//
|
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
|
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
this.ClientSize = new System.Drawing.Size(437, 242);
|
|
this.Controls.Add(this.panel3);
|
|
this.Controls.Add(this.panel1);
|
|
this.Controls.Add(this.progressBar1);
|
|
this.Controls.Add(this.label1);
|
|
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.FixedSingle;
|
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
|
this.MaximizeBox = false;
|
|
this.MinimizeBox = false;
|
|
this.Name = "frmUploadBaserom";
|
|
this.Padding = new System.Windows.Forms.Padding(10);
|
|
this.ShowInTaskbar = false;
|
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
|
this.Text = "Baserom Uploader";
|
|
this.Load += new System.EventHandler(this.frmAboutBox_Load);
|
|
this.panel1.ResumeLayout(false);
|
|
this.panel1.PerformLayout();
|
|
this.panel3.ResumeLayout(false);
|
|
this.panel3.PerformLayout();
|
|
this.ResumeLayout(false);
|
|
|
|
}
|
|
|
|
|
|
private void frmAboutBox_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
/*this.progressBar1.Value = 5;
|
|
label1.Text = "Checking Errors";
|
|
string ThisError = "";
|
|
if (!textBox1.Text.Contains(".bin")) textBox1.Text += ".bin";
|
|
if (textBox1.Text == "") ThisError = "Empty Filename";
|
|
if (textBox1.Text.Length < 8) ThisError = "Filename too short";
|
|
if (textBox1.Text.Length > 40) ThisError = "Filename too long";
|
|
if (textBox1.Text.Contains("|")) ThisError = "Filename cannot contain char '|'";
|
|
|
|
if (textBox2.Text == "") ThisError = "Empty Description";
|
|
if (textBox2.Text.Length < 10) ThisError = "Description too short";
|
|
if (textBox2.Text.Length > 60) ThisError = "Description too long";
|
|
if (textBox2.Text.Contains("|")) ThisError = "Description cannot contain char '|'";
|
|
|
|
if (textBox3.Text == "") textBox3.Text = "ANONYMOUS";
|
|
if (textBox3.Text.Length < 5) ThisError = "Owner name too short";
|
|
if (textBox3.Text.Length > 20) ThisError = "Owner name too long";
|
|
if (textBox3.Text.Contains("|")) ThisError = "Owner cannot contain char '|'";
|
|
|
|
if (textBox1.Text.Length > 4 && textBox1.Text.Substring(textBox1.Text.Length - 4) != ".bin") textBox1.Text = textBox1.Text + ".bin";
|
|
|
|
this.progressBar1.Value = 10;
|
|
|
|
if (IsFileExistant()) ThisError = "File already exist online";
|
|
else if (label1.Text == "Not Connected") ThisError = "Not Connected to internet";
|
|
|
|
this.progressBar1.Value = 15;
|
|
|
|
if (ThisError != "")
|
|
{
|
|
MessageBox.Show(Form.ActiveForm, ThisError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
|
label1.Text = "Error Found";
|
|
}
|
|
else
|
|
{
|
|
label1.Text = "Uploading";
|
|
this.progressBar1.Value = 25;
|
|
|
|
string FTPList = "";
|
|
|
|
try
|
|
{
|
|
WebClient client = new WebClient();
|
|
client.Credentials = new NetworkCredential("bmtune", "BNIKs7wx@EuPu$yqwXBa");
|
|
client.DownloadFile(FTPSite + "FTPList.txt", IPath + "FTPList.txt");
|
|
|
|
StreamReader reader = new StreamReader(IPath + "FTPList.txt");
|
|
FTPList = reader.ReadToEnd();
|
|
reader.Close();
|
|
reader.Dispose();
|
|
reader = null;
|
|
|
|
FileInfo info = new FileInfo(IPath + "FTPList.txt");
|
|
if (info.Exists) info.Delete();
|
|
info = null;
|
|
}
|
|
catch { }
|
|
|
|
this.progressBar1.Value = 50;
|
|
|
|
//Create .bin copy
|
|
NewPath = IPath + textBox1.Text;
|
|
File.Create(NewPath).Dispose();
|
|
File.WriteAllBytes(NewPath, File.ReadAllBytes(FilePath));
|
|
|
|
//Create description .txt infos
|
|
FTPList += textBox1.Text + "|" + textBox2.Text + "|" + textBox3.Text + "|" + comboBox2.Text + "|" + textBox6.Text + Environment.NewLine;
|
|
|
|
string DescPath = IPath + "FTPList.txt";
|
|
StreamWriter writer = new StreamWriter(DescPath, false);
|
|
writer.Write(FTPList);
|
|
writer.Close();
|
|
writer.Dispose();
|
|
writer = null;
|
|
|
|
//send files
|
|
SendFTP(NewPath);
|
|
this.progressBar1.Value = 75;
|
|
SendFTP(DescPath);
|
|
|
|
FileInfo info2 = new FileInfo(NewPath);
|
|
if (info2.Exists) info2.Delete();
|
|
info2 = null;
|
|
|
|
info2 = new FileInfo(DescPath);
|
|
if (info2.Exists) info2.Delete();
|
|
info2 = null;
|
|
|
|
if ( label1.Text == "Uploaded") MessageBox.Show(Form.ActiveForm, "File correctly sent!\nAllow some time to the server to upload it", "BMtune", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
this.progressBar1.Value = 0;*/
|
|
}
|
|
|
|
/*bool IsFileExistant()
|
|
{
|
|
bool ExistOnline = false;
|
|
|
|
try
|
|
{
|
|
label1.Text = "Checking Existence";
|
|
|
|
string TPath = IPath + "FilesList.txt";
|
|
|
|
WebClient webClient = new WebClient();
|
|
webClient.DownloadProgressChanged += delegate (object sender, DownloadProgressChangedEventArgs e) { this.progressBar1.Value = e.ProgressPercentage; };
|
|
webClient.DownloadFileAsync(new Uri(string_11_2 + "FilesList.txt"), TPath);
|
|
while (webClient.IsBusy) { Application.DoEvents(); }
|
|
|
|
this.progressBar1.Value = 0;
|
|
label1.Text = "";
|
|
|
|
string[] AllText = File.ReadAllLines(IPath + "FilesList.txt");
|
|
if (AllText.Length > 0)
|
|
{
|
|
for (int i = 0; i < AllText.Length; i++)
|
|
{
|
|
if (AllText[i].Contains("|"))
|
|
{
|
|
string[] SplitCMD = AllText[i].Split('|');
|
|
if (SplitCMD[0] == textBox1.Text) ExistOnline = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
label1.Text = "Not Connected";
|
|
}
|
|
|
|
return ExistOnline;
|
|
}
|
|
|
|
void SendFTP(string FilepathT)
|
|
{
|
|
try
|
|
{
|
|
WebClient client = new WebClient();
|
|
client.Credentials = new NetworkCredential("bmtune", "BNIKs7wx@EuPu$yqwXBa");
|
|
client.UploadFile(FTPSite + Path.GetFileName(FilepathT), FilepathT);
|
|
|
|
label1.Text = "Uploaded";
|
|
}
|
|
catch
|
|
{
|
|
label1.Text = "Can't Upload";
|
|
}
|
|
}*/
|
|
|
|
private void CheckCompatibility(string ThisFilePath)
|
|
{
|
|
try
|
|
{
|
|
FileBytes = File.ReadAllBytes(ThisFilePath);
|
|
if (CanUploadFile())
|
|
{
|
|
label1.Text = "File Compatible";
|
|
FilePath = ThisFilePath;
|
|
textBox1.Text = Path.GetFileName(ThisFilePath);
|
|
textBox2.Enabled = true;
|
|
textBox3.Enabled = true;
|
|
comboBox2.Enabled = true;
|
|
//button1.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
label1.Text = "File Not Compatible";
|
|
textBox1.Text = "DOUBLE CLIC TO SELECT YOUR FILE";
|
|
textBox2.Enabled = false;
|
|
textBox3.Enabled = false;
|
|
comboBox2.Enabled = false;
|
|
button1.Enabled = false;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
label1.Text = "File Not Compatible";
|
|
textBox1.Text = "DOUBLE CLIC TO SELECT YOUR FILE";
|
|
textBox2.Enabled = false;
|
|
textBox3.Enabled = false;
|
|
comboBox2.Enabled = false;
|
|
button1.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void textBox1_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
DialogResult result = openFileDialog1.ShowDialog();
|
|
if (result == DialogResult.OK)
|
|
{
|
|
this.progressBar1.Value = 5;
|
|
CheckCompatibility(openFileDialog1.FileName);
|
|
this.progressBar1.Value = 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public bool CanUploadFile()
|
|
{
|
|
label1.Text = "Getting Compatibility";
|
|
bool CanUpload = false;
|
|
ErrorString = "";
|
|
|
|
if (FileBytes.Length < 32768)
|
|
{
|
|
ErrorString = "Incomplete baserom";
|
|
}
|
|
else {
|
|
if ((FileBytes[0x7ffaL] == 0x42) && (FileBytes[0x7ffbL] == 0x4d) && (FileBytes[0x7ffcL] == 0x54) && (FileBytes[0x7ffdL] == 0x75) && (FileBytes[0x7ffeL] == 0x6e) && (FileBytes[0x7fffL] == 0x65))
|
|
{
|
|
if (FileBytes[0x7ff1L] != 0xff)
|
|
{
|
|
string VStr = ((int)(FileBytes[0x7fefL])).ToString() + ((int)(FileBytes[0x7ff0L])).ToString() + ((int)(FileBytes[0x7ff1L])).ToString();
|
|
int RomVersion = int.Parse(VStr);
|
|
|
|
//unstable baserom
|
|
//this.class18_0.LoadBinaryFiles();
|
|
if (!this.class18_0.Binary_Files_0.IsStable(RomVersion - 100)) ErrorString = "Unstable baserom";
|
|
//this.class18_0.CloseBinaryFiles();
|
|
|
|
//Get Protection
|
|
bool Protected = false;
|
|
for (int i = 0; i < 32; i++) if (FileBytes[0x5ea6L + i] != 0xff) Protected = true;
|
|
if (Protected) ErrorString = "Protected baserom";
|
|
else
|
|
{
|
|
if (ErrorString == "")
|
|
{
|
|
textBox6.Text = "1.";
|
|
if (RomVersion - 100 < 10) textBox6.Text += "0";
|
|
textBox6.Text += (RomVersion - 100).ToString();
|
|
|
|
ErrorString = "Correct";
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ErrorString = "Free baserom";
|
|
}
|
|
}
|
|
}
|
|
|
|
//Is Loaded ?
|
|
if (ErrorString != "Correct")
|
|
{
|
|
string ThisError = ErrorString;
|
|
if (ErrorString == "") ThisError = GetFileType();
|
|
MessageBox.Show(Form.ActiveForm, ThisError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
|
}
|
|
else
|
|
{
|
|
CanUpload = true;
|
|
}
|
|
|
|
return CanUpload;
|
|
}
|
|
|
|
private string GetFileType()
|
|
{
|
|
//0x0210 = 528 ... eCtune=196, P30=71, Gold=137, P72=228, Neptune=16, P28=212
|
|
//Get Other Softwares
|
|
string Error_Str = "";
|
|
if (FileBytes[528] == 0x2e && FileBytes[529] == 0xf9 && FileBytes[530] == 0x7d) Error_Str = "Crome P30 baserom";
|
|
else if (FileBytes[528] == 228 && FileBytes[529] == 0xf8 && FileBytes[530] == 0xa2) Error_Str = "Crome P72 baserom";
|
|
else if (FileBytes[528] == 212 && FileBytes[529] == 0x1a && FileBytes[530] == 0x02) Error_Str = "Crome P28 baserom";
|
|
else if (FileBytes[528] == 137 && FileBytes[529] == 0xc6 && FileBytes[530] == 0xab) Error_Str = "Crome Gold baserom";
|
|
else if (FileBytes[528] == 19) Error_Str = "Hondata S200 baserom";
|
|
else if (FileBytes[528] == 16 && FileBytes[529] == 0x8a && FileBytes[530] == 0xc4) Error_Str = "Neptune baserom";
|
|
if (FileBytes[0x7fef] == 0x65 && FileBytes[0x7ff0] == 43 && FileBytes[0x7ff1] == 0x74 && FileBytes[0x7ff2] == 0xA9) Error_Str = "eCtune baserom";
|
|
if (Error_Str == "") Error_Str = "Can't load the file!";
|
|
return Error_Str;
|
|
}
|
|
}
|
|
|