5.1. テキスト

5.1.1. 戦闘モード
5.1.2. 移動モード
5.1.3. データ

本節ではテキスト出力について見ていく。本質的には SFC 版ドラクエ 6 と同じ構造だ。

5.1.1. 戦闘モード

戦闘モードのテキスト処理は、各種定数の違いを除けば前作 4.3.1 戦闘モード と同じ設計だ。 細部の違いはあるものの、ほとんど同じ実装とみなしてよい。 したがって、戦闘モードのテキスト処理に関係する機能を次の表に示してこの節を終える:

表 5.1 重要な戦闘モードテキスト機能

アドレス 分類 意味
$C152A4 データ メッセージ格納アドレス計算配列
$C1A867 サブルーチン 戦闘モードテキスト出力(実引数を ID とする)
$C1A87A サブルーチン 戦闘モードテキスト出力(A レジスター値を ID とする)
$C1ABC0 サブルーチン 戦闘モードテキスト出力共通部
$C1AC61 サブルーチン メッセージ ID を入力して、データ格納アドレスを $A0:$A3 に出力する
$C1ACCE サブルーチン 必要に応じて文字コードを変換する
$C1AD4A データ 濁点文字コードから濁点を抜いた文字コードへの対応を与える配列
$C1AD73 データ 半濁点文字コードから半濁点を抜いた文字コードへの対応を与える配列
$C1AD7D データ ある文字コードから「~」や「+」へ変換するための配列
$FC9C22 データ メッセージデータ

5.1.2. 移動モード

移動モードのテキスト処理は、各種定数の違いを除けば前作 5.1.2 移動モード と同じ設計だ。 細部の違いはあるものの、ほとんど同じ実装とみなしてよい。 また、BRK 命令が移動モードにおけるテキスト出力を実行することも同じだ。 したがって、移動モードのテキスト処理に関係する機能を次の表に示してこの節を終える:

表 5.2 重要な移動モードテキスト機能

アドレス 分類 意味
$C0FFA8 BRK ハンドラー $C1A944 または $C1A92E を実行する
$C10CD5 データ 小から大への文字コード変換対応
$C1A8EA サブルーチン (type 1) 移動モードテキスト出力(実引数を ID とする)
$C1A900 サブルーチン (type 1) 移動モードテキスト出力(A レジスターを ID とする)
$C1A917 サブルーチン (type 1) 移動モードテキスト出力(A レジスターを ID とする)
$C1A92E サブルーチン (type 1) 移動モードテキスト出力(実引数を ID とする)
$C1A944 サブルーチン (type 1) 移動モードテキスト出力(実引数を ID とする)
$C1A95A サブルーチン (type 1) 移動モードテキスト出力(A レジスターを ID とする)
$C1A971 サブルーチン (type 1) 移動モードテキスト出力(A レジスターを ID とする)
$C1A988 サブルーチン (type 1) 移動モードテキスト出力(実引数を ID とする)
$C1A9D3 サブルーチン (type 1) 移動モードテキスト出力(実引数を ID とする)
$C1AA21 サブルーチン (type 2) 移動モードテキスト出力(A レジスターを ID とする)
$C1AA6B サブルーチン (type 1) 移動モードテキスト出力(A レジスターを ID とする)
$C1AAB2 サブルーチン (type 1) 移動モードテキスト出力(A レジスターを ID とする)
$C1AF1D サブルーチン (type 1) 移動モードテキスト出力共通部
$C1AF44 サブルーチン (type 2) 移動モードテキスト出力共通部
$C1AFB9 サブルーチン メッセージ ID に対応するデータ格納アドレスと復号用マスクビットを得る
$C1B01C データ マスクビット配列
$C1B024 サブルーチン データ格納アドレスと復号用マスクビットを基にハフマン符号を復号、取得する
$C1B078 サブルーチン 小フォント文字コードを対応する大フォント文字コードに変換する
$C15331 データ メッセージ格納アドレス計算配列
$C159D3 データ ハフマン木ノード (OFF)
$C161A7 データ ハフマン木ノード (ON)
$C737B1 サブルーチン $C1A971 または $C1A95A を実行する
$C737BE サブルーチン $C1A8EA または $C1A8D4 を実行する
$C737CB サブルーチン $C1A917 または $C1A900 を実行する
$FCC258 データ メッセージデータ

5.1.3. データ

抽出した戦闘モードおよび移動モードにおける全テキストデータそれぞれを UTF-8 テキストファイルとして 付録 B データ で提供する。