KAN NAITO Channelのメモ 2023

2023

【緊急特番!】ドラクエ3の「ぱふぱふ」は、まさかの〇〇だった!発売35年を経て、今明らかになる驚愕の新事実! - YouTube

  • 4STから「ぱふぱふ」について先頭メンバが死んでいると大金をとられるというタレコミ
  • ゴールドを減らす共通処理は 0xce からの 3バイトを、0x7ac からの3バイト(=所持金)から引いている。(但し所持金が足りない場合は引かない)
  • プログラムでは誤って 0x04 からの3バイトに 100 を入れている。つまり本来のぱふぱふ代は100ゴールドだった
  • 0x6a6c にぱふぱふ対象者が何番目かを入れている。先頭が死んでいなければ0だが、先頭が死んでいれば1になる。これがワーク領域 0xd0 に設定していており、かつ、ぱふぱふ代を設定するワークエリアを間違えていたため、たまたま 0xce に入っていた金額が引かれていた。

ドラクエⅢでまたバグ発覚!?しかも禁断の無限増殖の可能性が・・! 内藤かんチャン - YouTube

  • 所持金が99865Gのとき薬草6Gを売ると99999Gになってしまう
  • プログラムを見ると所持金を 99999 でなく 99871 (0x1861f) と比較して、それよりも大きければ 99999 (0x1869f) を設定していた。つまり 99871~99999 の範囲の場合 99999 に増えてしまう。

内藤寬のバグ放浪記 #内藤かんチャン - YouTube

  • 全2回+おまけ2回
  • ゲームスタート直後に初期装備の「どうのつるぎ」と「たびびとふく」を捨てると、王様からもらった装備を装備できない。
  • 王様から装備を貰うとき、主人公のどうぐ領域の2番目~5番目の領域に直接書きこんでいる。それまでに初期装備を捨てていると、どうぐ領域が歯抜けになってしまうのが原因。
  • 上の世界で「にじのしずく」が使えてしまう
  • リムルダール北西の岬 (座標 54H, 3AH) に対応する上の世界でも、にじのしずく(アイテム番号 76H) が使えて橋が表示される。
  • せかいじゅのは」が下の世界のリムルダール近くで取れてしまう
  • 「にじのしずく」と同様に座標 7Bh, 4Ch だけで判定してどちらの世界か見ていない問題と推測(=これは合ってた)。ここで座標の比較がデータベース (9ECFh~)の探索になっていることに気づく。
  • データベースの調査。データベースは (マップ番号, X, Y, 動作) の繰り返し

ランシールバグの謎を解け! #内藤かんチャン - YouTube

  • 全4回
  • ランシールバグ(ランシールの試練を一人で挑み、すぐに帰り、酒場に戻って仲間を3人加えたあと死ぬと、棺桶状態となる)
  • 毒状態のエフェクト(画面を赤くする)が出ていることに着目
  • まず、画面描画期間からVブランク(ゴッドファーザタイム)に入るときにブレイクポイントを張って、パレットデータを赤にしている処理を特定
  • 処理では 0x67, 0x93~ を参照している。0x67に0x93からの配列のインデックスが入っている。これは何?
    • 0x93,0x94,0x95,0x96はパーティ4人それぞれの足元の地形番号
    • 0x66 はパーティ人数が入る、0x67 は 0x66 と同じになるまで+1することでパーティ人数分ループする。0x66はランシールバグ時は0になっており(本来ありえない)、この結果、オーバーフローして 256人分の足元(=アドレス 0x00~0xff) を調べてしまう。ここにたまたま 0x7 があれば毒沼と判断してしまう。
  • なぜ棺で歩き回れるのか
    • 各パーティメンバの状態(0x73c~)を見てグラフィックを決めている。死んでいる状態のため棺桶で表示される。
  • 棺桶状態では主人公の処理アイテムの7番目が階段を下りると変わってしまう。
    • 変わるアイテムのメモリ上の位置は 0x772 (主人公の道具 0x76c~0x773)
    • 0x6de0 にマップごとのチップ番号の意味が書かれている。フィールド以外ではマップごとにチップ番号の割り当てが変わる。チップ番号 1 が 毒の沼地である場合、0x6de1 (=チップ番号1) に 0x5 (毒の沼地) が入る。
    • ここで、0x93 からの 0xff バイト(8ビットでwrapするので 0x00~0xff)に、0x01 があれば、歩いたときに毒判定される。
    • (動画では)検出位置が 44 人目。そのため、44人目の HP を(毒の処理として) 2減らす。これが主人公の道具の7番目の位置にあたるので、道具番号が 2 減らされている。