ファミコンのドラゴンクエスト4の海のモンスターの出現 areaその1

偶然発見した上に発生条件を調べるために記録まで集めたひと.
https://www.youtube.com/watch?v=99LRwL3E86s
さきに解析した人の考察
https://note.com/xyznote/n/ncf3076b8de44
tcrf での解説
https://tcrf.net/Dragon_Warrior_IV_(NES)

PC:$9C81 にある lda $07 がバグでそれをなくすと妥当だと tcrf では記述している. table の data の bit7:6 を海上, bit5:0 を陸上とみなしているのだろう.
このコードを直さない場合は address $0007 の移動前の値の bit7:6 に依存する. 単に2マス以上移動した場合は陸地は and #$3f, 海上は and #$03 によって bit7:6 = 2'b00 になるので area 0 のままになってしまう.

海鳴りのほこらの出口

ここはダンジョンで南への移動で address $0007 = data 0x59 が入る.
よって、出口を出た直後で敵がでると area 1 にできる.

海上

メニューをだした最後の文字が address $0007 に残っている. 最後の文字はパーティの末尾のレベルの値であり、数値の場合は数字2桁に分かれるので1の位の 1 から 0xa, 状態異常は 7 などの小さい値, ? は 0x6d. よって、レベルに ? を表示したあとに1マス進み、敵が出ると area 1 になる.

リバーサイドから出る

ダンジョンとは別の処理のようで data に大きい値は入らず area 0 ばかり.
他に船を利用しながら外のマップに出るという方法が思い当たらない.

area 2 のデータの妥当性

いまのところ正規の手順で出すことは不可能だが、キラースコップ,ダックスビル,リリパットというストーリー序盤の陸地の敵がなぜか出るので本来用意されていたデータか疑問.