ドラゴンクエスト (FC) 解析資料

Published on: 2021-09-23

RAM マップ

概要

アドレス内容
$00-$01雑用
$02u8NMI完了待ち用(NMI完了時に 0 になる)。通常は 1 にしてNMIの完了を待つ。0xFF にするとNMI内のPPU関連処理がスキップされる
$03u8PPUデータ転送キューの要素数
$04u8PPUデータ転送キューの現在のオフセット
$05u16PPUスクロールオフセットx
$07u8PPUスクロールオフセットy
$08-$10雑用
$11ptr現在のマップデータへのポインタ
$13u8現在のマップ座標x最大値(この値 +1 がマップ幅となる)
$14u8現在のマップ座標y最大値(この値 +1 がマップ高さとなる)
$15u8現在のマップの範囲外を埋める地形
$16u8現在のマップ種別 (0:フィールド, 0x20:洞窟, 0x10:それ以外)
$17ptr現在のマッププレーンデータへのポインタ (0 の場合無効)
$19u8現在位置のマッププレーン (0:表, 8:裏)
$1Au8[8][2]開けた扉の座標 (x,y) の配列
$2Au8[8][2]開けた宝箱の座標 (x,y) の配列
$3Au8現在位置のマップ座標x
$3Bu8現在位置のマップ座標y
$3C-$43雑用
$44(未使用)
$45u8現在のマップID
$46u8雑用 (入力読み取り時の拡張ポート対応用)
$47u8入力 (RLDUTSBA)
$48
$49
$4A
$4B
$4C
$4D-$4E雑用
$4Fu8NMIカウンタ
$50u8シンボルアニメーションカウンタ (16F ごとに 8 増え、値が 16 の倍数かどうかでシンボルスプライトを切り替える)
$51-$8Cu8[20][3]NPCシンボル管理用
$8Du8NPCシンボル移動カウンタ (0xFF のときNPCシンボル無効。さもなくば mod 5 で 16F ごとに 1 増える)
$8Eu8移動先マップ座標x
$8Fu8移動先マップ座標y
$90u16マップ上でのピクセル座標x
$92u16マップ上でのピクセル座標y
$94u16乱数
$96u8NPCの移動を禁止するか (0:false, 0xFF:true)
$97-$A1雑用
$A2(未使用)
$A3-$B4
$B5-$B9u8[5]主人公 名前
$BAu16主人公 経験値
$BCu16所持金
$BEu8装備 (bit0-1:盾, bit2-4:鎧, bit5-7:武器)
$BFu8かぎ所持数
$C0u8やくそう所持数
$C1-$C4u8[4]インベントリ (1Byte あたり 2 個。4bit の道具IDが下位ニブルから順に格納される)
$C5u8主人公 HP
$C6u8主人公 MP
$C7u8主人公 レベル
$C8u8主人公 力
$C9u8主人公 素早さ
$CAu8主人公 最大HP
$CBu8主人公 最大MP
$CCu8主人公 攻撃力
$CDu8主人公 守備力
$CEu8呪文習得フラグ
$CFu8呪文習得/各種フラグ
$D0u8光源範囲 (1, 3, 5, 7 のいずれか。通常時 1, たいまつ使用で 3, レミーラ使用で 7 になる)
$D1-$D9
$DAu8光源カウンタ
$DBu8聖水/トヘロス効果 (bit0:0=聖水,1=トヘロス, bit1-7:残量)
$DC-$DE雑用
$DFu8各種フラグ
$E0u8敵 モンスターID
$E1
$E2u8敵 HP
$E3u8まほうのよろい装備時の歩数カウンタ (4 の倍数のときHPが 1 回復)
$E4u8各種フラグ
$E5u8メッセージウェイト設定 (0:FAST, 1:NORMAL, 2:SLOW)
$E6-$FF
$0100u8敵 攻撃力
$0101u8敵 守備力
$0102u8敵 最大HP
$0103u8
$0104u8敵 マホトーン耐性/ラリホー耐性 (bit0-3:マホトーン耐性, bit4-7:ラリホー耐性)
$0105u8敵 回避力/攻撃呪文耐性 (bit0-3:回避力, bit4-7:攻撃呪文耐性)
$0106u8敵 経験値
$0107u8敵 金基本値
$0108-$0111u8敵 名前
$0112-$01FFスタック領域
$0200-$02FFSprite[64]スプライトバッファ
$0300-$03BFu8[192]PPUデータ転送キュー
$03C0-$03FF
$0400-$07BF
$07C0-$07FF