# EmSIDしらみつぶし補助ツール # 0. この仕様書について この仕様書は「EmSIDしらみつぶし補助ツール」についての要件について定義し、開発の仕様を定めたものである。 # 1. 概要 ## 1.0. 名前  名前は「EmSIDしらみつぶし補助ツール」とする ## 1.1. ツール説明 エメラルドのSIDを総当たりで調べるのを少しでも効率化するためのツールである ## 1.2. 原理 エメラルドのTIDはtimer0の値から決定するため, 現在実機での調整の方法が確立されていない. 一方でSIDはTID決定時にTIDと同じ値がseedとして格納され, 通常のLCGから乱数を取得して決定される. したがって, TID決定からSID決定までの時間がわかれば, トレーナーカードに表示されるTIDからが求められる. TID決定はTN入力終了時, SID決定はTN確定時である. したがって, この間を連打で飛ばしていたのならば, SIDの範囲はかなり絞ることができる. 連打をしていなかったとしても, ふつう長くて数十秒程度, すなわち3000F弱であり, 8192通りすべてを試すよりは少ない範囲を調べるだけで事足りる. # 2. 要件 ## 2.0. 要請される機能 1. TIDと基準フレーム(最速入力の場合の経過時間)の入力欄 2. リストを出力する範囲 3. チェックリスト 4. csv読み込み/csv出力 5. 個体からのPSV逆算 6. PSVからの個体検索 ## 2.1. Control |No.|Control|| |:-|:-|:-| |1.|NumericUpDown|入力を数値に限定できる,上限・下限の設定が可能.| |2.|NumericUpDown|同上| |3.|DataGridView+CheckBox|調べ終わったものはチェックする| |4.|Button|| |5.|Button+DataGridView|計算結果はDGVで表示| |6.|Button+DataGridView|同上| ## 2.2. 画面構成 - 上部にTID等の入力コントロール - メニュー欄からcsv読み込み/出力 - チェックリストが画面左, 逆算/検索は画面右でTabPageで切り替え ## 2.3. 検索機能詳細 チェックリストからSID候補を入力すると, 光るPSVを計算し, 該当する個体を出力. シンクロ対応. 実数値入力から個体値を内部で逆算し, 該当するPSVを出力. InitialSeed 0x0から一定範囲内の条件を課すべきか?