zeropage のほうのメモリアドレスが全く同じだった。
- $006c script execute flag (0:停止, 1:実行, その他:何かしらイベント)
- $0072 $script execute pointer (little endian 16bit)
FF3 と異なる部分はスクリプトの実行フラグは $006c は 1 だけ。
戦闘開始で待避されるアドレスは $7bff -> $00ff, $7c00-$7c7e -> $0000-$007e となる*1。
pointer 先の data は 0xe7 でスタッフロールが強制的に始まる。今回は先に最終シーンをみた。ただし、曲が再生されないので 0xf5 0x5d, 0xe7 としたほうがよい。
スタッフロールだけ開始なら、屋外で RAM をいじってもイベント発動可能。セリフを出すイベントは FF3 同様固まる。
0x868c
スタッフロール開始。
問題点
FF3 と比べて都合のいい indert jump もあまりなくて、$7c00 付近を破壊する方法が見つかっていないらしい。
*1:sta <$ff,x で x の overflow の挙動が変でわざとやってるぽい