Wonderland Seeker

TOP(最新情報)を最初に見てね

フリーズキャプチャー・アム゛【オペコード編】

『オペコード』その命令が正しくない時、この世に災いが......

 

アム゛は、不正サムチェックが得意な後ろ姿のポケモン
ある日、アム゛がバトルから帰るとレポートデータが真っ白に......!

 

f:id:Alice_Wreath:20200820151032p:plain

 

ほらCatch You Catch You Catch Me Catch Me待って~♪

こにゃにゃちわ!ギ▶アゴやで

f:id:Alice_Wreath:20200820151607p:plain

これ↑


今回はアム゛と一緒に《なぜフリーズするのか?》という原因の解明を特集していくで

まず、みんなはポケモンをやっててフリーズってしたことあるか?

したことないって子はまじめちゃんやな。ブラウザバックするとええで~

したことあるって子はいつどんなときにフリーズしたんや?

まぁまぁ、みなまでいわんでええ。ワイがぜーんぶ教えたるさかい

 

f:id:Alice_Wreath:20200820153005p:plain

 

ひとことにフリーズちゅっても、そのタイプはさまざまや
画面がまっくらになったりまっしろになったり、ぐちゃぐちゃになったり
画面はそのままでもBGMだけがおかしかったりと色んな種類が見られるで

体感やけれど

まっくらになるときは、だいたいけつばんみたいな前姿のないポケモンとエンカウントした時やハード側の接触不良で止まるときが多いな
まっしろになるときは、最大HP0のポケモンがおるときにバトルから離脱したり見たらあかんデータをステータスとかで見て画面切り替わるときが多い気するで
ぐちゃぐちゃなるときは、壁抜けでマップの外出たりするとよぉ見れるわ
BGMだけがおかしいときって割と深刻なエラーが起きてること多いんやで

まぁあくまでも体感やけどな

こればっかりは特定できんし、フリーズしたときのパターンなんて網羅しきれん

せやから、今から説明するのはフリーズする原因そのものや

せやなぁ、アム゛。ちょっと壁抜けてそこ突き抜けてみてくれへん?

 

f:id:Alice_Wreath:20200820154115p:plain

 

うん、ここまでぐちゃるのは中々珍しいけどな

これがいわゆる

《マップ外侵入型フリーズ》やな

用意されているマップデザインの1マス先に突っ込んだ際に起きる現象や

このメカニズムは単純やで

簡単に言えば、たとえば16*16のマップがあったとしてゲーム的には
主人公の座標はそのマップを基本に
X:1Y:5の位置
とかにおるって認識されてるわけや

でもX:17におる場合なんて当然想定してへんやろ?

そうなるとプログラムエラーが発生してやむなくゲームを停止させるって原理やな

マサラタウンの両脇にある草むらなんかが分かりやすい例やと思うわ

マップがあるように見えて実は空白のマップってことやさかいな

あとワープバグとかやってワープ先が座標として正しくない場合もこうなるで

 

ほな次に行ってみよか

アネデパミを召喚してくれんか?

 

f:id:Alice_Wreath:20200820154957j:plain

レリーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーズ!

 

そのままバトルから逃げてみて

 

 

f:id:Alice_Wreath:20200820155204p:plain

 

うん、まっしろわーるどになってもうたな

これはいわゆる《読み込む領域が存在しない型フリーズ》やな

その名の通り、ゲーム側がデータを読み取ろうとしたとき
読み取るべきデータが存在せえへんゆえに不具合が起きてエラーを吐くんや

最大HPやら取得経験値やらが0の場合を想定してるわけもあらへんからな

次のbyteにアクセスできんからそこで止まってまうってことや

 

よっしゃ、つぎ行ってみよか

ここが本番やでっ

育て屋とかボックスに誰も預けてへん状態で《なかよしバッヂ》つかってみて

 

もうスクショするのもめんどいからせえへんけど当然凍るでな

これは恐らく最もフリーズする原因が多いであろう諸悪の根源や

《不正アドレスオペコード型フリーズ》と名付けよか

もちろんやけど、基本的にゲーム側は機械語を自分の言葉とも思ってへんくて

実はただ与えられた数字(メモリ)をあらかじめ設定された命令に従って動かしてるだけに過ぎへんのや

つまりあくまで全てプログラムとして解釈しとって、解釈したらあかんところだけをあらかじめブレーキみたいな命令を作っておくことで回避してるわけやな

まぁその領域がちゃんとしたプログラムやったらかまへんわ

でももし元々プログラムでもなんでもないただの16進数の羅列をプログラムとしてオペコードしたら?

当然暴走を起こしてゲームはフリーズ一直線ってなわけや

このパターンはみんなもようやらかしてんちゃうか?

興味本位でアイテムとしてテーブルが用意されてへんどうぐを使ってみたりな?

まぁこいつを上手いこと利用してるのが壁抜けやったり任意コード実行やったりするんやけどな。ただレポートデータの領域よりは絶対に下のメモリしか触らんからデータのフアイルがこわれています、なんてことは起こらんからそこだけは救いやな

 

・・・え?察しのええやつやな~

もちろんあるで、レポートデータが格納されている領域まで踏み込んでまうフリーズ

ただその場所まで到達するようなプログラムやらメモリの並びは基本的にはないからめったにおこらへんのやけどな

でも知っとるで。やらかしたことあるんやろ?

 

『データの フアイルが こわれています!』

 

じゃあなんでこうなるかについてワイが直々に説明を......って
誰やねんワイにエンカウントしに来たトレーナーは!

しゃーない、ワイの経験値タイプはバグッとるからちょっくらフリーズさせたろか

(《読み込む領域が存在しない型フリーズ》)

 

というわけで今回はここまでやで

次会う時があったらレポートを破壊させる原因を教えたるわ

ほなな~

 

EXIT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

「フアイルのデータが…」はチェックサムエラー
要はチェックサムそのままでデータの一部だけ変化すると出る
初代はSRAMの一部をグラフィック用のバッファメモリとして使ってるから
バグ表示がメモリを超えてセーブデータにまで浸蝕したりすることがある

ふたごじまの地雷とか、わざマシン14を使用した際みたいなバググラフィックが百鬼夜行するようなことをすると・・・