FX1を追加する


FX1を編集しようとしてEDIT→FX1と押した時に
こんなダイアログが出ることがあります。


これが出た部屋ではFX1の情報がない事を表します。
OKを押すと編集ウインドウが出てきますが、そのまま編集してしまうと
別の部屋で使われているFX1の情報を壊してしまう可能性が高いです。

他の部屋のFX1と入れ替えたり共通化するだけですむ場合には
ポインタの入れ替えを参照してください。
ここではFX1のない部屋にFX1を追加する手順を説明します。



FX1の情報はロムアドレスでいうと、18000~1FFFFの間に書かれていますが
この範囲で使われていない領域を使用します。
まずバイナリエディタでロムを開き、1AD70へジャンプします。





なにやら1AD66以降FFが並んでおり、どうやらここからが未使用領域のようです。
わかりやすく1AD70~を使ってみましょう。
FX1の情報は16バイトでひとかたまりなので、1AD7Fまでを上書きで00に書き換えます。





書き換えたら保存してファイルを閉じます。



さて、SMILEで書き換えたロムを開き、FX1を追加したい部屋のPointersウインドウを出します。
ここのFX1をさきほど書き換えたアドレスの先頭、1AD70の頭1を取ったアドレス
AD70に変更します。



変更したらSave Pointers→いいえと押します。
これでFX1の読み込み先が変わりました。



では、Edit→FX1と押してみましょう。
ダイアログが出ずに編集ウインドウが開くはずなので
あとは希望の効果を設定するだけです。





FX1に関してはバイナリエディタを使わずとも
いきなりPointersのアドレスを変更するだけで追加できてしまいます。
ただその方法だと編集時にダイアログは出ますし、なにより未使用領域をどこまで使用したか?
というのが非常に把握しづらくなるので、お勧めしません。