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 |
操作キャラを上下反転表示、反転済みの場合戻す 操作キャラが仲間の場合のみ実行 |
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座標) |