電池ありRS初期seedについて 〜後篇〜

February 13 [Wed], 2013, 22:00
前回の記事[電池ありRS初期seedについて 〜前篇〜]の最後で触れた某掲示板の書き込みと、実際に変動させて確認したseedを元に電池あり初期seedの計算方法を紹介しようと思います。

※2月23日追記アリ@

※2月25日追記アリA
.



まずは某掲示板の過去の書き込みの紹介


----------------------------------------------------------------------------

249 名前:ゲーム好き名無しさん[sage] 投稿日:2009/01/20(火) 23:31:35 ID:Q46nAD7C0
なんとなくRSのシードの決定方法を調べてみました。
あまり実用的ではなさそうだけど誰かがすごい方法を思いつくかもしれないのでとりあえず適当に書いてみます。
シードはやはりカートリッジの中に入っている内蔵時計RTCの時刻によって変わるようで、
RTCが初期化されてから現在までに経過した日数を分に換算した値と、
RTC内におけるBCD表記の時間と分をそのまま16進数の値として扱い、それを分に換算して計算した値と1440を足して、
その上位2バイトと下位2バイトをxorしたものが最初のシードになっているようです。
初回起動時と時計が壊れている場合はシードは0x5A0になっていると思います(たぶん)
エミュレータ等を使っていると発売日との兼ね合いで現時点であり得ないシードが生成されるかもしれません。
基本的に1分ごとに値が変わるのでいつ起動したらこのシードになるという予測はしやすいですが、
時間は調整できないしチャンスは一度きりなのでエメラルドのループのような方法でいいのを狙うのは難しそうです。
時計バグの対策とかでロットによって変わってるかもしれません(上のはルビーのロット番号15B E4でしらべました)
適当なので間違ってる可能性もかなりあります。

----------------------------------------------------------------------------


はい。
見慣れない単語を見るとどうしても難しく考えてしまいますね。
理解するのに少し時間が掛かりました。
にわか知識で1から10まで説明するとパルスのファルシのルシがコクーンでパージ的な感じになってしまうかもしれないので要点だけを掻い摘んで説明します。
興味のある人は自分で色々とお勉強してみるとおもしろいかもしれません。



まず「1440」という数字について

これは電池切れした際に固定される初期seedの「5a0」を10進数にしたものです。


次にseedの変動について

電池ありRS初期seedは5a0(1440)から変動していきます。

前情報として僕が認識していたのは5a「0」の部分が1分毎に0→9まで変動し
9から0になる際にaの部分がb(その後はc→d・・・)になるという感じのもの。
0→9以外には変化しないものと考えていました。が、前記事で載せたようにそんなことはありませんでした。

ではどのように変動しているのか。
その算出方法について


経過した時間(分)の数字を、そのまま16進数として扱い5a0に+することで、変動していく初期seedを算出することができます


例を挙げると、前記事で実際に確認した

30分後・・・5d0

5a0+30=5d0 です。

一応10進数で計算をしてみると、1440+48(16進数30を10進数に変換したもの)=1488
1488を16進数になおすと5d0です。

念のためにもう一つ

59分後・・・5f9

5a0+59=5f9

1440+89=1529⇔5f9

はい。


ヤ○ンでもわかる電池ありRS初期seed算出方法(仮)

5a0+経過時間(0〜59)=初期seed

ね、簡単でしょ?


ちなみに「経過時間(0〜59)」の部分。
なぜこのような形なのかについても前記事で確認したものを参考にします。

60分経過した時のseedは5dcでした。

120分経過では618です。

前記事でわざわざ赤くして目立つようにしています。
ちなみに5a0にそのまま60を足すと600になってしまいます。

一旦それぞれを10進数にしてみましょう。

5dc→1500
618→1560

5a0は1440でしたね。

1440 1500 1560

もうお気付きかと思いますが、60ずつ増えていますね。
結論からいうと60分経過した際には、60を足したものになります。

注意として、0〜59分までは経過時間をそのまま16進数として扱っていましたが
60分の際には1440・5a0それぞれに合わせた形で足してください。

上記では10進数になおして計算しましたが
16進数のまま計算すると5a0+3C=5dcとなります。

そしてそれを元に再度0〜59を足していくことでseedを算出できます。

最初の1時間は5a0に+していきましたが
次の1時間では5dcに+していき、
更に次の1時間では618に+していくことになります

----------------------------------------------------------------------------------------------------------
ヤドンでもわかる電池ありRS初期seed算出方法

5a0(60分経過毎に+3C)+経過時間(0〜59)=初期seed


※追記@
少し気になる点があったため現在10時間以降について調べています。
上記の計算方法から求められない可能性があるので、情報がまとまったら追記します。

※追記A
理解が足りず間違った計算方法を乗せてしまっていたため訂正版を掲載します。申し訳ないです。

5a0(24時間経過毎に+5a0)+3C×経過時間(0〜23)+経過分(0〜59)=初期seed

わかりやすく説明するために便宜上括弧を用いています。
16進数で分かり辛い場合は一度10進数になおして計算するといいかもです。
後は計算する順番に気を付けてくださいね。

24時間(1日)経過後のあれこれですが、
0日23時間59分経過→1日0時間0分経過となるので、また同じように0〜23時間、0〜59分を足していってください。

色々と説明をすっ飛ばしたので、興味のある人は色々と調べてみてください。
----------------------------------------------------------------------------------------------------------


はい。
記事書くのは疲れますね。
これなら誰でもわかるという感じで書いたつもりですが
拙い文章なのでわからねーよという人もいるかもしれません。ごめんなさい。
書いてる途中で前記事の間違いも見つけたのでこっそり修正しておこうと思います。


最後に

昔の書き込み漁りは楽しいですね。
色々な情報を元に試行錯誤するのも乱数調整の楽しみだと思います。
色違い理想個体を捕まえるだけが乱数調整の楽しみというわけではないですね。

それでは今日はこのへんで,,Ծ‸Ծ,,
  • URL:http://yaplog.jp/yo_miii/archive/5
Comment
小文字 太字 斜体 下線 取り消し線 左寄せ 中央揃え 右寄せ テキストカラー 絵文字 プレビューON/OFF

不正な自動コメント投稿を防ぐため、チェックボックスにチェックをしてください。

利用規約に同意する
 X 
禁止事項とご注意
※本名・メールアドレス・住所・電話番号など、個人が特定できる情報の入力は行わないでください。
「ヤプログ!利用規約 第9条 禁止事項」に該当するコメントは禁止します。
「ヤプログ!利用規約」に同意の上、コメントを送信してください。
>とおりすがり さん

コメントありがとうございます。
自分でも少し気になっていたので現在調べている最中です。
まだ10時間経過しか確認していませんが、時間を延ばしつつある程度確認が取れたら
加筆しようと思います。
February 23 [Sat], 2013, 14:23
とおりすがり
10時間以上経過したときの初期EEDも調べてみたほうがいいように思います
February 23 [Sat], 2013, 1:33
P R
プロフィール
  • プロフィール画像
  • アイコン画像 ニックネーム:ヨミ
読者になる
ポケモンが好きです。
シングル、ローテ、トリプル、シューター、ダブル一通りできます。
乱数調整のメモ等書いていきたいと思います。

twitter ID:yo_Miii
ニコ生:co619641
2013年02月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28
カテゴリアーカイブ