ダビスタ96 完全解析

42億の歓喜

乱数パターン

ダビスタ96の乱数は65536パターンしかない
これは未知の最強馬を探したいと思った時に大きな障害となる。
なぜなら同配合のTSLなら65536パターンの産駒しか生まれないからだ。
このことには既に別記事 : 「65536の憂鬱」で言及している。

乱数の32bit拡張

それならばと、改造にはなるが産駒能力計算の中の乱数計算を変更して
32bit 乱数(16bit xorshiftの2連結版)にしてみた。
これにより、同じ父母から生まれる産駒のパターンを65536通りから約42.9億通りに拡張できた。

その場合初期化シードが2つ必要になるが、1つは従来通りのものを使う。
(種付けのタイミングでフレームカウンタから保存されるもの)
もう1つは、付けた馬の名前の2~9文字目から計算させることにした。
これにより、同じ改造を施したROM同士では、セリ市パスと馬名をセットで受け渡すことで
セリ市パスも有効に働かせることができる。

なお、産駒能力決定時以外の乱数処理に変更はない。

42億の頂点

正しく実装できているかの確認と参考比較までに初代低額牝馬の最強産駒企画であった配合の
スクールサンデー x メジロティターン についてのみ42億頭頑張って計算して、
一番強そうな産駒をピックアップした。
能力表示は自作パッチによるもの、なお名前部分は伏せてある。
SP ST根性 気性 合計 備考
オリジナルの1位 メジロティターン 110 80 97 80 367 面白,底B実A安C,SP1,底+1
42億の頂点 メジロティターン 124 125 99 79 427 面白,底B実A安C,SP1,底+1
※超晩成ボーナス込み, 去勢前提

これで掘りつくされた血統からも、新たな発見の喜びが生まれるかもしれない。

改造箇所/パッチ

パッチファイルはここでは配布していません。某所に投下しています。
以下、手作業で反映する場合の改造箇所の詳細です。すべて16進数表記。
いかなるトラブルについても責任は負えませんのであくまで参考として
完全に自己責任のもと利用してください。

シード計算処理へのジャンプ追加(4バイト)
アドレス0x29EF33
変更前 22 5B 8F B2
変更後 22 00 FF 95
シード計算処理+元処理への合流(25バイト)
アドレス0x2AFF00
変更前 すべて FF
変更後 48 AD 1F 18 0A 18 6D 21 18 18 6D 23 18 18 6D 25
18 85 34 68 22 5B 8F B2 6B
乱数呼出処理の変更(10箇所x3バイト)
アドレス0x29F0EB, 0x29F294, 0x29F298, 0x29F2A6, 0x29F2C0
0x29F30B, 0x29F31B, 0x29F32E, 0x29F336, 0x29F377
変更前 20 7B EC
変更後 20 D1 FF
新乱数呼び出しヘッダーの作成(5バイト)
アドレス0x29FFD1
変更前 すべて FF
変更後 22 19 FF 95 60
新乱数処理の作成(62バイト)
アドレス0x2AFF19
変更前 すべて FF
変更後 DA 48 C2 20 A5 00 0A 0A 0A 0A 0A 45 00 85 00 4A
4A 4A 45 00 AA A5 34 85 00 4A 45 34 86 34 45 34
85 34 8F 04 42 00 E2 20 68 8F 06 42 00 18 18 18
18 18 18 18 C2 20 AF 16 42 00 E2 20 FA 6B
inserted by FC2 system