チートとしてのPOKE
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/27 08:54 UTC 版)
「PEEKとPOKE」の記事における「チートとしてのPOKE」の解説
多くの8ビットコンピュータ用ゲームにおいては、ゲームをメモリにロードし、起動する前に特定のメモリアドレスを変更して、無制限のライフ、無敵化、敵からの不可視化などのチートを行うことができた。このような変更は、POKEコマンドを使って行われた。コモドール64、ZX Spectrum、Amstrad CPCでは、関連するカートリッジやMultiface(英語版)を持っているプレイヤーは、実行中のプログラムをフリーズさせてPOKEを入力し、チート状態で再開することもできた。 例えば、ZX Spectrum向けの『ナイト・ロアー』では、以下のコマンドで無敵化することができた。 POKE 47196, 201 この場合、値201はRET命令に相当するので、衝突判定をトリガーする前に、ゲームがサブルーチンから早期に復帰する。 『ユア・シンクレア(英語版)』などの雑誌には、ゲームにおけるそのようなPOKEコマンドが掲載されていた。このようなコードは、一般的に、機械語コードをリバースエンジニアリングして、ライフ数、衝突の検出などに関連するメモリアドレスを識別することで発見されていた。 POKEによるチートの使用は、最近のゲームでは難しくなっている。最近のオペレーティングシステムは、外部プログラムからの非共有メモリへのアクセスができないようするために、仮想記憶化によるメモリ保護を行っている(例えば、アプリケーションごとにページテーブルを分けるなど)。
※この「チートとしてのPOKE」の解説は、「PEEKとPOKE」の解説の一部です。
「チートとしてのPOKE」を含む「PEEKとPOKE」の記事については、「PEEKとPOKE」の概要を参照ください。
- チートとしてのPOKEのページへのリンク