「CHIP-8」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''CHIP-8'''とは、1970年代にJoseph Weisbeckerによって開発されたインタプリター型のプログラミング言語である。 CHIP-8のイン…」)
 
 
(同じ利用者による、間の1版が非表示)
11行目: 11行目:
  
 
===レジスタ===
 
===レジスタ===
「V0〜VF」という名前の16個の8ビットのデータレジスタがある。 VFレジスタは一部の命令のフラグとしても機能する。
+
「V0〜VF」という名前の16個の[[8ビット]]の[[データレジスタ]]がある。 VFレジスタは一部の[[命令]]の[[フラグ]]としても機能する。
 +
 
 +
「I」という名前の[[インデックスレジスタ]]もあり、こちらは[[16ビット]]である。 Iレジスタは[[メモリ]]操作を伴ういくつかの[[オペコード]]でメモリアドレスを格納するのに使用される。
  
「I」という名前のインデックスレジスタもあり、こちらは16ビットである。 Iレジスタは、メモリ操作を伴ういくつかのオペコードでメモリアドレスを格納するのに使用される。
 
 
===スタック===
 
===スタック===
 
CHIP-8には2つのタイマーがある。
 
CHIP-8には2つのタイマーがある。
20行目: 21行目:
 
*SoundTimer (st): 0以外の間は[[ビープ音]]がなる
 
*SoundTimer (st): 0以外の間は[[ビープ音]]がなる
  
どちらも1バイトの変数であり、値を入れると0に達するまで60Hzの速度でカウントダウンする。たとえば2秒間ビープ音を鳴らすにはstに120をセットする。
+
どちらも1バイトの[[変数]]であり、値を入れると0に達するまで60[[Hz]]の速度でカウントダウンする。たとえば2秒間ビープ音を鳴らすにはstに120をセットする。
 +
 
 
===入力===
 
===入力===
 
「0〜F」までの16個のキーを持つ[[キーボード]]が想定されている。
 
「0〜F」までの16個のキーを持つ[[キーボード]]が想定されている。
 
===グラフィックス===
 
===グラフィックス===
 
[[解像度]]は64×32 [[ピクセル]]、色はモノクロ。
 
[[解像度]]は64×32 [[ピクセル]]、色はモノクロ。

2022年3月31日 (木) 09:36時点における最新版

CHIP-8とは、1970年代にJoseph Weisbeckerによって開発されたインタプリター型のプログラミング言語である。

CHIP-8のインタプリターはかなり実PCに近い仮想マシンであった。このためエミュレーターの実装入門として非常に人気があり、1970年代から現在に至るまで、あらゆるコンピューターに、あらゆるプログラミング言語を用いて移植されている。

仮想マシンの概要[編集 | ソースを編集]

メモリ[編集 | ソースを編集]

メモリは全体で4096バイト。 これはCHIP-8が最初に実装されたCosmac VIPTelmac 1800メインメモリが4KBだからだそうだ。

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

レジスタ[編集 | ソースを編集]

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

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

スタック[編集 | ソースを編集]

CHIP-8には2つのタイマーがある。

どちらも1バイトの変数であり、値を入れると0に達するまで60Hzの速度でカウントダウンする。たとえば2秒間ビープ音を鳴らすにはstに120をセットする。

入力[編集 | ソースを編集]

「0〜F」までの16個のキーを持つキーボードが想定されている。

グラフィックス[編集 | ソースを編集]

解像度は64×32 ピクセル、色はモノクロ。