イベント処理
呼出/移行/停止
内容 | Code | Size | 備考 | |
ll=イベントID(LSB), uu=バンク, HHLL=アドレス | ||||
イベントコール(Bank$FA) | 00 | ll | 2 | |
01 | ll | 2 | ||
02 | ll | 2 | 未使用 | |
03 | ll | 2 | 未使用 | |
イベントコール(Bank$FB) | 04 | ll | 2 | |
05 | ll | 2 | ||
06 | ll | 2 | ||
07 | ll | 2 | ||
イベントコール(Bank$FC) | 08 | ll | 2 | |
09 | ll | 2 | ||
0A | ll | 2 | ||
0B | ll | 2 | 口調設定やデバッグモードなど | |
イベントコール(拡張) | 0C | ll | 2 | ll: 00-FF=拡張画像/フラグ |
0E | ll | 2 | ll: 00-FF=標準画像/フラグ | |
4C | ll | 2 | ll: 00-6F=標準画像/フラグ, 70-FF=拡張画像/フラグ ※ll=08,2E,43,4Eは所持金チェック処理 | |
イベントコール(参照/指定) | 4F29 | mL mH | 4 | $7E/mHmL[2]=イベントコード指定 |
0D18 | LL HH uu | 5 | アドレス直指定($uu/HHLL) | |
0D19 | mm | 3 | メモリ参照($7E/EFmm[3]:<LL HH uu> =$uu/HHLL) | |
イベントジャンプ | 32 | 0y ll | 3 | 標準イベントのみ(y=0-B) |
4F16 | 0y | 3 | 現イベントID+乱数[0~y]のイベントへランダムに飛ぶ(0ならジャンプせず続きを実行) | |
0D16 | LL HH | 4 | アドレス直指定($HHLL) 現実行イベントの同バンク | |
0D17 | LL HH uu | 5 | アドレス直指定($uu/HHLL) | |
イベント一時停止 | 4F07 | -- | 2 | 任意のボタンが押されるまで停止(文章表示のときはボタン押下までウェイト) |
イベント終了 | 2E | -- | 1 | 現イベントを終了してコール元イベントへ戻る |
43 | -- | 1 | 実行中のイベントを強制終了 |
移動イベント
内容 | Code | Size | 備考 | |
移動イベント | 11 | xx | 2 | xx: 00=デバッグルーム |
0D32 | xx | 3 | 拡張 | |
0D12 | -- | 2 | メモリ参照($7E/EF00[5]:<zz ll hh xx yy> zz=設定フラグ, hhll=マップID, xxyy=座標) | |
サブマップ内移動 | 10 | xx | 2 | |
サブマップ固有移動? | 12 | xx | 2 | |
暗転→直前にいたサブマップに戻る | 1700 | -- | 2 | 戻る前の向きを維持 |
1701 | -- | 2 | 左向き | |
1702 | -- | 2 | 右向き | |
1703 | -- | 2 | 上向き | |
1704 | -- | 2 | 下向き | |
マップ演出 | 1A | xx | 2 | |
全体マップ切替 | 14 | xx | 2 | |
全体マップ表示 | 1764 | -- | 2 | |
地方マップ切替 | 16 | xx | 2 | xx: 00-7F(移動先は$39/0080-017Fに設定) |
地方マップを表示して自動的に移動 | 1718 | -- | 2 | 移動先は$7E/EF00[2]:<xx yy>に設定(有効な値にしないとバグる) |
戦闘/酒場イベント
内容 | Code | Size | 備考 | |
マスコンバット開始 | 15 | xx | 2 | |
通常戦闘 | 18 | 0y | 2 | y=モンスター種族 |
固定戦闘 | 19 | xx | 2 | 標準 |
0D33 | xx | 3 | 拡張(現状では必要性なし) | |
0D13 | -- | 2 | メモリ参照:$7E/EF00[8~32]=固定戦闘の処理コード(酒場イベント用) | |
酒場イベント:実行可能なイベントの設定 | 0D14 | -- | 2 | $7E/EF00[9]=受けられる仕事ID8個保存, $7E/EF10[1]=イベント数保存 |
酒場イベント:シンボル~オフセットの読込 | 0D1A | mm mR | 4 | $7E/EFmR[11]←$7E/EFmm[1](イベントID) |
酒場イベント:イベント実行前処理 | 0D1B | mm | 3 | イベントID・音楽・直前マップバックアップ(マップ移動設定を$7E/EF00[?]にコピー) |
酒場イベント:イベントクリア処理 | 0D1C | -- | 2 | クリアフラグ立て, クリア回数加算 |
酒場イベント:イベント情報読込 | 0D1D | mm | 3 | $7E/EFmm[1]=イベントID, $7E/EF00[?]=酒場への移動設定 |
酒場イベント:酒場に戻った後の処理 | 0D1E | -- | 2 | 直前マップデータをバックアップから戻す, 一時フラグクリア |
酒場イベント:報酬データ読込 | 0D1F | mm | 3 | $7E/EFmm[2]=報酬データ(0000-7FFF=オーラム, 8yii=アイテムyii) |
酒場イベント:選択肢処理 | 0D20 | mm | 3 | $7E/EFmm[1]=イベントID |
音声関連
内容 | Code | Size | 備考 | |
効果音を鳴らす | 1E | xx | 2 | |
BGM演奏 | 1D | xx | 2 | xx: 13=主人公毎に定義しているBGM |
1F | xx | 2 | 絶対指定 | |
BGM設定変更 | 4F09 | 10 xx | 4 | 通常BGM, <4F3A>でリセット |
4F1F | 3A xx | 4 | 戦闘BGM, <0B42>でリセット | |
4F3A | -- | 2 | 通常BGMの設定をリセット | |
BGM制御 | 4F0A | 80 xx yy | 5 | xxyy: 01FF=フェードイン, 0200=フェードアウト |
??? | 4F0A | 82 xx yy | 5 | xxyy: 00FF=<0842>, 0100=<0AE4>/<0B07>, 4000=<0601>/<06E6> で使用 |
台詞/文章
表示系
内容 | Code | Size | 備考 | |
「イベント以外」はイベントコード使用局面以外(メニュー画面や戦闘時など)全般を指す 特殊拡張文字をイベント先頭で使用する場合は対象指定コードを置かないとバグる | ||||
標準文字 | 20 | xx | 2 | xx: 00-AFは単バイト指定<50>~<FF>に対応 |
21 | xx | 2 | ||
22 | xx | 2 | ||
23 | xx | 2 | xx: 00-09=数字0~9 | |
4F2A | LL HH | 4 | $7E/HHLL[2]を文字コードとして表示(拡張文字不可、単バイトを2つ記述しても最初の1文字だけ表示) | |
50 | -- | 1 | 空白(イベント以外では改行指定や終端用など制御用途でも使われる) | |
51~FF | -- | 1 | <2001>~<20AF>の文字が割り当てられる(スタッフロールでは別のパターンを使用) | |
拡張文字 | 18 | xx | 2 | RS3.12拡張(xx=10-FF) ※文字領域変更.ipsを適用後は00-0Fも使用可(メニュー画面のみ) |
30 | xx | 2 | ロマ東方拡張(xx=10-FF) ※文字領域変更.ipsを適用後は00-0Fも使用可(メニュー画面のみ) | |
46 | xx | (2) | ロマ東方拡張2(メニュー画面用/イベント使用不可) ※要パッチ: 文字領域変更.ips | |
49 | xx | (2) | ロマ東方拡張2(メニュー画面用/イベント使用不可) ※要パッチ: 文字領域変更.ips | |
特殊拡張文字(イベント使用のみ可) | 0D5F | xx | 3 | ロマ東方拡張 |
46 | LL HH uu | (4) | 文字データアドレス直指定($uu/HHLL) ※主人公追加パッチ(v048以降)専用 | |
0D64 | LL HH uu | (5) | 文字データアドレス直指定($uu/HHLL) ※主人公追加パッチ専用(v048で廃止) | |
パーティキャラ名 | 39 | 0n | 2 | n=0(主人公)~5(控え) |
人物名 | 4A | xx | 2 | xx=キャラID |
4F2F | mm | 3 | $7E/EFmm[1]=キャラID | |
アイテム名 | 3A | mm | 2 | $7E/EFmm[1]=標準アイテムID(0XX) |
0D06 | mm | 3 | $7E/EFmm[1]=拡張アイテムID(1XX) | |
肩書き | 4F15 | mm | 3 | $7E/EFmm[1]=肩書きID(20-FFは地名IDの00-DFと共用) |
地名 | 3B | xx | 2 | 80-DBは肩書き用途で使用 |
現在地 | 4F11 | -- | 2 | ステータス画面に出ている地名 |
モンスター名 | 4F12 | mm | 3 | $7E/EFmm[1](000-0FF) |
技名 | 4F13 | mm | 3 | $7E/EFmm[2](000-0FF=味方技, 100-1FF=敵技術, 200-23F=陣形技) |
陣形名 | 4F14 | mm | 3 | $7E/EFmm[1] |
味方術名 | 0D2D | mm | 3 | $7E/EFmm[1] |
酒場イベント名 | 0D15 | mm | 3 | $7E/EFmm[1] |
数値(dec) | 4F43 | mm | 3 | $7E/EFmm[1]の値(0~255, パディングなし) |
3D | HH LL | 3 | $7E/HHLL[1]の値(0~255, パディングあり) ※OPRはBE指定なので注意 | |
3E | HH LL | 3 | $7E/HHLL[2]の値(0~65535, パディングあり) ※OPRはBE指定なので注意 | |
44 | -- | 1 | $7E/EF01[3]の値(0~999999, パディングあり) | |
0D2F | -- | (2) | ロマ東方では未実装 |
制御系
内容 | Code | Size | 備考 | |
改行 | 24 | -- | 1 | 横幅いっぱいまで文字を表示して実行すると二重改行になる |
ウェイト | 2B | tt | 2 | tt=待ち時間(フレーム単位?) |
ボタン待機 | 2C | -- | 1 | ボタン(十字&SELECT以外)を押すと続きを実行、文字表示中はイベント終了コード(<2E>/<43>)実行時もこの処理が入る |
文字色の切替(白⇔青) | 2D | -- | 1 | 実行毎に切り替わる(イベント終了でリセット) 文章の先頭で使用する場合は対象指定(<28>/<29>)しないと効果が出ない |
次の文字表示位置を変更 | 3F | yx | 2 | y: 表示行を[y/2]段下にずらす(値が大き過ぎると文字が枠外にはみ出てイベント終了後も表示されたままになる) x: F=次の文字を[(y+1)/2]段下の先頭から表示, 0-E=次文字との間に非文字単位の空白(状況次第で文字が枠に重なる) yx: 1F=次行, 3F=2行下, 5F=3行下(…以下略)の先頭から表示(改行が入ると本来の位置から表示し直す、既に表示された文字は上書きされる) |
選択肢処理開始 | 25 | -- | 1 | |
選択肢記述 | 26 | -- | 1 | 次の<26>の直前に改行<24>を入れること |
選択肢処理終了 | 27 | -- | 1 | キャンセル時は一番下の選択肢の内容を実行 |
31 | -- | 1 | キャンセル不可 | |
選択肢共通処理終了 | 2F | {pp qq} | 1+2x | {ppqq}を選択肢の数量分(<26>を置いた数)記述する |
nnバイトスキップ | 4E | nn | 2 | 条件分岐後のスキップでジャンプ解除、nn=00だとスキップしないので事実上のNOP |
何もしない | 46 | -- | 1 | ぼくの(略)パッチと主人公追加パッチ(v048以降)では文字表示 |
4F4F | -- | 2 | いわゆるNOP | |
文章表示の対象指定 | 28 | -- | 1 | 自分のウィンドウ |
29 | -- | 1 | 相手のウィンドウ | |
発言者番号を指定 | 4B | xx | 2 | xx: 80=主人公 |
会話対象指定 | 0D48 | xx | 3 | xx: 81~有効 |
会話ウィンドウ設定 | 4F1D | -- | 2 | 大:15字×4行 |
4D | -- | 1 | 中:10字×3行 | |
4F1A | -- | 2 | 小:9字×2行 | |
4F1B | -- | 2 | 微:6字×1行, 画面更新前にあるとちらつき防止? | |
ウィンドウモード設定 | 4F24 | -- | 2 | 心の声 |
4F25 | -- | 2 | 心の声解除 | |
174D | -- | 2 | テロップ(会話ウィンドウ消失) | |
174E | -- | 2 | テロップ解除 | |
ウィンドウを座標(xx,yy)に表示 | 3C | xx yy zz | 4 | zz: ウィンドウ種類(29以降はフリーズ, +80h=不明) 20=13字×10行 21=5字×11行(左枠に突起あり) 22=15字×4行 23=10字×3行 24=6字×6行(上下余白少・枠の右隅が欠ける) 25=9字×6行(上下余白少) 26=6字×1行 27=12字×10行(上下余白少) 28=17字×12行(枠の四隅が欠ける) |
ウィンドウのポイント先を調整 | 4F30 | xx yy | 4 | |
ウィンドウがキャラの移動に連動 | 4F33 | -- | 2 | |
ウィンドウ内の文字全消去 | 4F40 | -- | 2 | |
ウィンドウ閉じる | 2A | -- | 1 | 入力待ちなどはなく即時反映 |
持ち物
アイテム
内容 | Code | Size | 備考 | |
[OPC] 上段=標準アイテム(0ii), 下段=拡張アイテム(1ii) [OPR] ii=アイテムID(LSB) | ||||
指定アイテムを持っていればppqqを実行 | 4F0F | ii pp qq | 3+2 | |
0D09 | ii pp qq | |||
指定アイテムが倉庫にあればppqqを実行 | 0D0F | ii pp qq | 3+2 | |
0D10 | ii pp qq | |||
指定アイテムを入手してppqqを実行 | 42 | mm pp qq | 2+2 | $7E/EFmm[1]=アイテムID, 持てない場合はppqqを無視 |
0D07 | mm pp qq | 3+2 | ||
所持中のアイテムを1つ消費 | 4F57 | ii | 3 | |
0D0C | ii | |||
所持中のアイテムを全消費 | 4F0E | ii | 3 | |
0D08 | ii | |||
装備中のアイテムを全消費 | 4F44 | ii | 3 | |
0D0A | ii | |||
倉庫のアイテムを1つ消費 | 0D43 | ii 0y | 4 | yii=アイテムID |
倉庫のアイテムを全消費 | 0D0D | ii | 3 | |
0D0E | ii | |||
倉庫のアイテムを指定数増やす | 4F50 | -- | 2 | $7E/EF00[1]=アイテムID, $7E/EF01[1]=個数(MAX:99=63h) |
0D0B | -- | |||
全アイテムを倉庫に入れる | 4F26 | -- | 2 | |
全アイテムを倉庫から1個取り出す | 4F27 | -- | 2 |
オーラム
内容 | Code | Size | 備考 | |
所持金が1万オーラム未満ならppqqを実行 | 49 | pp qq | 1+2 | 使用箇所なし |
所持金が$7E/EF00[2]値以上ならppqqを実行 | 4C | pp qq | 1+2 | pp=08,2E,43,4E以外なら拡張イベントコードとして処理 |
ロアーヌ国庫資金が$7E/EF01[4]値以上ならppqqを実行 | 4F32 | pp qq | 2+2 | |
所持金を増やす | 4F19 | -- | 2 | $7E/EF01[3]=加算値 |
所持金を減らす | 4F10 | -- | 2 | $7E/EF00[2]=減算値 |
ロアーヌ国庫資金を増やす | 4F38 | -- | 2 | $7E/EF01[4]=加算値 |
ロアーヌ国庫資金を減らす | 4F3C | -- | 2 | $7E/EF01[4]=減算値 |
宿屋の代金計算 | 0D34 | xx | 3 | |
銀行残高とロアーヌ国庫資金の値を入替 | 0D3D | -- | 2 | $7E/F31C[4]⇔$7F/FFD2[4] |
ロアーヌ国庫資金の表示指定 | 4F3D | -- | 2 | 万単位 |
4F3E | -- | 2 | 億単位 |
オブジェクト
仲間
内容 | Code | Size | 備考 | |
主人公のキャラIDがxxならppqqを実行 | 0D36 | xx pp qq | 3+2 | |
主人公のコスプレIDがxxならppqqを実行 | 0D42 | xx pp qq | 3+2 | 要パッチ?(最小構成ではオフセット未定義) |
主人公の口調パターンがi~jならppqqを実行 | 0D38 | ij pp qq | 3+2 | |
パーティメンバー全員が全快ならppqqを実行 | 4F42 | pp qq | 2+2 | |
指定キャラを会話対象に指定してppqqを実行 | 0D45 | gg pp qq | 3+2 | OPC: 0D45=標準画像, 0D46=拡張画像, 0D47=仮装画像 指定キャラが存在しなければppqqを無視, イベントコードで追加したキャラには無効 |
0D46 | gg pp qq | |||
0D47 | gg pp qq | |||
共通処理イベント(口調) | 0D5E | xx | 3 | |
主人公の口調を再設定 | 0DA0 | -- | 2 | |
指定キャラのパーティ位置を調べる | 4F34 | xx | 3 | xx=キャラID, $7E/EF00[1]に順(0-5)+80hの値(キャラが存在しなければFF)が入る |
パーティ先頭キャラ(主人公)をパーティ末尾へ移動 | 0D37 | -- | 2 | |
指定パーティ位置の仲間にアイテムyiiを装備 | 0D11 | mm 0n ii 0y | 6 | $7E/EFmm[1]=パーティ内位置, n=装備欄(0-3:武器, 4-7:防具) |
主人公の武器1を外す | 4F4C | -- | 2 | |
指定キャラが仲間にいれば装備を全てはずす | 4F51 | xx | 3 | xx=キャラID |
陣形上のキャラの配置を設定 | 4F31 | va vb vc vd ve vf | 8 | va:主人公~vf:6人目, 00-05(配置番号)/FF(存在しない) |
パーティメンバー全員を全回復 | 4F06 | -- | 2 | |
仲間加入処理 | 1726 | -- | 2 | |
仲間離脱処理 | 1727 | -- | 2 | |
LP0キャラを離脱 | 1762 | -- | 2 | LP0キャラの仲間フラグをFにしてパーティから消す |
LP0キャラを復活 | 4F52 | -- | 2 | 仲間フラグをF→0にする処理 |
画像
内容 | Code | Size | 備考 | |
キャラクター操作を実行 ($7E/EF00[X]に行動パターンを設定) | 171F | -- | 2 | イベント終了後に反映 |
1720 | -- | 2 | 即時反映 | |
キャラを表示 | 172E | -- | 2 | OPC: 172E=標準画像, 0D3B=拡張画像, 0D3E=仮装画像 $7E/EF00[4]:<gg xx yy 0z>(gg=画像ID, xxyy=表示座標, z=向き) |
0D3B | -- | |||
0D3E | -- | |||
主人公の居る場所にパーティ内キャラを出現させる | 4F55 | 01 | 3 | $7E/EF00[1]=対象キャラのパーティ内位置, <40000n><4F5501><172C> |
主人公の歩行画像を変更 | 1721 | -- | 2 | $7E/EF00[2]:<nn gg>(nn=対象, gg=画像ID) 例:<41008084><1721>で主人公が神王教徒に変化=ローブ購入時の処理 |
主人公の歩行画像を元に戻す | 0D41 | -- | 2 | |
話相手に合流(2倍速) | 1724 | -- | 2 | $7E/F318[1]=主人公の歩行画像ID |
話相手に合流(2倍速) | 1725 | -- | 2 | $7E/F318[1]=主人公の歩行画像ID, <1724>との違いは? |
最後の一人離脱 | 1728 | -- | 2 | |
実行時点での主人公の位置に残像が残る | 174F | -- | 2 | |
対象が徐々に消える | 176D | -- | 2 | $7E/EF00[1]=対象イベントID, 聖杯イベント時のレオニードが消えるエフェクト |
対象の体が光る | 177B | -- | 2 | $7E/EF00[1]=対象イベントID, アビスでの回復時のエフェクト |
フラッシュ | 173C | -- | 2 | マップパーツの一部の色が変化? |
マップパーツが光る | 1748 | -- | 2 | カタリナ・ミカエルオープニングイベントで使用 |
マップパーツが変化? | 1752 | -- | 2 | カタリナオープニングイベントで使用, おそらく鏡が抜け道になるエフェクト? |
マップパーツが変化? | 1753 | -- | 2 | |
マップパーツが変化? | 176E | -- | 2 | バンガードの発進イベントで使用 |
1~2秒後マップパーツが変化 | 1781 | -- | 2 |
メモリ
汎用フラグ
内容 | Code | Size | 備考 | |
[OPC] 上段=標準フラグ(000-0FF), 中段=拡張フラグ1(100-1DF), 下段=拡張フラグ2(200-2FF) | ||||
フラグ値がi~jの範囲ならppqqを実行 | 33 | zz ij pp qq | 3+2 | |
0D00 | zz ij pp qq | 4+2 | ||
0D50 | zz ij pp qq | |||
フラグ値が備考欄記載の条件に合致すればppqqを実行 | 34 | zz xv pp qq | 3+2 | x=0: フラグ値とvのAND演算結果が0以外(フラグ値のv指定bitのどれかが1) x=8: フラグ値とvのAND演算結果が0(フラグ値のv指定bitがすべて0) |
0D01 | zz xv pp qq | 4+2 | ||
0D51 | zz xv pp qq | |||
フラグ値変更(bit演算) | 35 | zz xv | 3 | x=0: フラグ値とvのAND演算(任意bitを0にする用途) x=8: フラグ値とvのOR演算(任意bitを1にする用途) |
0D02 | zz xv | 4 | ||
0D52 | zz xv | |||
フラグ値変更(即値) | 36 | zz 0v | 3 | |
0D03 | zz 0v | 4 | ||
0D53 | zz 0v | |||
フラグ値変更(+1) | 37 | zz | 2 | |
0D04 | zz | 3 | ||
0D54 | zz | |||
4F36 | mm | 3 | $7E/EFmm[1]=標準フラグID, +1の結果が8以上なら0に設定 | |
フラグ値変更(-1) | 38 | zz | 2 | |
0D05 | zz | 3 | ||
0D55 | zz | |||
フラグ値変更(メモリ値) | 4F2C | mm zz | 4 | $7E/EFmm[1]の下位4bit値をフラグ0zzに書込 |
0D5C | zz 0y mm | 5 | $7E/EFmm[1]の下位4bit値をフラグyzzに書込 | |
フラグ値をメモリに書込 | 4F4E | zz mm | 4 | $7E/EFmm[1]=フラグ0zzのonになっているbit数 |
4F2B | zz mm | 4 | $7E/EFmm[1]=フラグ0zzの値 | |
0D5B | zz 0y mm | 5 | $7E/EFmm[1]=フラグyzzの値 | |
フラグ値がi~jの範囲ならxxバイトジャンプの判定をnn回繰り返す | 0D5D | zz 0y nn {ij xx} | 5+2x | {ij xx}をnn回記述 フラグ以外の値を判定する場合はフラグ0B0に代入して判定 |
メモリ/他フラグ
内容 | Code | Size | 備考 | |
*印はポインタ(目的の値(A)が格納されているアドレス値)→(A)が$7E/EF03にあるなら$7E/EFmm[2*]:<03 EF>となる | ||||
$7E/EFmm[1]の値がxxと同値ならppqqを実行 | 45 | mm xx pp qq | 3+2 | |
$7E/EFmm[1]の値がxx以上ならppqqを実行 | 0D3A | mm xx pp qq | 4+2 | |
$7E/EFmP[1]と$7E/EFmQ[1]が同値ならppqqを実行 | 4F56 | mP mQ pp qq | 4+2 | |
$7E/F46A+yy[1]の値がxx未満ならppqqを実行 | 4F21 | yy xx pp qq | 4+2 | yy: 00-7F=標準フラグ, 80-9F=宝箱フラグ, A0-C7=陣形・技極意などのフラグ, C8-D8=モンスターLv, DC=フィールドBGM番号, DD[4]=戦闘突入回数, E1[4]=戦闘終了回数, E5=パーティ外仲間データ数 |
術極意があればppqqを実行 | 0D2A | mm pp qq | 3+2 | $7E/EFmm[1]=術ID |
術極意を習得 | 0D2B | mm | 3 | $7E/EFmm[1]=術ID |
術極意を消去(ロマ東方では未実装) | 0D2C | mm | (3) | $7E/EFmm[1]=術ID |
宝箱フラグON | 47 | -- | 1 | $7E/EF00[2]=宝箱フラグIDと標準アイテムID |
宝箱フラグOFF | 4F46 | -- | 2 | $7E/EF00[2]=宝箱フラグIDと標準アイテムID(使用箇所なし) |
画像フラグ変更($7E/EFF7[1]にxxを書込) | 0D3F | xx | 3 | xx: 00=標準画像, 01=仮装画像, FF=拡張画像 ※<40F7xx>でも同じ意味 |
パーティ人数を$7E/EFmmに書込 | 0D35 | mm | 3 | ‥‥と見せかけて実際は2バイト先のアドレス+パーティ人数が入る $7E/EFmm[3]:<MM EF 0Y>(MM=mm+2, Y=パーティ人数) |
メモリ汎用領域に指定値を書込 | 40 | mm xx | 3 | $7E/EFmm[1]:<xx>(1バイト書込) |
41 | mm xx yy | 4 | $7E/EFmm[2]:<xx yy>(2バイト書込) | |
48 | mm nn {VV} | 3+1x | $7E/EFmm[nn]:<VV...>(任意バイト書込, {VV}をnnの数量分記述) | |
4F20 | yy mR | 4 | $7E/EFmR[1]=$7E/F46A+yy[1](詳細は<4F21..>の備考欄) | |
4F3B | mm mR | 4 | $7E/EFmR[1]=$7E/EFmm[2*] | |
0D39 | mm mR | 4 | $7E/EFmR[1]=$7E/EFmm[2*], <4F3B>との違いは? | |
メモリ汎用領域に演算結果を書込 | 4F17 | zz xx mR | 5 | $7E/EFmR[1]←フラグ0zz値とxxの和 |
4F22 | mP mQ mR | 5 | $7E/EFmR[2]=$7E/EFmP[1]と$7E/EFmQ[1]の和 | |
4F23 | mP mQ mR | 5 | $7E/EFmR[2]=$7E/EFmP[1]と$7E/EFmQ[1]の積 | |
4F28 | mP mQ mR | 5 | $7E/EFmR[1]=$7E/EFmP[1]と$7E/EFmQ[1]の差(結果が0以下なら0) | |
4F3F | mR | 3 | $7E/EFmR[1]=乱数(00-FF) | |
メモリに書込(取扱注意) | 4F2E | mm xx | 4 | $7E/EFmm[2*]にxxを加算 |
4F45 | mm mR | 4 | $7E/EFmR[2*]←$7E/EFmm[1] | |
0D30 | mX mY | 4 | $7F/F9mX[1]←$7F/FFmY[1] | |
0D31 | mY mX | 4 | $7F/FFmY[1]←$7F/F9mX[1] |
その他
各種画面を呼出
内容 | Code | Size | 備考 | |
主人公選択 | 1714 | -- | 2 | 選択完了で元の画面に戻る(ゲーム中に実行すると途中から主人公を変えられるが‥‥?) |
セーブ&ロード | 1713 | -- | 2 | |
ステータス | 1712 | -- | 2 | |
術屋 | 0F | xx | 2 | |
店 | 1B | xx | 2 | |
倉庫 | 1716 | -- | 2 | |
トレードエージェント | 13 | xx | 2 | |
1710 | -- | 2 | メモリ参照? | |
マスコンバット戦術設定 | 1C | xx | 2 | |
トーナメント対戦表 | 1717 | -- | 2 | <480005:v0v1v2v3v4><4F45:0001><1717> |
場面
内容 | Code | Size | 備考 | |
オープニングデモ | 4F0B | -- | 2 | 全滅時や「LRスタセレ」の処理 |
タイトル画面 | 1763 | -- | 2 | |
スタッフロール | 171B | -- | 2 | |
眠りに落ちる‥→暗転 | 175C | -- | 2 | 夢魔イベントで薬飲んだときの動作 |
地震 | 1730 | -- | 2 | |
バンガード移動(到着) | 1771 | -- | 2 | |
バンガード移動(出発) | 1772 | -- | 2 | |
空を飛んでる場面 | 175E | -- | 2 | グゥエイン共闘イベント |
敵画像が徐々に拡大 | 175D | -- | 2 | 四魔貴族影の戦闘突入時エフェクトの一部($7E/EF00[2]=対象敵ID) |
破壊するもの暴走→ワールドマップ消滅 | 1719 | -- | 2 | |
エンディングのマップ移動 | 171A | -- | 2 | 空飛んでる感じ |
画面処理・エフェクト
内容 | Code | Size | 備考 | |
画面更新 | 4F0C | -- | 2 | マップワープ設定の1バイト目が+80hしてあればワープ後必要 |
画面更新? | 1705 | -- | 2 | |
画面更新?(一瞬ちらつく) | 1747 | -- | 2 | カタリナオープニングイベントで使用 |
画面暗転 | 4F0D | -- | 2 | フェードアウト |
174B | -- | 2 | フェードアウトではなく瞬間的に | |
1774 | -- | 2 | 徐々に暗転、<1775>で元に戻る | |
暗転からの復帰 | 1775 | -- | 2 | |
画面明るさ調節 | 4F35 | xx | 3 | xx=E0(通常)-E8(半分程度) |
画面フラッシュ | 4F37 | -- | 2 | ぼくの(略)専用? |
画面が光る | 4F4A | -- | 2 | |
画面が白くなる | 4F4B | -- | 2 | |
画面全体が下にずれる | 1743 | -- | 2 | カタリナオープニングイベントで使用 |
画面全体が右にずれる | 1744 | -- | 2 | |
画面全体が振動 | 173B | -- | 2 | 地震とはちょっと違う感じ |
背景が左右に揺れる? | 1755 | -- | 2 | |
背景が横にずれる | 1757 | -- | 2 | バンガード発進イベントで使用 |
背景レイヤーだけが波打つ | 1750 | -- | 2 | |
レイヤー2が上方向にずれる | 176C | -- | 2 | バンガードサブマリンモード(マップパーツの色も一部変化?) |
レイヤー2が下方向にずれる | 1773 | -- | 2 | バンガードサブマリンモード(マップパーツの色も一部変化?) |
通常戦闘開始 | 1733 | -- | 2 | |
表示範囲拡大 | 1735 | -- | 2 | 画面中心から円状に拡大していく |
表示範囲拡大 | 1760 | -- | 2 | 画面中心から円状に拡大していく |
表示範囲縮小 | 1736 | -- | 2 | 画面端から円状に縮小していく |
画面中央から素早く横に割れる | 1737 | -- | 2 | ギザギザ |
画面中央から素早く縦に割れる | 1738 | -- | 2 | |
画面中心から縦に画面が割れた後ホワイトアウト | 175F | -- | 2 | |
画面全体に横波 | 1739 | -- | 2 | |
画面全体に縦波 | 1740 | -- | 2 | |
画面が上下にギザ割れ→徐々に暗転 | 177C | -- | 2 | |
画面が左右にギザ割れ→徐々に暗転 | 177D | -- | 2 | |
画面中心線(水平)に向かって背景が吸い込まれる→徐々に暗転 | 177E | -- | 2 | |
横波エフェクト→徐々に暗転 | 1780 | -- | 2 | |
アビスゲートを開く | 173A | -- | 2 | |
アビスでのワープ時 | 1778 | -- | 2 | $7E/EF00[1]=ワープ対象, 音は出ないので直前に<1EAA>を実行 |
システム
内容 | Code | Size | 備考 | |
フラグ完全初期化 | 1722 | -- | 2 | 汎用領域($7E/EFXX)は消去されない |
システムデータを$7F/F900~に読込 | 0D3C | -- | 2 | $7F/F9XXはエンディングの移動シーンで使われるため |
引き継ぎ処理用イベントコード | 0D40 | 0v | 3 | v=0~B ※要パッチ[引き継ぎv2.ips] |
tt秒(0~10)の間エンカウント抑制 | 0D44 | tt | 3 | ※要パッチ[再エンカウント抑制.ips] |
デバッグモード選択 | 1711 | -- | 2 | オンにすると現在位置のXY座標(hex)/???/サブマップID/メモリ内容($7E/EF00[4])を表示 |
でばっぐイベント用途 | 30 | -- | 1 | <0BFB>で使用, 条件分岐? |
4F00 | xx | 3 | <0B{FA-FE}>で使用, メモリ内容をdec3桁表示? | |
4F01 | xx | 3 | <0B{FA-FE}>で使用, メモリ内容をdec5桁表示? | |
4F02 | xx | 3 | <0B{FA-FE}>で使用, メモリ内容をbin8桁表示? | |
4F18 | xx | 3 | <0BFB>で使用(xx=18のみ), メモリ内容をhex4桁表示? | |
4F03 | xx yy | 4 | <0B{FA-FE}>で使用, 詳細不明 |
詳細不明
内容 | Code | Size | 備考 | |
? 不明 | 4F08 | xx | 3 | <05F4><0637>で使用 |
? 不明 | 4F1E | xx yy | 4 | 施政イベントなど20箇所で使用 |
? 不明 | 4F41 | xx | 3 | 画面暗転する(<0758><0870>で使用) |
? 不明 | 4F4D | xx yy | 4 | 6箇所で使用 |
? 使用箇所なし | 4F04 | -- | 2 | |
? 使用箇所なし | 4F05 | -- | 2 | |
? 使用箇所なし | 4F1C | ?? ?? | 4 | |
? 使用箇所なし | 4F2D | ?? | 3 | |
? 使用箇所なし | 4F39 | ?? | 3 | |
? 使用箇所なし | 4F47 | ?? | 3 | |
? 使用箇所なし | 4F48 | -- | 2 | |
? 使用箇所なし | 4F49 | -- | 2 | |
? 使用箇所なし | 4F53 | -- | 2 | |
? 使用箇所なし | 4F54 | ?? | 3 | |
? 未確認 | 1723 | -- | 2 | |
? 未確認 | 1729 | -- | 2 | |
? 未確認 | 172A | -- | 2 | |
? 未確認 | 172B | -- | 2 | |
? 不明 | 172C | -- | 2 | 調査時はなぜかイルカが出現(おそらく指定した画像IDのキャラを特定位置に出現させる処理?) |
? 不明 | 172D | -- | 2 | <0B45>で使用 |
? 未確認 | 172F | -- | 2 | |
? 未確認 | 1731 | -- | 2 | |
? 未確認 | 1732 | -- | 2 | |
? 未確認 | 1734 | -- | 2 | |
? 未確認 | 173D | -- | 2 | |
? 未確認 | 173E | -- | 2 | |
? 未確認 | 173F | -- | 2 | |
? 未確認 | 1741 | -- | 2 | |
? 未確認 | 1742 | -- | 2 | |
? 未確認 | 1745 | -- | 2 | |
? 未確認 | 1746 | -- | 2 | |
? 不明 | 1749 | -- | 2 | 1秒くらいウェイトが入る |
? 未確認 | 174A | -- | 2 | |
? 未確認 | 174C | -- | 2 | |
? 未確認 | 1751 | -- | 2 | |
? 未確認 | 1754 | -- | 2 | |
? 未確認 | 1756 | -- | 2 | |
? 未確認 | 1758 | -- | 2 | |
? 未確認 | 1759 | -- | 2 | |
? 未確認 | 175A | -- | 2 | |
? 未確認 | 175B | -- | 2 | |
? 未確認 | 1761 | -- | 2 | |
? 未確認 | 1766 | -- | 2 | |
? 未確認 | 1767 | -- | 2 | |
? 未確認 | 1768 | -- | 2 | |
? 未確認 | 1769 | -- | 2 | |
? 未確認 | 176A | -- | 2 | |
? 未確認 | 176B | -- | 2 | |
? 未確認 | 176F | -- | 2 | |
? 未確認 | 1770 | -- | 2 | |
? 不明 | 1776 | -- | 2 | 4つ目のゲート閉じるイベントで使用 |
? 不明 | 1777 | -- | 2 | 4つ目のゲート閉じるイベントで使用, 1秒くらいウェイトが入る |
? 未確認 | 1779 | -- | 2 | |
? 未確認 | 177A | -- | 2 | |
? 未確認 | 177F | -- | 2 | |
? 不明 | 1782 | -- | 2 | ラストバトル直前のイベント3箇所で使用 |