2024/10/01

ぢらいメモ

説明

この動画を作るときにメモしておいたものです。

そのままコピペしただけのものなので見にくいと思いますが、良ければどうぞ。

メモ

ふたごじまのぢらい・改
ポケモン バグ技実況ツアー その27
ふたごじまでマップが崩壊するバグ - Pokémon Red/Blue(Japanese version)
【閲覧注意】ふたごじまで恐ろしいバグり方をしたらしい…【ポケモン赤緑】- Pokémon Red/Blue Glitch
ふたごじまのぢらい・滅
pokered-docs-ja

ふたごじまスクリプト 11:4DC9
ふたごじまイベントテーブル 11:4E2B 0F71,0F71,077D,0411
FF8C イベント番号
左のぢらいはイベント番号3、右は4
D2D7 文字表示のはやさらしい
(0D,05),(0D,19)
13DF(青293E) イベントを起こす (FF8C)番目のイベントを起こす
3C67(黄3C42,青3C8D,初期3C89) 文字描画コマンド制御 HL,文字列


ぢ イベント cm jp
左 077D CB 1312
右 0411 20 3EC9


左 077D
EA,DD,D2,FA,0E,D3,EA,E1,D2,FA,E0,D2,4F,FA,
0D,
D3,81,4F,EA,E0,D2,FA,0F,D3,6F,FA,10,D3,67,CB,39,28,0E,FA,0C,D3,C6,
06,
5F,16,
00,06,00 ここのエラーで打ち止め
右 0411
04,CB,47,CA,A4,
04,FA,AF,D6,CB,
57 直前のコマンドで巨大な枠が表示されることでSEのバンクが7Aに書き換わりフリーズ

7D071104はD32C~のアドレスで使われている
7D 範囲外のマップブロックの種類
07 入口出口の数
0411出口0の(y,x)

通常コマンドはhlに次のコマンドの場所を入れてから終了する(0602に飛ばす)もんなんだがね
あと普通はhlにpopしてからいろいろと処理するはずなのにpopしていないコマンドはやばい。本来コマンドとして読むべきものをpcにしてしまうと。
CB(1312)コマンドは偶然連続で二回retがあるから(D2D7)の値のスタックが崩されて0150に飛ぶ。
だから(D2D7)にDEとか適当な値を入れて左ぢらいに話しかけるといい感じに任意コード実行できる。
右ぢらいの20(3EC9)コマンドはなんかうまいことルーチンを抜けている
スターブロブさんには処理落ちすると書かれているけど何も起こらない。なぜ。
コードを見た感じも固定で終了っぽいんだけどなあ…
起こりました。(D2D7)の数値の問題らしい。bit1が立っていると遅くなる。390Bでなんか遅れている。
スタックがなんかうまくいっているせいでフリーズはしていないけどD2D7に値が戻されていないのでbit1が立ったままになっている。
390B AかBを押すとVblankを待って終了?押さなければ(D2D4)フレーム待って終了?
なんか0405のループを実行するたびに390Bが実行されているみたい。要するに一文字表示させるごとにはなしのはやさ(D2D4)フレームかかるということ
通常D2D7のbit1は立ってない状態なので遅く感じるというわけ
人と話すときは大体bit1が立っているわけだが、メニューやら何やらでは通常では立っていない。
ちなみにD6AFのbit6が立っているときはどっちみち一瞬で表示される。これがテキスト技ってやつ。
D2D7が3の時に左ぢらいを踏むと大変なことになる。

青版のコマンドは赤緑とは違って0E以降は全てSEになっている(テーブルの削減でしょう)

0350はフォントをVRAMに移し替える処理の途中。だからタイルがおかしくなる。
FFCBに値が入っているとマップを書き換える処理が入る?違う、フォントを書き換える処理。
本来フォントに使う処理をマップのVRAMに使っているから変な文字が出てくる。2文字ずつ出てくるのはフォントが必ず黒であるため。
出てくる文字は11:5319あたりから。ロケット団アジトB1(C7)の右のトレーナーのセリフ。
通常は128文字分のタイルを書き換えるところ177文字分書き換えることになっている

右ぢらい 20 3EC9 なんかの保存のプログラムに飛んですぐにret 0411に飛ぶ
左ぢらい CB 1312 圧縮方法のプログラムに飛んですぐにret 077Eに飛ぶ


29 08 0F 3A 08 10 40 08 11 8D 08 12 59 08 13 85 08 14 8C 08 15 9A 08 16 AB 08 17 B6 08 18 44 08 19 51 08 1A DF 08 1B E0 08 1C E1 08 1D FF 00 54 8D AB
上向きイベントがあるマップテーブル
マップ番号、向き(C901)、バンク

ボクは ぢらい
みえない ぢらい
コマンドさがす スタックのこえ
みんな ぢらいに はなさないでね
ボクはぢらいボクはぢらいボクはぢらいボクはぢらい
サイズ でかすぎ
ボクはぢらいボクはぢらいボクはぢらいボクはぢらい
クソでか わくを
ボクはぢらいボクはぢらいボクはぢらいボクはぢらい
さがす しゅうたん
ボクはぢらいボクはぢらいボクはぢらいボクはぢらい
ひでえな ぢらい