差分

ナビゲーションに移動 検索に移動

CHIP-8

1,986 バイト追加, 2020年3月12日 (木) 02:20
ページの作成:「'''CHIP-8'''とは、1970年代にJoseph Weisbeckerによって開発されたインタプリター型のプログラミング言語である。 CHIP-8のイン…」
'''CHIP-8'''とは、1970年代にJoseph Weisbeckerによって開発された[[インタプリター]]型のプ[[ログラミング言語]]である。

CHIP-8のインタプリターはかなり実[[PC]]に近い[[仮想マシン]]であった。このため[[エミュレーター]]の実装入門として非常に人気があり、1970年代から現在に至るまで、あらゆる[[コンピューター]]に、あらゆる[[プログラミング言語]]を用いて[[移植]]されている。
==仮想マシンの概要==
===メモリ===
[[メモリ]]は全体で4096バイト。 これはCHIP-8が最初に実装された[[Cosmac VIP]]と[[Telmac 1800]]の[[メインメモリ]]が4KBだからだそうだ。

*0x000-0x1FF (512バイト): CHIP-8のシステム領域
*0xEA0-0xEFF ( 96バイト): [[コールスタック]]、内部使用、その他の[[変数]]用に予約
*0xF00-0xFFF (256バイト): ディスプレイのリフレッシュ用に予約

===レジスタ===
「V0〜VF」という名前の16個の8ビットのデータレジスタがある。 VFレジスタは一部の命令のフラグとしても機能する。

「I」という名前のインデックスレジスタもあり、こちらは16ビットである。 Iレジスタは、メモリ操作を伴ういくつかのオペコードでメモリアドレスを格納するのに使用される。
===スタック===
CHIP-8には2つのタイマーがある。

*DelayTimer (dt): 実行タイミング用([[フレームレート]]用)
*SoundTimer (st): 0以外の間は[[ビープ音]]がなる

どちらも1バイトの変数であり、値を入れると0に達するまで60Hzの速度でカウントダウンする。たとえば2秒間ビープ音を鳴らすにはstに120をセットする。
===入力===
「0〜F」までの16個のキーを持つ[[キーボード]]が想定されている。
===グラフィックス===
[[解像度]]は64×32 [[ピクセル]]、色はモノクロ。

案内メニュー