2013年01月29日(火)の記
■2013年01月29日(火)
【プレミアム】

ファミマのプレミアムチキン
袋がプレミアムな袋じゃないのが残念
しっかりした身のチキンは良いね
これを食べると、玉せんを食べたくなる

※玉せんって何って人用リンク
【ファンタジーゾーン】
【ファンタジーゾーン】
我が家にあるファンタジーゾーンは2枚ある内の1枚はROMがCなので
折角だから、何か弄って遊ぼうかと思って、ちょっと解析
とりあえず、OLDかNEWの違いを調べてみて
次にサウンドテストで、通常では再生されないBGMとか無いのかな?
と、思って解析開始
ボタン押すと数値がぴょこぴょこ増えて音が鳴るので
この数値を直打ちで選べない数値を選んだらどうなるかテスト
→数値変えるだけじゃ、再生までは繋がってないらしい
ならば、数値の限界値を変更すれば選んだ値以上の物もなるはず?
→限界数値をチェックしてるのは

ここで、2Dを大きい数字に変えてやれば数値はバンバン上げれる
→しかし、数値を上げたところで特に聞き慣れない音楽は特になし
そもそも、ファンタジーゾーンの音楽をそんなに知らないので
知らない曲が出てきても分からないと言う可能性も・・・
そこでステージ1の曲を変更して、曲名が出る事を利用して
何とか出来ないかと思ったけど、曲名の表示は直ぐに消えちゃうし
弄ってみたもの、思うように表示されないのでパス
曲周りを調べたので、挑戦としてステージ1の曲を変更する事にしてみる
おそらく、サウンドCPU側と繋がってるメモリ部分に数値が入ることで
BGMが鳴ると思われるので、そこをサウンドテストで探してみたところ
$F40001に数値が入ると鳴る事が分かる

但し、ここに入力されている数値は今まで見たこと無い値
何でしょうねぇ?
サウンドテストで表示されてる数値ではなく
こちらの数値がサウンドコードとして使用されてるようなので
こっちで数値を変えて何か聞いた事無いBGMは無いか調べてみたけど特になし
$F40001にデータが入ると再生される事は分かったので
ステージ1が始まった時に、このアドレスに入力されるのを追ってみたが
実は、通常時はこのアドレスに数値が入ってBGMが再生される訳ではないらしい
仕組みが予想と違うようなので、別の方向から調べてみる事に
サウンドテストの時に分かったサウンドコード以外に違う値で
同じBGMが鳴る事は無いと想定すればステージ1のOPA-OPA!が
9Dだと思うので、音楽が鳴ってないタイトル画面と
音楽が鳴り出したステージ1とのメモリデータの比較を行って
9Dが書き込まれた場所を調べてみると、それっぽい場所を発見
しかし、ここに数値が入ったからと言ってBGMがなる訳は無かった
それでもこの値が関係してる事は間違い無さそうなので
値が書き込まれたと同時に、値を変更してみたところ
変更した値のBGMが流れたので、最終的場所は見つかってないが
ここで書き込まれる数値を変更すればBGMが変わる
それを元に、遡ってステージ1のBGMの指定場所が分かった

予想ではデータを読んでは書いてるのかと思ったら
プログラムに直接書かれていた
ちなみに、この場所は最初スタートする値で
復活時は別の場所の物を読んでるようなので
そちらも調べてみて、ステージ1のBGMの変更する事が完成
まぁ、変更したからといって何も無いのだが・・・

しかも、こちらはプログラムではなく、データを読んで書き込むタイプ
少し、戻ってサウンドテストで表示されてるナンバーと
再生されるサウンドコードは別物ならば、どこかにサウンドナンバーと
紐付けてしているデータ部分がある筈と調べて、発見

一番最初のサウンドナンバーの限界を絞って
サウンドコードのデータの部分をBGMだけにする事で
サウンドテストでBGMだけ聞けるようにしてみた
最後に基板に乗せて動作する事を確認して終了
今日はつかれまちた
戻る