0.1 - このドキュメントを読むにあたって
このドキュメントを執筆するにあたり、なるべく簡単に情報が簡単にみつかるように務めた
- 16進数の隣には例えば"0x200 (512)."のようにカッコ内に10進数を併記するようにしている
- イタリックの文字は変数の値を示している(例えば"Vx,"のxは4ビット値)
- まず覚えておくべきことは、このドキュメントの[TOC]をクリックするとTable of contentsに飛べることだ
- そして、すでにクリックしたリンクはグレー、そうでないのはブルーになる
1.0 Chip-8について
「Chip-8のエミュレータを書いているんだ」と話した人への返答はいつもこうだ「Chip-8って何?」
Chip-8は1970年代後半から1980年代にDIYコンピューター用に設計されたシンプルでインタプリタなプログラミング言語である。例えば、COSMAC VIP、DREAM 6800、ETI 660だ。これらのコンピューターはテレビをディスプレイに使用するよう設計され、1から4KのRAMを持ち、16個の16進数キーボードを持っている。インタプリタ自体は512バイトのメモリに収まり、16進数で書かれたChip-8のプログラムはさらに小さい。
1990年代初頭にChip-8言語はAndreas Gustafssonという男によって復活した。AndreasはHP48 graphing calculatorのためにChip-8インタプリタを書いた。HP48はゲームを高速に実行するような機構をもっていなかったが、そこで上手くいったのはChip-8だった。その後、Chip-8からSuper Chip-8が生まれ、より高い解像度やその他グラフィック系の改善が入った。 このChip-8はMS-DOS、Windows 3.1、Amiga、HP48、MSX、Adam、ColecoVision等たくさんのプラットフォームで新しいChip-8インタプリタが生まれるきっかけとなった。私はPaul Robsonの実装をウェブで見かけたことをきっかけにChip-8を書くようになった。
このドキュメントは私がChip-8インタプリタを書くために集めた全ての情報を記したものである。