DQ3 呪文・特技エフェクトの移植可能性の調査2

少し進展がありました。ギラの炎のエフェクトはBG12のデータ1枚をパラパラ漫画の1枚として扱っているようです。

  • SR: $049826 ギラ系エフェクト
049838 LDA #$0361 A=#$0361 炎の色のパレットアクセスID?
04983B STA $4F74 $4F74=A
04983E LDX #$0000 X=#$0000
049841 LDY #$0008 Y=#$0008
049844 LDA $4F7C A=$4F7C
049847 BEQ #$03 if(z==on) goto $04984C
049849 LDY #$FFF0 Y=#$FFF0
04984C LDA #$0013 A=#$0013 ギラ用炎のアニメーションID?
04984F JSR $B65B SR: $04B65B 呪文使用時エフェクト描画用データセット

このSR: $04B65Bが肝だったようです。この中でSR: $0476C8を呼んでいるのですが、この中を見てみます。

  • SR: $0476C8 呪文使用時エフェクトアドレスアクセス
0476F8 JSL $C90501 SR: $090501 引数:1#$00 引数:2#$0003 引数:3#$C542A6 引数:4#$02 構造体アクセス Y番目の先頭アドレスを$00,第4引数にセット

$05418D-0541D7に25レコードのアドレスが指定されています。ギラの実行時に指定されているアドレス($C10B3B→$010B3B)に可変のエフェクトデータが格納されています。データの内訳は

$00 表示時間(フレーム数?)
$01-2 BG1,2ID

をの3バイト1セットとして、$00にFFがくるまで繰り返します。つまり画面全体にかかるようなエフェクトはBG1,2データを画面に重ねて描画している、ということのようです。ここまでくればあと画像をDQ6から移植できれば再現は可能ではというところまできました。

(24:00追記)
画像を手動で移動するのは骨が折れるしミスの元になるのでDQ3SFCEditorに画像ぶっこ抜き機能を追加して移植してみました。たしかにエフェクト自体は移植できましたが、色がまだ白(恐らくウィンドウのフレームの色)いままです…。もう少し調査の必要がありそうです。