From 5bba671855160ccc9effd24b6c2b25a891661570 Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Thu, 16 Apr 2009 13:01:11 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=B3=E3=82=AC=E3=83=BC?= =?UTF-8?q?=E3=83=97=E3=83=AA=E3=83=B3=E3=83=88=E3=83=97=E3=83=AD=E3=82=B0?= =?UTF-8?q?=E3=83=A9=E3=83=A0:=E3=81=99=E3=81=A7=E3=81=AB=E3=83=95?= =?UTF-8?q?=E3=82=A3=E3=83=B3=E3=82=AC=E3=83=BC=E3=83=97=E3=83=AA=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E3=81=8D=E3=81=AF=E5=88=A5=E3=82=A6=E3=82=A4=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=82=A6=E3=81=A7=E6=B3=A8=E6=84=8F=E6=9B=B8=E3=81=8D=E3=82=92?= =?UTF-8?q?=E5=87=BA=E3=81=99=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= =?UTF-8?q?=E3=80=82Copyright=E3=81=AE=E3=82=A6=E3=82=A4=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=82=A6=E3=82=82=E8=BF=BD=E5=8A=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@260 7061adef-622a-194b-ae81-725974e89856 --- .../FingerPrinterTWL/FingerPrinterTWL.ncb | Bin 10546176 -> 10546176 bytes .../FingerPrinterTWL/FingerPrinterTWL.suo | Bin 30720 -> 33280 bytes .../FingerPrinterTWL/FingerPrinterTWL.vcproj | 28 ++++++ .../FingerPrinterTWL/Form1.cpp | 22 +++++ .../FingerPrinterTWL/FingerPrinterTWL/Form1.h | 88 ++++++++++-------- .../FingerPrinterTWL/fingerprint_util.h | 5 +- .../FingerPrinterTWL/fingerprinter_util.cpp | 34 ++++++- 7 files changed, 135 insertions(+), 42 deletions(-) diff --git a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL.ncb b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL.ncb index 10c54bd0a769732aebca828404388947057f71ae..3345b57bcf579c613770c2c4d2cd71c5884e1d72 100644 GIT binary patch delta 19842 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 WE%B~<>|kSqOS+2-rD${(c2o3 delta 1477 zcmchWZERCj7{~9qZ*A9RbZd1J_HsKr29Zfe+tC2qDg(ESO6VMA(Z+Q%F-piN*um&v zyGxd+35m4N2YeYXIu&$)bH@)v6Rgn~W;84&zQpjwZ+<`^aVDF|R{yta8^b3*d6VBg z|L6al^W5j$bFV%j>i5~qq^PW9v)PqY*uio)FU^Uy^tFFSDt0?9A1aOek93URm}8P4 z2zoOmaa-BLIn^a>blL946zBN}s8f{Z+!v;!N_bD>~lFs|>XedYI7?q(U{0OERJd%#DCJuH_USGPd?X{TiQD4XF+ z4RU_9(G-pRx|~9xgcQMnsb$ z{k^tJaY0Ij1W&B%Vif7Eq39#-*=n6hr6`wes$do~=83>U;el$>Yc|k&xiYOK)NL@G zHcDzq)<%D6V=PERuBVw;sJZ3|OwiGmarNFRp|H7y2kTxHnOc~_7u=^MVlVwf_XBmj zv)?VzLhqII^WAi#ql8bqaFWr*zEL`SOyv_vH{+R8r$tL#h@&9Rj@rDBvMOS=V`*Qk z-#GZUka!zRf^*k81t@Tyaql7GloZB`Wlqa zbLtP@V|3H6QNZuP7)Zrpl-Z<{-khOeV~u<-_Sz*HXgog~$cX93e;Dh;qVfETcpYP2 z3TGfR1?tVEiq@@5YH9h-{=f*}=a!z#PIOb-L6v?Std({R zspOKKeCp_G{>ZV2t!azbCkPH9q6|ya7jfkZSPv_Vvnc+`EZO6M;=;aoqgV{4j#i5* kO5$th-z3%-6XGJ{Vcq)w^x49S{rsoqxO9A3B#&(W2U6Xq<^TWy diff --git a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/FingerPrinterTWL.vcproj b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/FingerPrinterTWL.vcproj index d2e39b0..fce5c15 100644 --- a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/FingerPrinterTWL.vcproj +++ b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/FingerPrinterTWL.vcproj @@ -215,6 +215,14 @@ RelativePath=".\Form1.cpp" > + + + + @@ -267,6 +275,26 @@ > + + + + + + + + diff --git a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.cpp b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.cpp index 29cb6a1..45bb3c9 100644 --- a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.cpp +++ b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.cpp @@ -1,6 +1,8 @@ #include "stdafx.h" #include "Form1.h" +#include "FormCheck.h" +#include "FormAbout.h" #include #include #include @@ -103,6 +105,14 @@ void Form1::commonOpenRom( System::String ^srcpath ) } memset( this->rh, 0, sizeof(ROM_Header) ); ExtractRomHeader( this->srlbin, this->rh ); + + // すでにフィンガープリントされている場合には注意書きを表示 + if( this->isFingerprint() ) + { + FormCheck ^form = gcnew FormCheck; + form->displayFingerprint( this->rh->s.reserved_C ); + form->Show(); + } } void Form1::commonSaveRom( System::String ^dstpath ) @@ -211,6 +221,18 @@ void Form1::procSaveRomButton() } } +void Form1::procAboutButton() +{ + try + { + FormAbout ^form = gcnew FormAbout; + form->Show(); + } + catch( System::Exception ^ex ) + { + this->errMsg( ex->Message ); + } +} // ------------------------------------------------------------------ // エラーメッセージ diff --git a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.h b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.h index c3b1b2a..93e4503 100644 --- a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.h +++ b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/Form1.h @@ -94,6 +94,9 @@ namespace FingerPrinterTWL { this->labFile = (gcnew System::Windows::Forms::Label()); this->butFile = (gcnew System::Windows::Forms::Button()); this->gboxFP = (gcnew System::Windows::Forms::GroupBox()); + this->gboxFormat = (gcnew System::Windows::Forms::GroupBox()); + this->rTad = (gcnew System::Windows::Forms::RadioButton()); + this->rSrl = (gcnew System::Windows::Forms::RadioButton()); this->labFP = (gcnew System::Windows::Forms::Label()); this->labShorter = (gcnew System::Windows::Forms::Label()); this->butFP = (gcnew System::Windows::Forms::Button()); @@ -104,12 +107,9 @@ namespace FingerPrinterTWL { this->rString = (gcnew System::Windows::Forms::RadioButton()); this->button1 = (gcnew System::Windows::Forms::Button()); this->label1 = (gcnew System::Windows::Forms::Label()); - this->gboxFormat = (gcnew System::Windows::Forms::GroupBox()); - this->rSrl = (gcnew System::Windows::Forms::RadioButton()); - this->rTad = (gcnew System::Windows::Forms::RadioButton()); this->gboxFP->SuspendLayout(); - this->gboxType->SuspendLayout(); this->gboxFormat->SuspendLayout(); + this->gboxType->SuspendLayout(); this->SuspendLayout(); // // tboxFile @@ -154,6 +154,40 @@ namespace FingerPrinterTWL { this->gboxFP->TabIndex = 3; this->gboxFP->TabStop = false; // + // gboxFormat + // + this->gboxFormat->Controls->Add(this->rTad); + this->gboxFormat->Controls->Add(this->rSrl); + this->gboxFormat->Location = System::Drawing::Point(22, 101); + this->gboxFormat->Name = L"gboxFormat"; + this->gboxFormat->Size = System::Drawing::Size(161, 76); + this->gboxFormat->TabIndex = 6; + this->gboxFormat->TabStop = false; + this->gboxFormat->Text = L"Output Format"; + // + // rTad + // + this->rTad->AutoSize = true; + this->rTad->Location = System::Drawing::Point(12, 49); + this->rTad->Name = L"rTad"; + this->rTad->Size = System::Drawing::Size(46, 16); + this->rTad->TabIndex = 1; + this->rTad->TabStop = true; + this->rTad->Text = L"TAD"; + this->rTad->UseVisualStyleBackColor = true; + // + // rSrl + // + this->rSrl->AutoSize = true; + this->rSrl->Checked = true; + this->rSrl->Location = System::Drawing::Point(12, 24); + this->rSrl->Name = L"rSrl"; + this->rSrl->Size = System::Drawing::Size(44, 16); + this->rSrl->TabIndex = 0; + this->rSrl->TabStop = true; + this->rSrl->Text = L"SRL"; + this->rSrl->UseVisualStyleBackColor = true; + // // labFP // this->labFP->AutoSize = true; @@ -242,6 +276,7 @@ namespace FingerPrinterTWL { this->button1->TabIndex = 4; this->button1->Text = L"About This Application"; this->button1->UseVisualStyleBackColor = true; + this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); // // label1 // @@ -252,40 +287,6 @@ namespace FingerPrinterTWL { this->label1->TabIndex = 5; this->label1->Text = L"Supported ROM type: TWL application (SRL/TAD)"; // - // gboxFormat - // - this->gboxFormat->Controls->Add(this->rTad); - this->gboxFormat->Controls->Add(this->rSrl); - this->gboxFormat->Location = System::Drawing::Point(22, 101); - this->gboxFormat->Name = L"gboxFormat"; - this->gboxFormat->Size = System::Drawing::Size(161, 76); - this->gboxFormat->TabIndex = 6; - this->gboxFormat->TabStop = false; - this->gboxFormat->Text = L"Output Format"; - // - // rSrl - // - this->rSrl->AutoSize = true; - this->rSrl->Checked = true; - this->rSrl->Location = System::Drawing::Point(12, 24); - this->rSrl->Name = L"rSrl"; - this->rSrl->Size = System::Drawing::Size(44, 16); - this->rSrl->TabIndex = 0; - this->rSrl->TabStop = true; - this->rSrl->Text = L"SRL"; - this->rSrl->UseVisualStyleBackColor = true; - // - // rTad - // - this->rTad->AutoSize = true; - this->rTad->Location = System::Drawing::Point(12, 49); - this->rTad->Name = L"rTad"; - this->rTad->Size = System::Drawing::Size(46, 16); - this->rTad->TabIndex = 1; - this->rTad->TabStop = true; - this->rTad->Text = L"TAD"; - this->rTad->UseVisualStyleBackColor = true; - // // Form1 // this->AllowDrop = true; @@ -303,10 +304,10 @@ namespace FingerPrinterTWL { this->DragEnter += gcnew System::Windows::Forms::DragEventHandler(this, &Form1::Form1_DragEnter); this->gboxFP->ResumeLayout(false); this->gboxFP->PerformLayout(); - this->gboxType->ResumeLayout(false); - this->gboxType->PerformLayout(); this->gboxFormat->ResumeLayout(false); this->gboxFormat->PerformLayout(); + this->gboxType->ResumeLayout(false); + this->gboxType->PerformLayout(); this->ResumeLayout(false); this->PerformLayout(); @@ -339,6 +340,7 @@ namespace FingerPrinterTWL { private: void procOpenRomButton( System::String ^path ); void procSaveRomButton(); + void procAboutButton(); // ダイアログ private: @@ -376,6 +378,12 @@ namespace FingerPrinterTWL { String ^path = files[0]; this->procOpenRomButton( path ); // ボタンが押されたときと同じ挙動 } + // 再びボタン + private: + System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) + { + this->procAboutButton(); + } }; } diff --git a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprint_util.h b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprint_util.h index 02c90cd..8ff7d48 100644 --- a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprint_util.h +++ b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprint_util.h @@ -45,9 +45,12 @@ cli::array^ TransStringToBytes( System::String ^src, const int len // 16進文字列をバイト配列に変換 cli::array^ TransHexStringToBytes( System::String ^src, const int len ); -// バイト配列を16進文字列に変換 +// バイト配列を文字列に変換 System::String^ TransBytesToString( cli::array ^bytes ); +// バイト配列を16進文字列に変換 +System::String^ TransBytesToHexString( cli::array ^bytes ); + // ---------------------------------------------------------------------- // GUI // ---------------------------------------------------------------------- diff --git a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprinter_util.cpp b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprinter_util.cpp index e24de53..40ac61f 100644 --- a/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprinter_util.cpp +++ b/build/tools/MasterEditor/FingerPrinterTWL/FingerPrinterTWL/fingerprinter_util.cpp @@ -382,6 +382,31 @@ cli::array^ TransHexStringToBytes( System::String ^src, const int return bytes; } +// バイト配列を文字列に変換 +System::String^ TransBytesToString( cli::array ^bytes ) +{ + System::String ^str = gcnew System::String(""); + int i; + for( i=0; i < bytes->Length; i++ ) + { + if( (0x20 <= bytes[i]) && (bytes[i] <= 0x7E) ) + { + char c[2]; + c[0] = bytes[i]; c[1] = 0; + str += gcnew System::String( c ); + } + else + { + str += " "; + } + if( !((i+1) % 16) ) + { + str += "\r\n"; + } + } + return str; +} + // バイト配列を16進文字列に変換 System::String^ TransBytesToHexString( cli::array ^bytes ) { @@ -392,7 +417,14 @@ System::String^ TransBytesToHexString( cli::array ^bytes ) { System::Byte b = bytes[i]; str += System::String::Format( "{0:X02}", (char)b ); - str += " "; + if( (i+1) % 16 ) + { + str += " "; + } + else + { + str += "\r\n"; + } } return str; }