メモリ一覧
SFC/SNESでのゲームの内部動作に関わるメモリアドレスと数値の内容について調査した結果を適宜載せていきます。
なお、サイズ2~の場合はリトルエンディアンでの解釈を基本とします。例えば、アドレス 7e0212 の2バイトデータが320(0x140)というのは、7e0212のバイトが0x40、7e0213のバイトが0x1であることを表します。
RAMおよびROMに分けて整理します。
なお、サイズ2~の場合はリトルエンディアンでの解釈を基本とします。例えば、アドレス 7e0212 の2バイトデータが320(0x140)というのは、7e0212のバイトが0x40、7e0213のバイトが0x1であることを表します。
RAMおよびROMに分けて整理します。
RAM
| アドレス (16進) |
サイズ (byte) |
値・意味 | 備考 | |
|---|---|---|---|---|
| bank | 下位 | |||
| 7e | 7a | 2 | 姿勢変更キャラグラ種 | コマンド5,6の対象になるキャラのグラフィック種別(80b3ae~の値) |
| 7e | 0114 | 2 | 初期処理済フラグ | プロローグ開始直後の初期化処理が終了したら1 |
| 7e | 0180 | 2 | フレーム処理終了フラグ1 | 処理が乱数更新に到達すると1をセット 以降NMI(VBlank)ルーチン内でゼロクリアされるまで、乱数更新継続のフラグとして利用 |
| 7e | 0182 | 2 | フレーム処理終了フラグ2 | イベントトップ処理ルーチン0x81c440内での無限ループ用 NMI(VBlank)ルーチン内で更新される 上限値の7e03eeはゲーム通じて1で固定されている |
| 7e | 0186 | 2 | 画面輝度 | $2100(INIDISP)で設定する輝度(0~15) 画面フェードイン/アウト処理用のカウンターも兼ねる |
| 7e | 0188 | 2 | メインスクリーン | 212cに指定するメインスクリーン |
| 7e | 018a | 2 | CGRAM更新フラグ | 7e0800~のCGRAMデータを更新し、V-Blank時に反映する場合に非0をセット |
| 7e | 018c | 2 | VRAM更新キュー長 | 7e018e~のキューに格納されてる更新データ数 |
| 7e | 018e~01bd | (1+2)x16 | VRAM更新キュー | 最大16個の更新データ データの先頭アドレス(DB+下位アドレス)の配列 |
| 7e | 01be | 2 | 固定値 | 最初に0が設定されたままおそらく使用されない |
| 7e | 01c0 ~ 01c7 |
2x4 | コントローラ状態 | 各ワードはAXLR____BYsSudlrのボタンに対応 ※s,Sはselect,start、udlrは十字キー↑↓←→ 前半2ワードは、コントローラ1,2のキー状態、 後半2ワードはコントローラ1,2のプレスされたキー状態 ただし、処理に応じてマスク等加工される |
| 7e | 01c8 | 2 | 未使用OAM先頭 | 0c00~の先頭16個のOAMのうち、未使用のものの先頭アドレス |
| 7e | 01cc | 2 | 固定値 | 255で固定 |
| 7e | 01ce ~ 01d5 |
2,… | 乱数 | 毎フレームの空き時間を利用して進める擬似乱数 ワード単位で使うが、奇数アドレス開始もある 乱数の変化は他の処理時間に依存するため予測困難 |
| 7e | 01d6 | 2 | フレームカウント(bf) | ポーズ中含め、フレーム数(bf単位)をカウントする |
| 7e | 01d8,a | 2x2 | スクロール量 | BG1水平/垂直スクロール量 主人公の地図上のx,y座標(px単位に切り捨て)から表示上のx,y座標の差? |
| 7e | 01dc,e | 2x2 | スクロール量 | BG2水平/垂直スクロール量 |
| 7e | 01e0,2 | 2x2 | スクロール量 | BG3水平/垂直スクロール量 |
| 7e | 01e4,6 | 2x2 | スクロール量 | BG4水平/垂直スクロール量 |
| 7e | 01e8 | 2 | ゲーム状態 | サブルーチン0x80a22fでの状態制御用 OPデモ時は0、OPストーリー時は1、プロローグからは2の値を取る ゲームオーバー後ボタンを押すと一瞬4の値をとり0に戻る |
| 7e | 01ea | 2 | 非キャラスプライト保留フラグ | 非ゼロの場合、0~15のスプライトを保持する |
| 7e | 01ec~01f9 | 2x7 | キャラ毎スプライト数 | キャラ(最大7人)の表示用に使用しているスプライト数 |
| 7e | 01fa | 2 | 未使用OAM上限 | サブルーチン0x809ba9で非表示にするスプライトの上限 0cxxを指定した場合は非キャラ用だが、0e00を指定した場合キャラ用を全非表示 |
| 7e | 01fc | 2 | 画面モード | SFCの画面モードを保持する。通常は回転のある7 |
| 7e | 01fe | 2 | 固定値 | 0x10で固定、$2105のBGモードとして使用 |
| 7e | 0200,2 | 2x2 | スクリーンモード | $2133に設定する値2種類、0もしくは拡張モード7用の0x40 7e0210によってどちらを選択するか変える |
| 7e | 0204,6 | 2x2 | メインスクリーン | $212cに設定する値2種類 7e0210によってどちらを選択するか変える |
| 7e | 0208 | 2 | キャラデータ領域設定 | 210bに指定するBG1,2キャラデータ領域設定値 |
| 7e | 020a | 2 | タイルマップアドレス・サイズ | 2107に指定するBG1タイルマップアドレスとサイズ |
| 7e | 020c | 2 | 色計算指定 | 2131に指定する値 |
| 7e | 020e | 2 | BGモード指定 | 2105に指定するBGモード・キャラクタサイズ設定値 |
| 7e | 0210 | 2 | ビデオ設定値選択 | H-BLANK時に設定する値を切り替えるフラグ |
| 7e | 0212 | 2 | 船の傾き(0~511) | 転覆前を基準として、時計回りに360°/512単位で管理 ※例えば転覆直後は0x100、ボイラー爆発直後の反時計+67.5°は0x0a0 0x20単位(22.5°相当)で変化 |
| 7e | 0214 | 2 | 傾き変化量 | 傾きの際±32(反時計回りが正)が設定され、1ずつ変化して7e0212の変化に反映される |
| 7e | 021a | 2 | 同行者人数 | 主人公も含めた同行者の人数 ※ロスト状態のキャラは含まない |
| 7e | 021c~021f | 2x2 | 表示人数 | NPC等含めた画面上の表示人数、7人が上限 2要素目はその前フレームでの値 |
| 7e | 0220 | 2 | 進行度切り替えフラグ | 転覆前後、爆発前後の変化の管理用。 転覆直後に0→-1、爆発直後に-1→1と変化 |
| 7e | 0222 | 2 | 地形データロードフラグ | 0の場合、9fe8aaにおいて処理をスキップする |
| 7e | 0224 | 2 | 微小揺れ段階フレームカウント | 7e0228の段階が移るまでのbf数 |
| 7e | 0226 | 2 | 揺れ制御フラグ | 0x8000を設定すると船が小刻みに振動する |
| 7e | 0228 | 2 | 微小揺れ段階 | 84bf周期の上下微小揺れ、0~30の偶数16段階 0,16が中央(±0px)、8が下限(-4px)、24が上限(+4px) |
| 7e | 022a,c,e | 2x3 | 微小揺れ制御用 | 微小揺れの制御に関するパラメータだが、ルークプロローグのごく一部以外常に0でほぼ不使用 |
| 7e | 0230,2 | 2x2 | 今いる部屋ID および直前にいた部屋ID |
|
| 7e | 0234~023b | 2x2x2 | 戻り座標 | 入口が複数ある場所に入った時の戻り座標(16px単位) x,y座標の組が、船室・トイレ、トイレ個室の2種類分 |
| 7e | 023e | 2 | スクロール分転送先VRAM | $0ea0~を転送する先のVRAMアドレス 転送時は最上位bitを1にする |
| 7e | 0240 | 2 | 主人公左右移動 | 主人公の地図上x座標減少時(船尾側移動時)は0、その他は1 |
| 7e | 0242 | 2 | 前BG水平スクロール量 | 前フレームの7e01daもしくは7e01dcの値 |
| 7e | 0244 | 2 | 表エリア移動フラグ | 表エリア外から表エリアに移動するとき、 あるいは表エリアでミスから復帰する際に一時的に1を設定 |
| 7e | 0248 | 2 | x座標区分 | 256px単位で0~3をローテートする スクロール制御用の値に活用 |
| 7e | 024a | 2 | メッセージID | 実際には下位12bit(0~4095)がIDとして使用される 0x8000の場合は表示終了としてフェードアウトに入る |
| 7e | 024c ~ 028b |
2x32 | メッセージ表示内容 | 1文字1ワード、16文字1行のバッファ2行分 ROMに格納されたバイトコードxに対して 0x1c00+((x&f8)<<2)+((x&7)<<1)で計算後の値 |
| 7e | 028c~0293 | 8 | メッセージ表示VRAM更新データ | 7e018e~のキューに積む更新データ(一定) |
| 7e | 0294 | 2 | メッセージ持続時間 | フェードアウトに移るまでのbf単位の持続時間 |
| 7e | 029c | 2 | チャンク処理有効フラグ | 非ゼロの時のみチャンクからメッセージIDの操作が有効 |
| 7e | 029e | 2 | メッセージフェード度合 | メッセージのフェードイン/アウト時の度合、0~5 $083eに保存する値を参照する際のインデクスとして使用 |
| 7e | 02a0 | 2 | プロンプト用メッセージID | 実際のメッセージID(7c)に+1した値(1 or 2) |
| 7e | 02a2 | 2 | 圧縮データIDベース値 | 8087d7で指定するIDのベース値として加算 場面によっては展開先アドレスを保持するためにも使う |
| 7e | 02a4,6 | 2 | BGスクロール値バックアップ等 | ミスから復帰する際の7e01d8,aのバックアップ しかし他の用途にも用いる(調査中) |
| 7e | 02a8 | 2 | 不明 | 調査中 |
| 7e | 02aa | 2 | 不明 | 調査中 |
| 7e | 02ac~02b3 | 8 | ??用VRAM更新データ | 調査中 |
| 7e | 02b4 | 2 | 不明 | 調査中 |
| 7e | 02b6 | 2 | 不明 | 調査中 |
| 7e | 02b8 | 2 | ループカウンタ | OPデモ,キャラセレでの何らかのループ制御用 |
| 7e | 02ba~02bf | 2x3 | 不明 | 調査中 |
| 7e | 02c0 | 2 | 不明 | 調査中 |
| 7e | 02c2 | 2 | 不明 | 調査中 |
| 7e | 02c4 | 2 | 複数機能 | メッセージのセンタリング位置保持や他の用途で使用する |
| 7e | 02c6 | 2 | OPデモ無効化フラグ | OPデモをボタンで中断すると1がセットされ、OPストーリーが無効化される |
| 7e | 02c8 | 2 | 選択した主人公 | キ/レ/ル/ジの順に0,1,2,3 |
| 7e | 02ca | 2 | 不明 | 調査中 |
| 7e | 02cc | 2 | プロンプトインターバル | プロンプト点滅での非表示bfカウンタ |
| 7e | 02ce | 2 | 非表エリアフラグ? | 表エリア描画している際は0のように見える |
| 7e | 02d0 | 2 | 部屋ID | 0230のコピー |
| 7e | 02d2,4 | 2x2 | 不明 | 調査中 |
| 7e | 02d6~02db | 2x3 | 不明 | 調査中 |
| 7e | 02dc | 2 | チャンク状態 | 0は発現中のチャンク無し、1は次項7e02deのチャンクID決定直後 2はメッセージID変換後を示す |
| 7e | 02de | 2 | メッセージチャンクID またはメッセージID |
チャンク処理時にメッセージIDに置き換わる |
| 7e | 02e0 | 2 | チャンク内残りメッセージ数 | |
| 7e | 02e2 | 2 | ANSWER?プロンプト表示残り回数 | |
| 7e | 02e4,6 | 2x2 | 応答後遷移先チャンクID | ANSWER?に応答/無視した場合の遷移先チャンクID 会話が途切れる場合は0 |
| 7e | 02e8 | 2 | ANSWER?選択結果 | 応答/無視に応じて1/0がセットされる |
| 7e | 02ea | 2 | チャンク処理ステータス | 状況に応じて0~2の値をとる |
| 7e | 02ec | 2 | プロローグ共通メッセージフラグ | プロローグ共通メッセージを使うイベントに対し、 非ゼロ値(0x8000)が設定される。その他は0 |
| 7e | 02ee | 2 | エンディング種別 | 全滅は0、生存者ありで1~3の種別をとる ※転覆した船の画像に対応と推測 |
| 7e | 02f0 | 2 | ポーズ中フラグ | ポーズ中は1、それ以外は0 |
| 7e | 0312 | 2 | 不明 | 調査中 |
| 7e | 0314~031b | 2x4 | 水面計算関連? | 調査中 |
| 7e | 0324 | 2 | 爆発後フラグ | ボイラー爆発が発生し、傾き変化が収まったら1がセットされる |
| 7e | 0326 | 2 | 水面高さ | 水面の高さのpx値、小さい程高水位、1なら全浸水、0xfeなら水なし |
| 7e | 0328 | 2 | 未使用 | 固定値だが参照されない |
| 7e | 032a | 2 | ボイラー室内縦位置 | 8px単位での主人公のy座標数値 スタート地点で129、上の方が小さい |
| 7e | 032c | 2 | 画面境界矢印色 | CGRAMデータ0814に設定する、矢印の最も明るい時の色 |
| 7e | 032e,0330 | 2x2 | 水面基準x座標 | 水面のx座標基準値(px単位)、表エリアとそれ以外 水面はy座標0x[1357]000,x座標がこの値×16の点を通る面として扱われる |
| 7e | 0332 | 2 | 不使用 | 参照されない模様 |
| 7e | 0334 | 2 | 浸水情報バックアップ? | 7e0330のバックアップと推測 |
| 7e | 0336 | 2 | 浸水情報参照用部屋ID | 水面を更新する部屋ID、bf毎に0~56とローテート(56は表エリア扱い) |
| 7e | 0340 | 2 | 不明 | 調査中 |
| 7e | 0342 | 2 | 放電あり場所フラグ | 制御室等、放電演出のある場所で1 |
| 7e | 0344 | 2 | フレームカウント(f) | 揺れの周期管理用に、1bf毎に2増加 周期の始まりで0にリセット |
| 7e | 0346 | 2 | フレームあふれ数 | 7e0344のカウントがオーバーフローしたカウント 特に使用しない |
| 7e | 0348 | 2 | 周期経過数 | 揺れの周期の経過回数、12毎に7e0354の段階進行 傾きパターンB時は12以上でも段階保留 主人公ミス時は+4 段階進行時に0にリセット(12超過分を持ち越さない) |
| 7e | 034a | 2 | 不使用 | 転覆時にランダムに0/1が保存されるが、参照されない |
| 7e | 034c | 2 | 周期フレーム上限1 | 7e0344のフレームカウントが到達すると傾き変化 3600を基準に、-511から+510の幅でランダムに設定される |
| 7e | 034e | 2 | 周期フレーム上限2 | 7e034cの値-600 7e0344のフレームカウントが到達すると揺れ開始 イベント部屋にいる場合はすぐ周期切り替わり |
| 7e | 0350 | 2 | 不使用 | ランダムな初期値が設定されるが参照されない |
| 7e | 0352,3 | 1x2 | 傾き限界 時計回り/反時計回り |
船の傾きの限界を、7e0212の傾きに合わせた形で格納 判定時は0x10倍して用いる 730354の進行度3~0に応じて、前者は0x12→0x14→0x0c→0x0cと変化 ※反時計-22.5°→-45°→+45°→+45°に相当 後者は0x0e→0x0e→0x06→0x04と変化 ※反時計+22.5°→+22.5°→+112.5°→+135°に相当 共にボイラー室では0xffとなる。 |
| 7e | 0354 | 2 | 進行度 | キャラの出現状況やメッセージ表示等に影響 5:OPデモ~ゲーム開始 4:プロローグ 3:ボイラー爆発前前半(転覆後) 2:ボイラー爆発前後半(反時計-45°解禁) 1:ボイラー爆発後前半(2→1変化時に爆発) 0:ボイラー爆発後後半(反時計+135°解禁、ボイラー室に入るまで変化なし) -1:ボイラー室内~エピローグ -2:エンディング(共通) 10:生存者表示 -3:ベストEDエピソード |
| 7e | 0356 | 2 | 表エリアx座標コピー | 7e04e2のコピー(表エリアでのみ更新) |
| 7e | 0358 | 2x2 | CGRAMローテート用バリエーション | 関数0x82a2e4の周期的な更新でのバリエーション(0~7) |
| 7e | 035a,c | 2x2 | CGRAMローテート用カウンタ | 関数82a2e4での周期的な更新のためのカウンタとインターバル(bf単位) |
| 7e | 035e,0360 | 2x2 | CGRAMローテート用オフセット | 関数0x82a2e4でセットするデータの8f8000からのオフセットと初期値 |
| 7e | 0362,4 | 2x2 | パレット参照インデクス | BG用のパレットをローテートさせる際に使用 |
| 7e | 0366 | 2 | パレットローテートカウント | パレットをローテートするタイミング調整用 |
| 7e | 0368 | 2 | 不明 | 調査中 |
| 7e | 036a,c | 2x2 | 不明 | 調査中(ボイラー室関連) |
| 7e | 0370 | 2 | ボイラー室フラグ | ボイラー室入出後だと非ゼロ |
| 7e | 0372~037c | 11 | ??用VRAM更新データ | 調査中 |
| 7e | 037e | 2 | 姿勢変更用状態 | コマンド5,6での施政切り替え状態管理用 |
| 7e | 0380,0382 | 2x2 | 姿勢変更処理用アドレス | 前者が差分データの9e8000からのオフセット、 後者が反映対象のスプライトデータアドレス(0c00~) |
| 7e | 0384,6 | 2x2 | 姿勢変更フレームカウント | コマンド5,6での姿勢切り替え用カウントと初期値 |
| 7e | 0388 | 2 | 地図表示傾き | 地図表示の際の傾きのバックアップに用いる |
| 7e | 038a | 2 | 地図表示サイズ | 標準で32、最大拡大時128 |
| 7e | 038e | 2 | 不使用 | 値が設定されるが参照されない |
| 7e | 0390 | 2 | 案内図表示フラグ | 船内各所の案内図を見ている時は1、他は0 |
| 7e | 0392 | 2 | 開けた扉情報 | 7f8000~の地形データ中、開けた扉のあったデータのオフセット |
| 7e | 0394 | 2 | 場所区分 | 表エリア上層~底層で0~2、その他は3 |
| 7e | 0396 | 2 | ホコリ表示制御カウンタ | 揺れが来た時に出現するホコリ演出を4bfおきに左右反転させるためのカウンタ |
| 7e | 0398,a | 2x2 | 前フレーム座標 | px単位の、地図上のx座標(04d2)および、y座標(下9bitに表示位置補正した01da)のコピー |
| 7e | 039c,e | 2x2 | 不使用 | 毎bf更新されるが参照されない |
| 7e | 03a0 | 2 | ギミック有効フラグ | 0の場合ギミック処理をスキップ |
| 7e | 03a4,6 | 2x2 | ベストEDメッセージカウント | 前者をカウントアップし、後者に到達した時点で一枚絵を表示 |
| 7e | 03a8 | 2 | 水滴の数 | 水滴ギミックのある場所で表示する水滴の数 |
| 7e | 03aa | 2 | 場所種別 | 場所に応じてギミック等が変わるのを扱うための数値 |
| 7e | 03ac | 2 | 落下物反射状態 | 落下物の反射・透過を管理するため0~2の値をとる |
| 7e | 03ae | 2 | ほこり状態 | ギミックのほこりの管理に使用する |
| 7e | 03b0 | 2 | 落下物到達地形 | 落下物の反射を管理するために、直前の到達地形を保存 |
| 7e | 03b2 | 2 | 非殺傷落下物カウンタ | 演出が終わった落下物の個数をカウントするものの、参照されない |
| 7e | 03b4 | 2 | 落下物終了フラグ | 落下物系の終了を判定するためのフラグ |
| 7e | 03b6 | 2 | 落下物カウント | 落下物の発生回数をカウントする変数 |
| 7e | 03b8 | 2 | 落下物ギミックフラグ | 1だと各種落下物のギミックあり、演出中は一時0になる |
| 7e | 03ba | 2 | 落下物ギミックフラグ終了値 | 03b4が到達するとギミック終了と判断する値 |
| 7e | 03be | 2 | モザイク深度バックアップ | 地図表示の際7e03e8のバックアップに用いる |
| 7e | 03c0 | 2 | cat6msg表示フラグ | 0は表示なし、1は新規、2は継続中 |
| 73 | 03c2 | 2 | 不使用 | |
| 7e | 03c4 | 2 | cat6msg表示フレーム | 表示残りフレーム(bf)数、75から開始 |
| 7e | 03c6 | 2 | cat6msg ID | 表示中のメッセージID |
| 7e | 03c8 | 2 | cat6msg 管理 | 03c0=1の時は、03c6,03c8の初期値決定用のID 03c0=2の時は連続して表示するメッセージ数 |
| 7e | 03ca | 2 | 案内図ID | 地図表示時の案内図に応じたID、selectによる地図呼び出し時は0 |
| 7e | 03cc~03d7 | 2x6 | 地図表示時バックアップ? | 調査中 |
| 7e | 03d8,a | 2x2 | CGRAM設定制御用? | 調査中 |
| 7e | 03dc | 2 | CGRAM設定ローテート抑止 | 非0時、関数82a2e4でのローテート処理を抑止する |
| 7e | 03de ~ 03e3 |
2x3 | 経過時間bf/秒/分 | 転覆時に0にリセット SFCの動作60FPSに対して、2F毎に1増える(bf)。 bf,分はそれぞれ29,59の次に0に戻って、上の単位の数が繰り上がる |
| 7e | 03e6 | 2 | 画面暗転用? | 調査中 |
| 7e | 03e8 | 2 | モザイク深度 | モザイク処理をかける演出に使うパラメータ |
| 7e | 03ea | 2 | デバッグモード? | 0以外の値に設定されることはないが、 非0の場合様々な効果がある |
| 7e | 03ec | 2 | ゲームオーバーフラグ | 1がセットされるとゲームオーバーに移行 |
| 7e | 03ee | 2 | 固定値 | 基本1に固定。処理を進める際の待ちフレーム数に影響するが変更されない |
| 7e | 03f0~03ff | 2x8 | コントローラ状態 | 03fcは01c0と同等、03feは1P側リリースボタン状態。他は不使用 |
| 7e | 0400 | 2 | ポイント合計 | クリア前は単純に説得完了したキャラのポイントを蓄積する これは重要人物説得済みかどうかの判定に用いる クリア時に救出確定したキャラのポイントの合計値(上位バイト含む)に更新される |
| 7e | 0402 | 2 | チャンク処理中フラグ? | 調査中 |
| 7e | 0404 | 1 | 主人公ロック | 上2bitのみ使用、イベント中のロック状態を管理 0x80の桁が1の時、主人公操作無効 0x40の桁が1の時、イベント終了で同行者が0になる |
| 7e | 0406 | 2 | 演奏処理タイマー | クラブでミッシェルがバイオリン演奏する際のタイマー |
| 7e | 0408 | 2 | イベントチェイン先ID | コマンド192によるイベントチェインで設定される 遷移先イベントID |
| 7e | 040a | 2 | 場面転換時進行管理データオフセット/ エピローグ開始部屋ID |
コマンド130による場面転換時、オフセット+1を一時的に保存する エンディングIDに応じたエピローグの開始場所も兼ねる |
| 7e | 040c | 2 | イベントID | |
| 7e | 040e | 2 | イベント状態変数 | イベントの進行状況を管理する変数 |
| 7e | 0410 | 2 | イベント内メッセージIDベース | |
| 7e | 0412 | 1x2 | イベント内人数情報 | 先頭バイトが参加キャラ数、次が救出可能人数 |
| 7e | 0414 | 2 | イベント呼び出し情報 | 値の保存用 通常の移動時はマップ上y座標値、クリア時は0x6000 イベントを直に呼び出す場合は0x8000+イベントID |
| 7e | 0416 | 2 | イベント自動開始時チャンクID | キーパーソンに近づくと自動で始まるチャンク |
| 7e | 0418 | 2 | チャンク内メッセージ順番 | あるチャンク進行中の、先頭を1とした進行中メッセージの順番 |
| 7e | 041a | 2 | イベント進行管理データオフセット | 7e042c~で参照中?の塊を示すオフセット(8単位) |
| 7e | 041c | 2 | コマンドデータオフセット | イベントデータの中で、現在進行中のメッセージに 対応するコマンド群の位置を示す16単位のオフセット |
| 7e | 041e | 3 | イベントベース絶対アドレス | 非圧縮または圧縮データ伸長済みの&イベントデータの先頭アドレス |
| 7e | 0422 | 2 | セリフ持続フレーム(bf単位) | この数値が0になるとセリフのフェードアウトが始まる ※イベント中のセリフが対象 |
| 7e | 0424 | 2 | チャンクIDベース | 話しかけたときに呼び出されるチャンクの IDのベース値、別途補正値を加算して使用する |
| 7e | 0426,8 | 2x2 | Yボタン時相対チャンク キャラID |
Yボタンでの操作対象が設定されたときに Yボタンで発動するチャンクの7e0424からの相対値 および操作対象のキャラID |
| 7e | 042a | 2 | 案内図フラグ | 受付嬢から案内図を受け取ると0x8000 ルークは無くても無条件で同じ値がセットされる |
| 7e | 042c ~ 044b |
8x4 | イベント進行管理データ | イベントデータの中で、現在進行中のメッセージに対応するコマンド群を転記し、管理するデータ 詳細調査中 |
| 7e | 0450~04af | 32x3 | 非キャラ用管理データA | 管理データAの-4~-2番目相当 ボイラー室のギミック管理にも流用される |
| 7e | 04b0~04cf | 32 | マーカー用管理データA | 管理データAの-1番目相当 |
| 7e | 04d0 ~ 06cf |
32x16 | キャラ管理データA | 主人公・同行者、NPCの状態を管理するデータの集合体 先頭ブロック32Bが主人公、以下説得が後の方(隊列の先頭)から順に、同行者(ロストしたキャラ含む)の分を格納 末尾4ブロックはイベント参加キャラ用(低位アドレス優先) キャラIDや見た目、座標・速度等に関わるデータが主 詳細はデータ構造を参照のこと |
| 7e | 06e8~06ef | 2x2x2 | 不明 | 未調査 |
| 7e | 06f0 ~ 07ef |
16x16 | キャラ管理データC | 上記キャラ管理データA類似 詳細不明だがイベント管理に関わると思われる |
| 7e | 0800~09ff | 512 | CGRAMデータ | V-BLANK時にCGRAMに書き込むデータ 083eはメッセージ関連処理で値を設定する |
| 7e | 0c00~0e1f | 544 | OAMデータ | V-BLANK時にOAM(スプライトのオブジェクト情報領域)に書き込むデータ |
| 7e | 0e20~0e9f | 128 | OAM末尾準備データ | 上記OAMデータの末尾32バイト設定の元になるデータ |
| 7e | 0ea0~0edf | 64 | VRAM転送スクロール分バッファ | スクロール分のデータをVRAMに転送する際のバッファ |
| 7e | 0ef0~0ef5 | 1x6 | 不明 | 調査中 |
| 7e | 0ef6~0efb | 2x3 | チェックポイント関連? | 調査中 |
| 7e | 0efc,e | 2x2 | 指示先チェックポイント | 0efeの方がマーカーで指示したチェックポイント、0efcはその1つ前の値 チェックポイントとは、誘導のために主人公の座標を 地形の切り替わり単位で記録したもので、 座標を記録する0f20~のオフセット |
| 7e | 0f00~0f1e | 2x16 | 到達チェックポイント | 誘導に関して各キャラの到達したチェックポイント 先頭の0f00に関しては、主人公が地形の切り替わりを超える毎に2ずつデクリメントする ※0の次は0x3feに戻る |
| 7e | 0f20~131e | 1x2x512 | チェックポイント情報 | チェックポイント毎のマップ上x,y座標(16px単位)の組 |
| 7e | 1320 ~ 133f |
1x32 | イベント完了済みフラグ | 128番未満のイベントのID下5bitに対応した フラグ、非ゼロで完了済み(再発動なし) |
| 7e | 1340~13c3 | 2x66 | 部屋毎の浸水情報 | 部屋ID毎の水位x座標(px単位) アデラ部屋(部屋ID66)分が不足で、タイムアップ後はオーバーランを起こす |
| 7e | 13c4 | 2 | 部屋ID | 浸水情報管理に使う部屋IDで02d0のコピー、間接的に0230のコピー |
| 7e | 13c6~13d7 | 1x3x6 | ??用表示データ | 次項7e13d8~の更新で指定するデータバッファ |
| 7e | 13d8~13df | 8 | ??用VRAM更新データ | 扉開閉時等の表示用と推測 |
| 7e | 13e0~13e5 | 1x1x6 | ??用表示データ | 前項7e13d8~の更新で指定するデータバッファ |
| 7e | 13e6~13f1 | 2x6 | 不明 | 未調査 |
| 7e | 13f2~1405 | 2x10 | ボイラー室ギミック状態 | ボイラー室でのギミックでのスプライト状態管理用 |
| 7e | 13fe | 2 | 場主種別コピー | 03aa初期値のコピー、落下物処理用 |
| 7e | 1400~1403 | 2x2 | 不明 | 未調査 |
| 7e | 1404~1409 | 2x3 | ギミック表示切替カウンタ | 表示切替を行うbf数を管理。 下位バイトがカウンタ、上位バイトがリセット時の値 |
| 7e | 140a~140f | 2x3 | ギミック表示ID | 落下物等のギミックのパーツ情報を決定するためのID |
| 7e | 1410 | 2 | ギミック表示ID上限 | ギミック表示IDを変化させてこの値に到達したら初期値に戻すための基準 |
| 7e | 1412~1415 | 2x2 | 不使用 | |
| 7e | 1416 | 2 | ギミック表示ID初期値 | ギミック表示IDが$1410の値に達した時に適用する初期値 |
| 7e | 1418~141b | 2x2 | 不使用 | |
| 7e | 141c | 2 | 爆発演出中フラグ | 吹き抜けの一部で爆発演出が発生しているとき1がセットされる |
| 7e | 141e,1420 | 2 | 爆発演出用? | 調査中 |
| 7e | 1422~1427 | 2x3 | 非殺傷落下物登場カウンタ | 演出終了を判断するためのカウンタ |
| 7e | 1428~142d | 2x3 | 非殺傷落下物登場タイマー | カウントダウンして0になったら対応する落下物が登場する |
| 7e | 147c | 2 | BGスクロール量 | 01daのコピー |
| 7e | 147e | 2 | 殿キャラID | 80c861~にある対象のキャラを救出するとキャラIDがセットされる |
| 7e | 1480~14c1 | - | 合成メッセージ関連 | 機能的に不使用 1498は合成メッセージ文字数 149e~14c1は合成したメッセージの格納先 |
| 7e | 14c2 | 2 | 障害物/炎ミスフラグ | 障害物や炎への接触時に瞬間的に1が設定される |
| 7e | 14c4 | 2 | ボイラー室内ギミック段階 | |
| 7e | 14c6~14cd | 2x4 | ボイラー室表示管理用? | 調査中 |
| 7e | 14d2 | 2 | クリア時救出確定人数 | ボイラー室の脱出口に入った時に確定 救出扱いになった同行者(主人公含む)の人数 |
| 7e | 14d4 ~ 14dd? |
1x10? | クリア時救出者キャラID | ボイラー室の脱出口に入った時に確定 救出扱いになった同行者(主人公含む)のキャラID一覧 一番救助が遅いキャラ(隊列の先頭)が先頭、主人公は最後 |
| 7e | 14de | 2 | 最終カウントダウン | 60分経過後の最終カウントダウン用カウンター まず200bfが設定され、0になると沈没の画像のカットインとBGM変更、 その後1000bfが設定され尽きるとゲームオーバー |
| 7e | 14e0 | 2 | 傾き変化目標値 | 傾き変化時の変化が終わった時に予定されている傾き |
| 7e | 14e2 | 2 | パターンB状態管理変数 | 傾きでパターンBを引いた場合の状態管理用 |
| 7e | 14e6,8 | 2x2 | ボイラー室炎カウンター | 炎のギミック演出終了判定用のカウンター 前者は新規発生停止判定用総数、後者は残り分(吹き上げ専用) |
| 7e | 14ea | 2 | 不明 | 調査中 |
| 7e | 14ec | 2 | 周期フレーム上限3 | 7e034cの値-480 0344のフレームカウントが到達すると落下物処理開始 |
| 7e | 14ee,14f0 | 2x2 | 不使用? | 7e03ee,7e03e2の値がコピーされるが参照されない |
| 7e | 14f2 ~ 15f1 |
16x16 | キャラ管理データB | 上記キャラ管理データA類似 体力や誘導に関連するデータが主 詳細はデータ構造を参照のこと |
| 7e | 1602 | 2 | 主人公水中判定 | 水中だと1、それ以外は0 |
| 7e | 1604 | 2 | 対炎無敵時間(bf単位) | 焼身ミス時に384が設定、以降2f毎に減少 ミス確定までに270に減ってそこから復活(9秒相当) 非0時(無敵状態)では主人公が点滅表示になる |
| 7e | 1606 | 2 | 同行者の移動状態 | 0:全員マーカーに到達済み1:連れ歩き状態 2:非連れ歩き状態(マーカーへ移動中) 0x8001:連れ歩き開始時,0x8002:号令ポーズ移行 |
| 7e | 1608 | 2 | 移動未完了同行者数 | マーカーに未到達の人数 ※連れ歩き状態中は全員未到達の扱い |
| 7e | 160a~160d | 2x2 | 表示人数あふれ | 表示対象人数が上限の7を上回った数、2要素目は前フレームの値 |
| 7e | 160e | 2 | ロスト者のいる部屋ID | 表エリアの場合は一律0x80 主人公と同一画面でない場合は、0x8000加算 |
| 7e | 1610 | 2 | ロスト者人数 | |
| 7e | 1612 | 1x2 | ロスト者座標 | ロスト者のマップ上のx,y座標(16px単位) |
| 7e | 1614 | 2 | ロスト者再会プロンプト | ロスト者と近接してcommunication?が出る状況で1 |
| 7e | 1616 | 1or2? | 不明 | 調査中 |
| 7e | 161e~1623 | 6 | 地図表示用? | 調査中 |
| 7e | 1624 | 2 | 水中効果補正用カウンタ | サブルーチン0x80a0e8で周期的な、おそらく水中表示処理の 変動を管理するカウンタ |
| 7e | 1626~1632 | 13? | VRAM更新用? | 調査中 |
| 7e | 1646 | 2 | HDMA有効化フラグ | $420cに設定する値 |
| 7e | 1648 | 2 | 処理ステータス? | 82eaafで制御する状態変数 |
| 7e | 164a | 2 | 固定色設定値 | |
| 7e | 164c | 2 | 処理ステータス? | 82eb62で制御する状態変数 |
| 7e | 1650~? | ? | RAM更新用? | 調査中 |
| 7e | 1660,2 | 2x2 | 不明 | 調査中 |
| 7e | 1664,6 | 2x2 | 不明 | 調査中 |
| 7e | 1668 | 2 | 爆発後フラグ | 7e0324のコピー |
| 7e | 167a | 2 | 操作対象ホールモブ | 4人いるホールモブの当該bfでの操作対象(1~4) プロローグのホール以外では0、ホール入室時は5 |
| 7e | 167c~16bb | 2x8x4 | ホールモブ管理データ | 4人分のデータ |
| 7e | 16be,16c0 | 2x2 | 処理ステータス? | 82f1c0で制御する状態変数 |
| 7e | 16c2 | 2 | 不明 | 調査中 |
| 7e | 16c4~? | ? | VRAM更新用? | 調査中 |
| 7e | 1744~1749 | 2x3 | 不明 | 調査中 |
| 7e | 174a | 2 | 不明 | 調査中 |
| 7e | 174e,1750 | 2x2 | 不明 | 調査中 |
| 7e | 1752~? | ? | VRAM更新用? | 調査中 |
| 7e | 175e~? | ? | VRAM更新用? | 調査中 |
| 7e | 1782~1789 | 2x4 | ボイラー室燃える背景制御変数 | 調査中、1786は不使用 |
| 7e | 178a | 2 | 固定色リセットフラグ? | 1の場合、VBLANK中に$2132を0xe0を設定する |
| 7e | 178c | 2 | 固定色設定フラグ? | 1の場合、VBLANK中に7e164aの値を$2132に設定する |
| 7e | 178e~1795 | 2x4 | スタッフロール制御変数 | 調査中、1790は不使用 |
| 7e | 1796~179e | 9 | スタッフロール用VRAM更新データ | 詳細未調査 |
| 7e | 17a0 | 2 | スタッフロール制御変数 | 調査中 |
| 7e | 1e00 | 2 | APU指令転送保留 | 非0の場合、バッファにたまった指令をAPUに転送しない |
| 7e | 1e02 | 2 | APU指令キューの末尾オフセット | 指令1つ毎に2増加、全部処理済みなら0 |
| 7e | 1e04 | 1 | APU前回転送指令種 | $2140を通じて前回APUに転送したバイト値(指令の種類) |
| 7e | 1e06,8 | 2 | 不使用 | APU絡みだが常時ゼロ |
| 7e | 1e0a~1e19 | 2x8 | APU指令キュー | 低位アドレスが新しい指令 |
| 7e | 1e2a~? | ?? | 不使用 | APUデータ転送用バッファだが使用するルーチンが不使用 |
| 7e | 1e6a~1e71 | 1x8 | APUチャンネル音量 | 標準は0xcd=205 |
| 7e | 1e72 | 1 | APU空きチャンネル候補 | サブルーチン0x8096bfの空きチャンネル探索での探索開始値 |
| 7e | 1e74 | 2 | ロード中音声データペア | BGMに対応してAPUに転送済みのペア |
| 7e | 1e76 | 2 | 演奏中BGM ID | 0~12のBGM |
| 7e | 1e78 | 2 | 固定値 | 0で固定 |
| 7e | 1e7d~82 | 2x3 | BGMフェードアウト用パラメータ | サブルーチン0x809863での計算用 1e7dに予定f/bf数を設定するとフェードアウトが始まり、0x8000が加算され、終わると0になる 1e7fは現在の倍率(1/65536単位)、1e81は倍率低下速度 |
| 7e | 1e83 | 2 | 出力済みSE情報 | 0x809782のサブルーチンで鳴らしたSEの 音量(上位バイト)とID(下位バイト、0~44) (無効化時は0xffff) |
| 7e | 1e85~1eff | - | 不使用? | |
| 7e | 1f00~1f09 | 1x10 | ?? | 調査中 |
| 7e | 1f0a | 2 | ?? | 調査中 |
| 7e | 1f0c~1f2b | 2x16 | ?? | 調査中 |
| 7e | 1f2c~1fff | - | スタック等 | 1f2c~はDMA用管理キューだが先頭は0固定で不使用、末尾はスタック |
| 7e | 8000~?? | ?? | 伸長データ一時格納用 | VRAM転送用に圧縮データを伸長する領域 |
| 7f | 0000~7bff | 1x32x32x31 | 表エリアタイルマップデータ | 256x256px(32x32tile)のブロック毎のタイルマップ |
| 7f | 8000~9fff | 1x256x32 or 1x64x32 or 1x64x128 |
地形データ | 現在の部屋もしくは表エリア層の16px単位地形データ 配置はx方向連続、上層優先(y座標)、船尾優先(x座標) |
| 7f | a000~bfff | 1x256x32 or 1x64x32 |
地形データ退避 | 前項7f8000~7f9fffの退避用(直前の場所のデータ) |
| 7f | c000~d3ff | 32×160 or 32×67 |
画面切り替え時移行先 | 表エリアは128px×64~160pxの変則セル単位、 それ以外は部屋ID毎の地形データに紐づいた移行先リスト 先頭4バイトは空、その後4バイト×最大6エントリー 4バイトの内訳は地形データ数値、移行先部屋ID、y,x座標(16px単位) |
| 7f | d400~e7ff | - | 画面切り替え時移行先退避 | 7fc000~7fd3ffの退避用 |
| 7f | e800~ | イベント展開領域 | ||
ROM
| アドレス (16進) |
サイズ (byte) |
値・意味 | 備考 | |
|---|---|---|---|---|
| bank | 下位 | |||
| 80 | 8000~8011 | データ領域 | ||
| 80 | 8012~8852 | コード領域 | ||
| 80 | 8853~88f3 | データ領域 | ||
| 80 | 88f4~8ccb | コード領域 | ||
| 80 | 8cce~8cd7 | データ領域 | ||
| 80 | 8cd8~8d6a | コード領域 | ||
| 80 | 8d6b~8d97 | データ領域 | ||
| 80 | 8d98~8e27 | コード領域 | ||
| 80 | 8e28~8e3c | データ領域 | ||
| 80 | 8e3d~935e | コード領域 | ||
| 80 | 935f~94d5 | データ領域 | 圧縮データ伸長処理用補助データ | |
| 80 | 94d6~983d | コード領域 | ||
| 80 | 983e~985e | データ領域 | ||
| 80 | 985f~9b09 | コード領域 | ||
| 80 | 9b0a~9b17 | 2x7 | OAMデータブロック先頭アドレス | 7e0c00~の128個分のOAMデータのうち、 16個単位のブロックの先頭アドレスを格納、最初は0xc40 |
| 80 | 9b18~a12e | コード領域 | ||
| 80 | a12f~a22e | データ領域 | ||
| 80 | a22f~a2ad | コード領域 | ||
| 80 | a2ae~b2ad | 2x4x512 | 三角関数値テーブル | 0°~359.3°に応じた三角関数の値 角度θに対し、cosθ,sinθ,sin(-θ),cos(-θ)の4つ組、それぞれ×256した値を四捨五入(符号付き) |
| 80 | b2ae~b3ad | 2x128 | tan値テーブル | 0°~89.3°に応じたtanの値×256を四捨五入した整数値 |
| 80 | b3ae~b42d | 2x64 | キャラグラフィック種 | キャラIDに応じたグラフィックの種別 ※例えばアンジェリカとバーバラが同一の17等 |
| 80 | b42e~b4ad | 2x64 | 各キャラ体力値 | キャラID(0~63)に応じた体力数値 本wikiでは1/256した数値+8(主人公),+64(同行者)を実質の体力として採用 |
| 80 | b4ae~b5b9 | 1x2x2x67 | ランデブーポイント座標 | 部屋IDに応じたx,y座標(16px単位)の組 爆発前後で組にして管理 |
| 80 | b5ba~b619 | 1x2x2x24 | ランデブーポイント座標 | 表エリアブロックIDに応じたx,y座標(16px単位)の組 爆発前後で組にして管理 |
| 80 | b61a~ba5d | (2x48+2x134)x3 | イベントIDマップ | ブロックID・部屋IDに対応したイベントID 進行度4、2,3、0,1の3通り |
| 80 | ba5e~ba7a? | 1x29? | 姿勢変更間隔 | キャラグラ種別(80b3ae~)毎のコマンド5,6での変更間隔(bf) |
| 80 | ba7b~bb33 | (2+2x3)x23 | 案内図位置情報リスト | 表エリア23ブロック分の案内図情報 ・先頭は案内図ベースID、案内図が1つもなければ0 ・それ以外はx,y座標(16px単位)の組×最大3つ(ブロック内複数案内図に対応) |
| 80 | bb39~bb68 | 2x24 | ?? | 調査中…キャラの状態に対応する何か |
| 80 | bb69~bb98 | 2x24 | ?? | 調査中…キャラの状態に対応する何か |
| 80 | bb99~bbc8 | 2x24 | ?? | 調査中…キャラの状態に対応する何か |
| 80 | bbc9~bbf8 | 2x24 | ?? | 調査中…キャラの状態に対応する何か |
| 80 | bbf9~bb18 | 2x16 | マーカーx座標端数 | $04c0に設定する数値、傾きやx/y方向が壁かで16通り |
| 80 | bcd9~bce8 | (1+1+2)x4 | 主人公初期位置 | x座標,y座標(16px単位),部屋IDの組、キ/レ/ル/ジの順 |
| 80 | bceb~bd08 | 2x15 | デバッグモード時初期キャラ | デバッグモード有効時に管理データに充当するキャラID一覧 |
| 80 | bd19~bd38 | 2x16 | 微小振動移行bf数 | 84bf周期上下微小振動の段階移行bf数-1(下位バイト) 下→上の段階では上位バイトが0x80 |
| 80 | bd79~bd8c | 1x20 | 水中衝突時十字キー修正値 | 水中で壁にぶつかった場合の十字キー操作変更値 |
| 80 | be29~be48 | 1x32 | 可変セルオフセットリスト | 表エリアy座標(16px単位32ユニット)から、7fc000~のデータを引く際の 可変セルサイズ用オフセットリスト |
| 80 | be75~be7c | 2x4 | 初期イベントID | 主人公毎のプロローグ開始イベントID |
| 80 | be7d~be8c | 4x4 | プロローグスキップ時位置情報 | 主人公毎に、0,部屋ID,y,x座標(16px単位)の組 |
| 80 | be8d~be94 | 2x4 | プロローグスキップ時イベントID | select+startでプロローグをスキップした場合の遷移先イベントID |
| 80 | bf23~bf2e | 1x2x6 | ランデブーポイント座標 | ボイラー室y座標に応じたx,y座標(16px単位)の組 |
| 80 | bf69~bfb8 | 2x20x2 | 空中加速度 | 傾きに応じた空中での加速度、傾きに応じて16段階 x座標分は要素0~15、y座標成分は要素4~19と4ずれている 前半が1/16px/bf^2単位、後半が1/1048576px/bf^2単位の端数 |
| 80 | bfb9~c008 | 2x20x2 | 垂直ジャンプ初速 | 傾きに応じた垂直ジャンプ時初速、傾きに応じて16段階 x座標分は要素0~15、y座標成分は要素4~19と4ずれている 前半が1/16px/bf単位、後半が1/1048576px/bf単位の端数 |
| 80 | c009~c058 | 2x20x2 | 横ジャンプ縦速度 | 傾きに応じた横ジャンプの横スライド後に設定される縦速度、内容は前項垂直ジャンプ初速と同様 |
| 80 | c059~c0a8 | 2x20x2 | 横ジャンプ横初速度 | 傾きに応じた横ジャンプの横スライドの初速、内容は前項・前々項と同様 |
| 80 | c0a9~c0b8 | 2x4x2 | 空中での十字キー横補正 | 傾きに応じた空中での移動距離補正、0°~67.5°の4段階、1/16px単位 前半がx方向、後半がy方向 |
| 80 | c259~c278 | 2x4x4 | 会話時姿勢ID補正値 | コマンド5,6の時にとる姿勢IDの、 ベース値(168,177)からの補正 傾き、キャラ向き、地形の左右どちらに立っているかで16通りある 値に0x8000のbitが立っている場合は左右反転扱い |
| 80 | c299~c6d0 | 2x4x45x3 | キャラ用長さパラメータ一式 | 傾き段階$36に応じた各種長さパラメータ、45組分 先頭から順にその他用、子供キャラ用、主人公キャラ用 ※実際には数値に違いがない模様 |
| 80 | c6d1~c700 | 1x64 | 子供判定データ他 | 主人公は8、子供キャラは4、その他0を設定 $c711,xのxインデクスにも使う |
| 80 | c711~c71a | 2x5 | キャラ用長さパラメータアドレス | 上記c299~c6d0のうち、キャラ種に対応する先頭アドレス |
| 80 | c71b~c75a | 1x64 | 悲鳴SE | キャラID毎の悲鳴のSE |
| 80 | c78b~c7ac? | 2x17? | 状態別階段掴まり可否 | 状態毎の階段掴まり可否 0が地上可(状態0)、2が空中可(状態1,2,3)、1が不可(その他) |
| 80 | c7bb~c7dc? | 2x17? | 状態別補助対象可否 | 状態毎のYボタン補助可否(1/0)、1,2,3,10が該当 |
| 80 | c7f3~c7fa | 2x4 | 歩き消費体力 | 傾きに応じた歩き時の体力消費(u/bf) |
| 80 | c7fb~c821 | 2x13+1x13 | BGM情報 | BGM ID(0~12)に対応した音声データペア・パート番号 |
| 80 | c822~c827 | 2x3 | 部屋ID-イベントIDマップ ベースアドレス |
進行度0,1、2,3、4に対応したベースアドレス |
| 80 | c82a~c82f | 2x3 | ブロックID-イベントIDマッピング ベースアドレス |
|
| 80 | c832~c842 | 1x17 | 状態別コマンド保留フラグ | アクション状態に応じて、値が非0の場合はコマンド実行が保留される |
| 80 | c845~c848 | 1x4 | 水平限定イベントリスト | 主人公毎に、水平状態でないと無効となるイベントID |
| 80 | c849~c860 | 1x24 | コマンド129用データ | コマンド129でdataxをインデクスとして管理データCオフセット8に設定する値 |
| 80 | c861~c865 | 1x5 | 殿対象キャラID | 救出時に殿に回るキャラのID、主人公毎に2人ずつ(保存範囲は重複) |
| 80 | c866~c86d | 1x8 | 不使用 | コマンド129でのフレーム単位を調整するパラメータだが使用されない |
| 80 | c86e~c875 | 2x4 | 揺れ制御パラメータ | コマンド129で揺れ制御を行う際に $0226 に設定する値 |
| 80 | c876~c88d | 1x24 | エピローグイベントID | ED ID毎のエピローグの最初のイベントID |
| 80 | c88e~c8a5 | 1x24 | ED時船の背景選択 | ED ID毎の船の背景(ベストだと茜色、等) |
| 80 | c8a6~c8bd | 1x24 | ED主人公生存フラグ | ED ID毎に主人公が生存するなら非ゼロ |
| 80 | c8be~c8d5 | 1x24 | エピローグ時BGM | エンディングID(0~23)に対応したBGMのID |
| 80 | c8d6~c8ed | 1x24 | エピローグ開始部屋ID | $040aに保存する部屋ID |
| 80 | c8ee~caf5 | 2x64x4+2x4 | 各キャラポイント | キャラID(0~63)に応じたポイント 主人公毎にキ/レ/ル/ジの順でテーブルが分かれている 重要人物の場合は上位バイトに特定の値がセットされる 最後の4ワードは主人公毎のテーブルの先頭アドレス |
| 80 | caf6~cafc | 1x7 | センタリング時開始位置 | メッセージをセンタリングする際の格納先バッファ開始位置(2単位) |
| 80 | cafd~cd0d | コード領域 | ||
| 80 | cd0e~cd15 | 2x4 | メッセージ用CGRAM値 | メッセージの濃さの調整用として$083eに保存する値 |
| 80 | cd16~ce8b | コード領域 | ||
| 80 | ce8c~ce97 | 2x6 | メッセージ | プロンプト表示用CGRAM色設定 $029eの値に対応して$083eに設定する値 |
| 80 | ce98~d46c | コード領域 | ||
| 80 | d46d~d4df | データ領域 | ||
| 80 | d4e0~d565 | 1x67x2 | 部屋毎BGM/sBGM | 部屋ID(0~66)毎のBGM番号、爆発前/後の2組分 11以上は特別な設定、255は6と同等 |
| 80 | d566~e313 | コード領域 | ||
| 80 | e314~f803 | データ領域 | ||
| 80 | f800 | 2 | CGRAMデータアドレスポインタ | サブルーチン0x8083e0でCGRAMデータ(7e0800~)に設定する 元データのバンク0x91上の先頭アドレスリスト |
| 80 | f802 | 1 | CGRAMデータアドレスバンク | 前項80f800に関するバンク0x91 |
| 80 | f804 | 2 | 圧縮データアドレスポインタ | PPU転送用圧縮データアドレスを保持する領域の先頭アドレス |
| 80 | f806 | 2 | 音声データアドレスポインタ | 音声データアドレスを保持する領域の先頭アドレス |
| 80 | f808 | 2 | 圧縮/非圧縮データアドレスポインタ | PPU転送用圧縮/非圧縮データアドレスを保持する領域の先頭アドレス |
| 80 | f80a | 2 | スプライト関連データアドレスポインタ | |
| 80 | f80c | 2 | 圧縮地形データアドレスポインタ | |
| 80 | f80e | 2 | 何か圧縮データアドレスポインタ | |
| 80 | f812~f871 | 3x32 | スプライト関連データアドレス | 先頭27個は、キャラグラ種毎のスプライト関連データの先頭 末尾3個は非キャラスプライト関連データの先頭 他は不使用 |
| 80 | f872~fc64 | 3x337 | 圧縮/非圧縮データアドレス | 各PPU転送用圧縮/非圧縮データの先頭アドレス |
| 80 | fc65~fc9a | 3x18 | 音声データアドレス | 音声データIDに対応した先頭アドレス |
| 80 | fc9b~fe4a? | 3x144 | 各圧縮地形データの先頭アドレス | 0~2,68~70は表エリア上層・中層・底層地形データのプロローグ/非プロローグ 3~66,71~134は部屋ID0~63のプロローグ/非プロローグ 67,135はボイラー室のプロローグ/非プロローグ 136~138,140~142は表エリア上層・中層・底層移行先データのプロローグ/非プロローグ 139,143は表エリア以外の移行先データのプロローグ/非プロローグ |
| 80 | fe4b~fe98? | 3x26? | 何か圧縮データの先頭アドレス | |
| 80 | ffc0~ffff | 64 | カートリッジヘッダ | ゲームカートリッジ情報および割り込みベクタ |
| 81 | 8000~964c | コード領域 | ||
| 81 | 964d~96d1 | データ領域 | ||
| 81 | 96d2~d248 | コード領域 | ||
| 81 | d249~d29e | データ領域 | ||
| 81 | d29f~d5fe | コード領域 | ||
| 81 | d5ff~d66f | データ領域 | ||
| 81 | d670~ff3e | コード領域 | ||
| 81 | ff3f~ffff | データ領域 | ||
| 82 | 8000~8011 | データ領域 | ||
| 82 | 8012~802f | コード領域 | ジャンプテーブルのみ | |
| 82 | 8030~80b5 | 2x67 | 初期水位一覧 | 部屋ID毎の初期水位+64(px単位)、7e1340~に保存 |
| 82 | 80b6~849b | コード領域 | ||
| 82 | 849c~84c9 | データ領域 | ||
| 82 | 84ca~88b9 | コード領域 | ||
| 82 | 88ba~88c7 | データ領域 | ||
| 82 | 88c8~8d1f | コード領域 | ||
| 82 | 8d20~8d57 | データ領域 | ||
| 82 | 8d58~94ef | コード領域 | ||
| 82 | 94f0~950d | データ領域 | ||
| 82 | 950e~98af | コード領域 | ||
| 82 | 98b0~9919 | データ領域 | ||
| 82 | 991a~9e95 | コード領域 | ||
| 82 | 9e96~9e9d | データ領域 | ||
| 82 | 9e9e~abe9 | コード領域 | ||
| 82 | abea~abf9 | データ領域 | ||
| 82 | abfa~bed5 | コード領域 | ||
| 82 | bed6~bf55 | 2x2x4x8 | 中層炎配置座標 | ブロック毎の1/16px単位のx,y座標の組 ブロックあたり3オブジェクトのため、4オブジェクト目は不使用 8ブロック分あるが、先頭と末尾はダミー |
| 82 | bf56~c06c | コード領域 | ||
| 82 | c06d~c08c | 2x2x4x2 | 爆発演出配置座標 | 1/16px単位のx,y座標の組、4組(ランダム選択用)が2セット ただし後半は実際は使用されない |
| 82 | c08d~c0ac | 2x2x4x2 | 爆発演出相対配置座標 | 3つある爆発オブジェクトの内、2,3番目の1番目に対する相対座標 1/16px単位のx,y座標、登場順に4組が2セット |
| 82 | c0ad~c25f | コード領域 | ||
| 82 | c260~c2df | 2x2x32 | 不使用 | 場所種別($03aa)13でのスプライト処理用データ |
| 82 | c2e0~c782 | コード領域 | ||
| 82 | c783~c856 | データ領域 | ||
| 82 | c857~ca8e | コード領域 | ||
| 82 | ca8f~cb14 | 1x67x2 | 部屋毎BGM/sBGMデータ | 80d4e0~のコピー |
| 82 | cb15~cba2 | コード領域 | ||
| 82 | cba3~cbb2 | 1x16 | cat6msg id | サブルーチン0x82cbf3での単発メッセージ表示用IDリスト 7以下のメッセージIDの場合、ランダムで+0 or +1の2択になる |
| 82 | cbb3~cbf2 | (1+1)x8x4 | cat6msg id+num | サブルーチン0x82cbf3での複数メッセージ表示用先頭ID・メッセージ数リスト 主人公毎にテーブルが分かれている。テーブル内インデクスは$03c8-16 ( 0開始 ) 実態として、転覆前後の主人公メッセージにしか使われない。(インデクス0,1) |
| 82 | cbf3~cdc4 | コード領域 | ||
| 82 | cdc5~d0c2 | データ領域 | ||
| 82 | d0c3~d102 | 1x64 | キャラ別メッセージ種 | キャラID毎に、同行者としてカテゴリ6のメッセージを表示する場合の メッセージ種(0~7)をリスト化したもの |
| 82 | d103~d106 | 1x4 | cat6msg idオフセット | 同行者用のカテゴリ6メッセージ表示時の、主人公毎のメッセージIDオフセット |
| 82 | d107~d171 | コード領域 | ||
| 82 | d172~d1a5 | (1+1)x26 | 案内図用先頭メッセージID、メッセージ数ペア | カテゴリ4のメッセージ |
| 82 | d1a6~d1e2 | コード領域 | ||
| 82 | d1e3~d29e | データ領域 | ||
| 82 | d29f~d782 | コード領域 | ||
| 82 | d783~db07 | データ領域 | ||
| 82 | db08~db33 | コード領域 | ||
| 82 | db34~db3a | データ領域 | ||
| 82 | db3b~e9d1 | コード領域 | ||
| 82 | e9d2~ea15 | 68 | イベント有効水面限界 | 部屋ID0~66に対応した水面値(px単位) 値はワード単位だが、隣接する値同士でバイトをオーバーラップしている |
| 82 | ea16~ed5c | コード領域 | ||
| 82 | ed5d~ef1c | データ領域 | ||
| 82 | edcd~ef1c | 2x2x4+5x8x2x4 | ホールモブパーツ情報 | 先頭が2ポーズ4組分の先頭アドレス、残りが各8パーツずつの情報 |
| 82 | ef1d~f697 | コード領域 | ||
| 82 | f698~f6a3 | 2x6 | ??ポインタ配列 | サブルーチン0x82f64cでの値保存先の配列 |
| 82 | f6a4~f6a5 | データ領域 | ||
| 82 | f6a6~f805 | コード領域 | ||
| 82 | f806~ffff | データ領域 | ||
| 83 | 8000~df9d | メッセージデータ | カテゴリ7l | |
| 83 | df9e~ffff | データ領域 | ||
| 84 | 8000~8568 | メッセージデータ | カテゴリ1 | |
| 84 | 8569~ffff | データ領域 | ||
| 85 | 8000~812a | メッセージデータ | カテゴリ5z | |
| 85 | 812b~ffff | データ領域 | ||
| 86 | 8000~817c | メッセージデータ | カテゴリ5y | |
| 86 | 817d~eeff | データ領域 | ||
| 86 | 8f00~ffdf | データ領域 | ||
| 86 | ffe0~ffff | 2x120x18 | 非表エリアベースCGRAMデータ | 場所に応じた色データ一式 |
| 87 | 8000~8210 | メッセージデータ | カテゴリ2 | |
| 87 | 8211~ffff | データ領域 | ||
| 88 | 8000~e1ea | メッセージデータ | カテゴリ7j | |
| 88 | e1eb~ffff | データ領域 | ||
| 89 | 8000~ffff | データ領域 | ||
| 8a | 8000~ffff | データ領域 | ||
| 8b | 8000~82cf | 2x240x3 | 表エリア用CGRAMベースデータ | 上層・中層・底層用色データ |
| 8b | 82d0~8af9 | メッセージデータ | カテゴリ6c | |
| 8b | 8afa~9282 | メッセージデータ | カテゴリ6r | |
| 8b | 9283~9a04 | メッセージデータ | カテゴリ6l | |
| 8b | 9a05~a132 | メッセージデータ | カテゴリ6j | |
| 8b | a133~ffff | データ領域 | ||
| 8c | 8000~8157 | データ領域 | ||
| 8c | 8158~8dc4 | 音声データ | ID 0 サウンドドライバ | |
| 8c | 8dc7~997b | 音声データ | ID 1 SE詰め合わせ | |
| 8c | 997c~ffff | データ領域 | ||
| 8d | 8000~8041 | 音声データ | ID 2 管理データA | |
| 8d | 8042~d65b | データ領域 | ||
| 8d | d65c~e23a | 音声データ | ID 5 BGM 0,1,2詰め合わせ | |
| 8d | e23b~e750 | 音声データ | ID 9 BGM 4 | |
| 8d | e751~eaab | 音声データ | ID 8 BGM 3 | |
| 8d | eaac~fab1 | 音声データ | ID 11 BGM 5,6,12詰め合わせ | |
| 8d | fab2~ff3d | 音声データ | ID 13 BGM 8 | |
| 8d | ff3e~ffff | データ領域 | ||
| 8e | 8000~8059 | 音声データ | ID 4 管理データC | |
| 8e | 805a~d323 | データ領域 | ||
| 8e | d324~dde8 | 音声データ | ID 12 BGM 7 | |
| 8e | dde9~e079 | 音声データ | ID 14 GBM 9 | |
| 8e | e07a~e27f | 音声データ | ID 15 BGM 10 | |
| 8e | e280~f4f5 | 音声データ | ID 16 GBM 11 | |
| 8e | f4f6~ffff | データ領域 | ||
| 8f | 8000~942f | 2x15x8x21+2x8x8 | ローテート用CGRAMデータ | 色113~127の8段階ローテート用色データ21か所分 末尾は、シアターでの色56~63用色データ |
| 8f | 9430~945f | 音声データ | ID 3 管理データB | |
| 8f | 9460~c489 | データ領域 | ||
| 8f | c48a~c67b | 音声データ | ID 17 未使用データ | |
| 8f | c67c~ffff | データ領域 | ||
| 90 | 8000~d3a8 | メッセージデータ | カテゴリ7c | |
| 90 | d3a9~ffff | データ領域 | ||
| 91 | 8000~baa6 | 圧縮地形データ | 地形データおよび移行先情報の圧縮データ群 | |
| 91 | baa7~c33a | 2x9+(1+1+2x15x8)x9 | CGRAM更新データアドレスリスト | サブルーチン0x8083e0で参照するCGRAM更新データ(7e0800~)の 元となるデータの先頭アドレス群およびデータ ※実際は末尾2個は使われない?? 各データの内訳は、 ・CGRAMのワードオフセット(0 or 128) ・設定する色数(120固定) ・透明色を除く各色(b5g5r5の15bitで1ワード、8パレット分) |
| 91 | c33b~ffff | データ領域 | ||
| 92 | 8000~805f | 16x2x3 | 表エリアBGブロック配置 | 各層を2行16列のブロックに分割し、タイルマップ情報のIDに対応付ける |
| 92 | 8060~8128 | (1+1+1)x67 | 非表エリアBG情報 | 部屋ID毎のVRAMにロードするBG情報 先頭が$02a8用のタイルデータID、次はブロック数(上位4bitが列数、下位4bitが行数)、 最後はタイルマップ用のIDの先頭 |
| 92 | 8129~87e2 | データ領域 | ||
| 92 | 87e3~8ae2 | 256x3 | CGRAM設定データ | 関数80dbe5でCGRAM前半に設定するデータセット3組 |
| 92 | 8ae3~c21e | データ領域 | ||
| 92 | c21f~db76 | 2x217+6054 | キャラグラ種5番用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 92 | db77~?? | 2x217+?? | キャラグラ種23番用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 93 | 8000~a36b | 2x217+?? | キャラグラ種17用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 93 | a36c~c7de | 2x217+?? | キャラグラ種9用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 93 | c7df~eb05 | 2x217+?? | キャラグラ種4用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 93 | eb06~ffff | データ領域 | ||
| 94 | 8000~800f | 2x2+12 | 非キャラスプライトデータ | 先頭はアドレス一覧、残りはパーツリスト 1番目がマーカー、2場面が人外キャラオブジェクト(キャラID63) |
| 94 | 8010~853b | 2x10+?? | 非キャラスプライトデータ | 先頭はアドレス一覧、残りはパーツリスト OPロゴ~キャラセレ直後の文面表示までのスプライト表示用 |
| 94 | 853c~8ae6 | 2x26+?? | キャラグラ種25用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 94 | 8ae7~902f | 2x27+?? | キャラグラ種26用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 94 | 9030~b560 | 2x217+?? | キャラグラ種10用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 94 | b561~d9c7 | 2x217+?? | キャラグラ種12用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 94 | d9c8~ff3b | 2x217+?? | キャラグラ種15用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 94 | ff3c~ffff | データ領域 | ||
| 95 | 8000~a2b3 | 2x217+?? | キャラグラ種16用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 95 | a2b4~c417 | 2x217+?? | キャラグラ種11用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 95 | c418~e482 | 2x217+?? | キャラグラ種21用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 95 | e483~fcd0 | 2x217+?? | キャラグラ種24用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 95 | fcd1~ffff | データ領域 | ||
| 96 | 8000~a82b | 2x217+?? | キャラグラ種19用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 96 | a82c~d087 | 2x215+?? | キャラグラ種1用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 96 | d088~?? | 2x217+?? | キャラグラ種18用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 97 | 8000~9fdf | 2x217+?? | キャラグラ種20用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 97 | 9fe0~c208 | 2x217+?? | キャラグラ種7用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 97 | c209~e0ca | 2x217+?? | キャラグラ種8用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 97 | e0cb~ffff | データ領域 | ||
| 98 | 8000~abcb | 2x217+?? | キャラグラ種3用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 98 | abcc~d663 | 2x210+?? | キャラグラ種0用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 98 | d664~fb28 | 2x217+?? | キャラグラ種6用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 98 | fb29~ffff | データ領域 | ||
| 99 | 8000~8a79 | 2x118+?? | ギミック用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 99 | 8a7a~8c2b | 2x217 | キャラグラ種13用スプライトデータ | アドレス一覧のみ |
| 99 | 8c2c~abb3 | 2x186+?? | キャラグラ種14用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 99 | abb4~d505 | 2x217+?? | キャラグラ種2用スプライトデータ | 先頭はアドレス一覧、残りは可変パーツリスト |
| 99 | d506~f388 | ?? | キャラグラ種13用スプライトデータ | 可変パーツリスト |
| 99 | f389~ffff | データ領域 | ||
| 9a | 8000~8a31 | チャンク管理データ | キャプリス用 | |
| 9a | 8a32~946d | チャンク管理データ | レドウィン用 | |
| 9a | 946e~9ef4 | チャンク管理データ | ルーク用 | |
| 9a | 9ef5~a926 | チャンク管理データ | ジェフリー用 | |
| 9a | a927~ffff | データ領域 | ||
| 9b | 8000~8347 | チャンク管理データ | プロローグ共通用 | |
| 9b | 8348~8f1f | メッセージデータ | カテゴリ3 | |
| 9b | 8f20~ffff | データ領域 | ||
| 9c | 8000~821c | メッセージデータ | カテゴリ4 | |
| 9c | 821d~ffff | データ領域 | ||
| 9d | 8000~dd28 | メッセージデータ | カテゴリ7r | |
| 9d | dd29~ffff | データ領域 | ||
| 9e | 8000~9c1f | 4x4x9x25x2 | 会話モーション差分データ | コマンド5,6による会話モーションを 交互に切り替えるための差分データ&brIO各ポーズにつき4パーツの差分データの集合体、9ポーズ、25キャラグラ種、コマンド5,6分2組 |
| 9e | 9c20~ffff | データ領域 | ||
| 9f | 8000~e42a | データ領域 | ||
| 9f | e42b~f78f | コード領域 | ||
| 9f | f790~ffff | データ領域 | ||