第 3 章 SFC 版ドラクエ 5 (1992)

3.1. バカ画像
3.1.1. ミルドラースバラバラ殺人事件
3.1.1.1. 上半身
3.1.1.2. 下半身
3.1.2. エラーデス!!
3.1.3. 謎のアイテム
3.1.3.1. まほうのふくろ
3.1.3.2. あくまのおもちゃ
3.1.3.3. モンスターほいほい
3.1.3.4. バロンのつのぶえ
3.2. 詳解 BRK 命令
3.2.1. オペランドのバイトサイズ表
3.2.2. BRK 命令ハンドラー概要
3.2.3. 命令実行の詳細
3.2.3.1. オペランド #$02, #$03: レジスター各種の保存または復帰
3.2.3.2. オペランド #$0B, ..., #$0D: フラグ制御
3.2.3.3. オペランド #$0E, ..., #$19: 音響制御
3.2.3.4. オペランド #$80, ..., #$93: オブジェクトのフィールドにアクセス
3.2.3.5. オペランド #$94: アイテムの特性を参照
3.2.3.6. オペランド #$95, #$96: ウィンドウ処理
3.2.3.7. オペランド #$97, ..., #$9D: 移動時メッセージ処理
3.2.3.8. オペランド #$9E, ..., #$A0: 戦闘時メッセージ処理
3.2.3.9. オペランド #$A1, ..., #$A3: 戦闘時メッセージ処理
3.2.3.10. オペランド #$A4, ..., #$A6: 戦闘時メッセージ処理
3.2.3.11. オペランド #$A7, ..., #$A9: 戦闘時メッセージ処理
3.3. 汎用データアクセスサブルーチン(仮)
3.3.1. 概要
3.3.2. 依存関係
3.3.3. 仕様
3.3.3.1. 機能表
3.3.3.2. 全機能に共通する呼び出し事前条件と事後条件
3.4. 戦闘キャラクター構造体
3.4.1. 仲間キャラクター構造体
3.4.2. 敵キャラクター構造体
3.5. 戦闘モードメッセージ解析
3.5.1. メッセージデータ格納位置を特定する
3.5.2. ハフマン符号を復号する
3.5.3. ハフマン木の表現
3.5.4. 復号した文字列をメモリに格納
3.5.5. まとめ
3.6. 移動モードメッセージ解析
3.6.1. メッセージデータ格納位置を特定する
3.6.2. ハフマン符号を復号する
3.6.3. ハフマン木の表現
3.6.4. 復号した文字列をメモリに格納
3.6.5. まとめ
3.7. 文字列表
3.7.1. 概要
3.7.2. 仲間の名前
3.7.3. 職業名
3.7.4. せいべつ
3.7.5. じゅもん・とくぎの名前
3.7.6. モンスター名
3.7.7. アイテム名
3.7.8. さくせん名
3.7.9. 不明 1
3.7.10. 不明 2
3.7.11. 仲間モンスターの名前
3.7.12. ルーラ行き先
3.8. ウィンドウ
3.8.1. ウィンドウ定義表
3.9. 戦闘行動表
3.10. 店屋表
3.11. エンカウント制御
3.11.1. 概要
3.11.2. グループ
3.11.3. 特別エンカウントの場合
3.11.4. 出現グループ数が単独の場合
3.11.5. 出現グループ数が複数の場合
3.12. タイルエンカウント表
3.13. 仲間モンスターパラメータ初期値表
3.14. 特別エンカウント表
3.15. アイテム解析
3.15.1. $23B081 アイテム価格配列
3.15.2. $23B159 アイテム各種フラグ配列
3.15.3. $23B231 アイテム種別配列
3.15.4. $23B309 インパス参照 1 配列
3.15.5. $23B3E1 インパス参照 2 配列
3.15.6. $23B4B9 アイテム上昇パラメータ配列
3.15.7. $23B591 アイテム装備可能フラグ(人間)配列
3.15.8. $23B669 アイテム装備可能フラグ(モンスター)配列
3.16. 各キャラクター呪文・特技表

本章では SFC 版ドラクエ 5 に関する内容を扱っていく。 記者の個人的な考えだが、SFC 版ドラクエ 5 は SFC で動くドラクエシリーズの中で、 最も逆アセンブル解析の難しいシリーズであると思う。 65816 逆アセンブルを試みればわかるが、 目まぐるしく MX レジスタビットが ON/OFF を繰り返すため、 「本物」のコードを抽出することがなかなか難しい。 ここをどうクリアするかが、本作を解析する最大の問題である。