バンクC1の関数

00 何もしない
01 xx yy 引数[2byte]をADA2に保存(タイルパターンオフセットを指定)
02 xx yy ADAEを40で割った値が1か10なら、引数[2byte]をADA2に保存
03 xx yy ADAEを40で割った値が2か3かEかFなら、引数[2byte]をADA2に保存
04 xx yy ADAEを40で割った値が4か5かCかDなら、引数[2byte]をADA2に保存
05 xx yy ADAEを40で割った値が6か7かAかBなら、引数[2byte]をADA2に保存
06 xx yy ADAEを40で割った値が8か9なら、引数[2byte]をADA2に保存
07 xx yy ADA2 += 引数[2byte](タイルパターンオフセットを差分指定)
08 xx ADBC = ADBC and #C7 or 引数[1byte]
09 xx yy アドレス[29 yy xx]の処理を各対象に並列処理 呼び出される処理のヘッダには行動キャラ番号を含まない
0A xx yy アドレス[29 yy xx]の処理を並列処理 呼び出される処理のヘッダには行動キャラ番号を含まない
0B xx yy アドレス[2A yy xx]の処理を各対象に並列処理 呼び出される処理のヘッダには行動キャラ番号を含まない
0C xx yy アドレス[2A yy xx]の処理を並列処理 呼び出される処理のヘッダには行動キャラ番号を含まない
0D 対象が仲間なら画像を左右反転(フラグ2の0x40をON)
0E xx 対象が敵なら右に、仲間なら左に画像を移動
0F xx 対象が敵なら左に、仲間なら右に画像を移動
10 yy xx 対象が敵なら右上に、仲間なら左上に画像を移動
11 yy xx 対象が敵なら左上に、仲間なら右上に画像を移動
12 yy xx 対象が敵なら右下に、仲間なら左下に画像を移動
13 yy xx 対象が敵なら左下に、仲間なら右下に画像を移動
14 xx ウエイト指定(ADB7) 対象の隊列位置によってウエイトが増える(2人目なら×2、3人目なら×3)
15 対象の数をループ回数に指定(ADB8)
16 xx ウエイト指定(ADB7) 対象が複数対象の中の何番目かによってウエイトが増える(2人目なら×2、3人目なら×3)
17 xx ウエイト指定(ADB7)
18 xx ループ回数指定(ADB8) 1Aでループ位置を指定 ネスト不可
19 ウエイト(ADB7)が0になるまでカウントダウンしながら停止
1A xx yy ループカウンタが0になるまで指定アドレスにジャンプ(ADA8を-1する、0になったら進む) ネスト不可
1B xx yy 画像表示位置 操作キャラ基準 キャラが画面外の場合は?
1C xx yy 画像表示位置 対象キャラ基準
1D xx yy 画像表示位置 対象キャラのX=中心,Y=下端を基準?
1E エフェクト処理全体を左右反転(フラグ2の0x80を反転)
1F xx 対象キャラの表示を上下左右反転(80:上下、40:左右)
20 画像を左右反転、反転している場合は元に戻す(フラグ2の0x40を反転)
21 分身表示、表示している場合は消去(フラグ1の0x20を反転)
22 xx 1101 = xx
23 何もせずに次の並列処理に移行
24 処理終了(フラグ1の0x80をOFF)
25 xx yy 1005 = xxyy
26 xx 1007 = xx
27 xx yy 1008 = xxyy
28 xx yy 100A = xxyy
29 xx yy 100C = xxyy
2A xx yy 100E = xxyy 透過エフェクトの透明度?
2B xx 1010 = xx
2C xx キャラとエフェクトの重なりを変更(フラグ1の下位2bitを指定値に変更)
2D xx エフェクトと操作キャラの前後関係を指定?113Eの下位4bitを指定値に変更
2E xx エフェクトと対象キャラの前後関係を指定?
2F 画像表示ON(フラグ1の0x40をON)
30 画像表示OFF(フラグ1の0x40をOFF)
31 xx 1010 += xx
33 xx 1020 = xx
34 xx 101F = xx
35 xx 1003 = xx
36 xx 1004 = xx
37 xx 1000 = xx
38 xx 1002 = xx
3B xx 1000 += xx
3C xx yy 1033 = xxyy
3D xx パレットフェード処理 0x20フレームでパレットを変更する
3E xx yy パレット読み込み ( 4色、E2:7200)
3F xx yy パレット読み込み ( 8色、E2:7380) xx=パレット番号80〜
40 xx yy パレット読み込み (16色、E2:7B00) 40 01 xx なら敵の色を変更 40 10 xx なら背景の色を変更?
41 xx 画像パレット指定 3Fのxxを指定
42 武器パレットなどを初期化
43 xx yy バックアップパレットyyをパレットxxに戻す
46 操作キャラを画像表示位置に移動
47 対象キャラを画像表示位置に移動
48 画像位置を回転エフェクトの中心座標にする(ADAA=画像のY座標,ADAC=画像のX座標)
49 操作キャラと対象キャラの位置を入れ替える
4A xx yy E8バンク描画関連、詳細不明
4D xx yy 画像yyから2つ分をVRAM#0040+xx*800に読み込む 8色パレット 画像オフセットはE28240[3byte]
4E xx yy 画像yyから2つ分をVRAM#0040+xx*800に読み込む 8色パレット 画像オフセットはE28240[3byte]
4F xx yy 画像yyをVRAM#4000+xx*200に読み込む 4色パレット 画像オフセットはE28000[3byte]
50 xx 画像xxから3つ分をVRAM#4000に読み込む 8色パレット 画像オフセットはE280C0[3byte]
51 xx yy 画像yyをVRAM#4000+xx*200に読み込む 8色パレット 画像オフセットはE280C0[3byte]
52 xx yy 画像yyをVRAM#0200+xx*200に読み込む 8色パレット 画像オフセットはE28240[3byte]
53 xx yy 画像yyをVRAM#2100+xx*200に読み込む 4色パレット 画像オフセットはE28000[3byte]
54 xx yy 画像yyから2つ分をVRAM#0040+xx*800に読み込む 8色パレット 画像オフセットはE28240[3byte]
55 xx yy 画像yyから2つ分をVRAM#0040+xx*800に読み込む 8色パレット 画像オフセットはE28240[3byte]
56 xx yy 画像yyをVRAM#0200+xx*200に読み込む 4色パレット 画像オフセットはE28000[3byte]
57 xx yy 画像yyをVRAM#0200+xx*200に読み込む 8色パレット 画像オフセットはE280C0[3byte]
58 xx yy 画像yyをVRAM#4000+xx*200に読み込む 8色パレット 画像オフセットはE28240[3byte] (51 00 80と58 00 00は同じ)
59 xx yy 画像yyから2つ分をVRAM#0040+xx*800に読み込む 8色パレット 画像オフセットはE28240[3byte]
5A xx 特殊エフェクトとキャラの重なり?(xx=20で前面表示)
5C xx 画像と対象キャラの重なりを変更(30=画像が手前、20=対象キャラが手前)
5E xx キャラの表示/非表示切り替え 00=操作キャラ1,01=操作キャラ2…,80=対象キャラ1,81=対象キャラ2…
60
61 xx yy 画像表示位置 画面の左上を基準
63 xx yy パンが中央の効果音
64 xx 効果音に対する処理?
65 xx yy パンが操作キャラ側の効果音
66 xx yy パンが対象キャラ側の効果音
67 効果対象が1人で、ミスした場合ミスの効果音
68 yy 画像を上に移動
69 yy 画像を下に移動
6A xx 画像を右に移動
6B xx 画像を左に移動
6C yy xx 画像を右上に移動
6D yy xx 画像を左上に移動
6E yy xx 画像を右下に移動
6F yy xx 画像を左下に移動
70 yy 対象キャラを上に移動
71 yy 対象キャラを下に移動
72 xx 対象キャラを右に移動
73 xx 対象キャラを左に移動
74 yy xx 対象キャラを右上に移動
75 yy xx 対象キャラを左上に移動
76 yy xx 対象キャラを右下に移動
77 yy xx 対象キャラを左下に移動
78 yy 操作キャラを上に移動 操作キャラが敵の場合のみ実行
79 yy 操作キャラを下に移動 操作キャラが敵の場合のみ実行
7A xx 操作キャラを右に移動 操作キャラが敵の場合のみ実行
7B xx 操作キャラを左に移動 操作キャラが敵の場合のみ実行
7C yy xx 操作キャラを右上に移動 操作キャラが敵の場合のみ実行
7D yy xx 操作キャラを左上に移動 操作キャラが敵の場合のみ実行
7E yy xx 操作キャラを右下に移動 操作キャラが敵の場合のみ実行
7F yy xx 操作キャラを左下に移動 操作キャラが敵の場合のみ実行
80 yy 操作キャラを上に移動 操作キャラが仲間の場合のみ実行
81 yy 操作キャラを下に移動 操作キャラが仲間の場合のみ実行
82 xx 操作キャラを右に移動 操作キャラが仲間の場合のみ実行
83 xx 操作キャラを左に移動 操作キャラが仲間の場合のみ実行
84 yy xx 操作キャラを右上に移動 操作キャラが仲間の場合のみ実行
85 yy xx 操作キャラを左上に移動 操作キャラが仲間の場合のみ実行
86 yy xx 操作キャラを右下に移動 操作キャラが仲間の場合のみ実行
87 yy xx 操作キャラを左下に移動 操作キャラが仲間の場合のみ実行
88 操作キャラを左右反転表示、反転済みの場合戻す 操作キャラが仲間の場合のみ実行
89 操作キャラを上下反転表示、反転済みの場合戻す 操作キャラが仲間の場合のみ実行
8A xx 操作キャラグラフィック変更 00〜19 操作キャラが仲間の場合のみ実行
8B xx yy 画像表示位置指定(操作キャラからの差分) 画像表示フラグ自動ON 操作キャラが仲間の場合のみ実行
8C xx 操作キャラを1フレーム移動 移動位置は事前にC4で決めておく xxは移動経路 0=直進、1=上にカーブ、2=下にカーブ、カーブの大きさはADB0で指定する 関数フラグ80が立っていないことに注意(キャラ画像変更処理をはさむため?)
8D xx 8Cの敵キャラ版
8F 操作キャラを右90度回転表示、回転済みの場合戻す 8Fの後8A xxで有効
90 xx 対象キャラを1フレーム移動 (8Cの対象キャラ版)
92 対象キャラを非表示
93 ダメージポイント ※ダメージ技には93か94が必ず必要 (味方ダメージポーズ、盾防御、ミス時の処理(盾/ミス効果音&以降の効果音停止)
94 ダメージポイントを全ての対象に実行
95 1038の0x04をON
96 xx yy 引数[2byte]のオフセットにジャンプ、バンクは現在のバンク、戻らない
97 xx yy 引数[2byte]のオフセットをコール、バンクは現在のバンク、呼び出し元アドレスはADB9に保存、ネスト不可、98でリターン
98 97コールからリターン(ADB9)
9A xx ウエイト指定(ADB7) 攻撃がミスした場合直後の1byteをスキップする
9B xx yy zz 武器の種類がxxならyyzzへジャンプ
9C xx yy zz 条件xxが真ならyyzzへジャンプ (条件xx 00:対象が2人なら、01:対象が3人なら、03:技始動で前に移動しない戦闘(術戦車等)、05:対象がパンチで左右反転しない(アルジャーノン等)、その他不明 09まで)
9E C4,E6などで決めたキャラの移動方向に従って、操作キャラを左右反転する
9F xx 操作キャラの上下左右反転フラグを指定値に変更 引数上位2Bitのみ有効 その他のBitは必ず0を指定する
A0
A5 パレットをバックアップ
A6 バックアップからパレットを戻す
A9 xx 対象の画像サイズによって変数を設定(0x80:0=横サイズ,1=縦サイズ、0x40:0=ループカウンタ(ADB8)に値をセット,1=回転半径(ADB0)に値をセット、0x3F:判定値の割り算?)
AA
AE xx 並列処理の実行を開始、引数は現在の処理Noからの差分(+0x80でマイナス指定)
AF xx 並列処理の実行を停止、引数は現在の処理Noからの差分(+0x80でマイナス指定)
B0
B2 武器の種類に応じた画像パレットを設定する。
B6 1038 = 1038 and #FC or #02
B7 敵画像パレットを復帰 (敵が動かせる変わりに画像パレット使用不可)
B8 敵画像パレットを開放 (敵が動かせない変わりに画像パレットが使用可能)
B9 xx yy zz フラグ(ADBC)の指定ビットがONならyyzzにジャンプ
BA xx フラグ(ADBC)の指定ビットがONなら処理終了
BB xx yy zz 条件ジャンプ xx=条件 0x01が0なら操作キャラ、1なら対象キャラが判定対象 0x80が1ならモンスター、0なら仲間
BC xx yy zz 条件コール 条件はBBと同じ、リターンは98
BD xx yy 対象が石化していたらyyxxへジャンプ
C0
C1 xx yy 背景を移動
C3 xx yy 特殊エフェクト移動
C4 xx yy 操作キャラと対象キャラの相対位置をフレーム数yyで時分割した移動距離を計算する フレーム数yyはループカウンタ(ADB8)にセットされる xxで移動先と移動元を微調整 xx=20で現在の画像位置から移動開始
C5 C4で決めた分だけ画像移動
C6 C5と同じ(フレーム更新なし)
C7 C4で決めた分だけ上にカーブしながら画像移動 カーブの大きさはF3で指定
C8 C4で決めた分だけ下にカーブしながら画像移動 カーブの大きさはF3で指定
D0
DB xx yy 特殊エフェクトアニメーション xxで炎などの揺らめき
DF xx 特殊エフェクト表示位置(01=対象キャラ基準、C0=画像基準)
E0 xx 特殊エフェクト形状指定 40=真円
E1 xx
E2 xx yy 特殊エフェクト効果 xx=00/0CB4+=yy(画像サイズ拡大) xx=80/0CF4+=yy
E3 xx yy 特殊エフェクト効果 円筒エフェクトの長さなど
E4 xx 特殊エフェクト形状指定 00=ドーム型 (関数フラグの80が立っていないことに注意)
E6 xx yy C4と似た動作 yyはフレーム数ではなく移動速度 移動フレーム数が計算されてループカウンタにセットされる
EF xy 回転エフェクト実行(xy=円の傾き、ADAA=中心X座標、ADAC=中心Y座標、ADAE=回転角度、ADB0=半径として画像位置を変更)
F0 xy EFと同じ(フレーム更新無し)
F1 操作キャラの座標を回転エフェクトの中心座標にする(ADAA = 操作キャラのX座標 ADAC=操作キャラのY座標)
F2 対象キャラの座標を回転エフェクトの中心座標にする(ADAA = 対象キャラのX座標 ADAC=対象キャラのY座標)
F3 xx 操作キャラ移動時のカーブを指定 or 回転エフェクトの半径を指定(ADB0 = xx)
F4 xx yy 回転エフェクトの初期角度を指定(ADAE = xxyy)
F5 xx yy 回転エフェクトの傾きを指定(ADB1 = xxyy)
F6 xx 操作キャラ移動時のカーブを変更 or 回転エフェクトの半径を変更(ADB0 += xx)
F7 xx yy 回転エフェクトの角度を変更(ADAE += xxyy and 03FF)
F8 xx yy 回転エフェクトの傾きを変更(ADB1 += xxyy and 03FF)
FD xx yy 回転エフェクトの中心座標をずらす(ADAA += yy ADAC += xx)
FE xx xx=20(ADAA=画像のY座標,ADAC=画像のX座標)

C4,C6の引数

0xE0:移動元

00=操作キャラ中央
20=画像表示位置
40=対象キャラ中央
60=操作キャラ下端
80=操作キャラ右端

0x1F:移動先

00=対象キャラ中央
01=対象キャラ下端
02=対象キャラ右端
03=画像表示位置
04=対象キャラ中央より右に3ドット
05=対象キャラ左下端
06=対象キャラ右上端
07=対象キャラ右端より右に16ドット
08=操作キャラ陣形位置(元の位置に戻る)
09=対象キャラ上端より右に24ドット
0A=対象キャラ右上端より右に24ドット
0B=対象キャラ右下端より上に16ドット
0C=対象キャラ陣形位置(元の位置に戻す)
0D=対象キャラ左端
0E=Y=対象キャラ位置、X=操作キャラの対象キャラ横サイズ分右
0F=対象キャラ右上端より右に16ドット上に32ドット
10=不明
11=不明
12=対象キャラの真上(真下)画面外?
13=画面の左上?
14=画面の左下?
15=対象が仲間なら対象の中央から左に32ドット上に24ドット、対象が敵なら対象の右上(対象の横サイズで距離が変化)
16=対象が仲間なら対象の中央から左に32ドット下に24ドット、対象が敵なら対象の右下(対象の横サイズで距離が変化)
17=対象の左下(対象の横サイズで距離が変化)
18=対象の左上(対象の横サイズで距離が変化)
19=対象の中央から右に55ドット上に32ドット
1A=対象の中央から左に55ドット上に32ドット
1B=対象の中央から下に48ドット
1C=対象が仲間なら対象の中央から左に24ドット、対象が敵なら対象の右端
1D=不明
1E=不明
最終更新:2012年06月18日 12:19