Chip8

Chip8

CHIP-8 beschreibt sowohl eine interpretierte Programmiersprache, die an Assembler angelehnt ist, als auch die virtuelle Maschine, innerhalb der die Anwendungen ausgeführt werden. CHIP-8 ist plattformunabhängig und kann daher als ein Vorgänger moderner VM wie Java VM oder .NET CLR angesehen werden.

Inhaltsverzeichnis

Geschichte

CHIP-8 wurde von Joseph Weisbecker Mitte der 70er-Jahre entwickelt. Ursprünglich wurde die Sprache für Heimcomputer wie den COSMAC VIP oder den TELMAC konzipiert. Das Ziel war eine einfache Sprache zur plattformunabhängigen Entwicklung von Videospielen bereitzustellen.

Im Jahr 1991 entwickelte Erik Bryntse einen Nachfolger zu CHIP-8, den sogenannten SCHIP (Super CHIP). Dieser erweiterte CHIP-8 um einige zusätzliche Befehle und bietet beispielsweise eine höhere Auflösung. Der von Bryntse entwickelte CHIP48-Interpreter lief auf dem grafischen Taschenrechner HP-48.

Heute finden sich CHIP-8-Interpreter für eine Vielzahl moderner System, wie beispielsweise Mobiltelefone oder Spielkonsolen. Grund für die hohe Verbreitung ist die vergleichsweise einfache Umsetzung der Sprache, was sie zu einem beliebten Einstiegsprojekt für Entwickler von Emulatoren macht.

Anwendungen

Screenshot des Spiels Pong auf einem CHIP-8-Interpreter

Trotz der hohen Anzahl an Interpretern existieren vergleichsweise wenige Anwendungen. Den Großteil machen einfache Arcade-Umsetzungen von Spielen wie Pong, Space Invaders oder Tetris aus. Komplexere Anwendungen sind auf Grund des geringen Speichers und der limitierten Grafik nicht möglich. Viele Spiele sind als Public-Domain frei im Internet verfügbar.

Eigenschaften

Die Programmiersprache ist an die Assemblersprache angelehnt. Anwendungen werden mittels Opcodes programmiert. Ein Opcode ist dabei ein 16-Bit Wert, der einen Befehl sowie gegebenenfalls dessen Argumente repräsentiert. Die Opcodes werden vom Interpreter innerhalb einer Virtuellen Maschine ausgeführt. Oft werden CHIP-8-Interpreter auch als Emulatoren bezeichnet. Dies ist jedoch streng genommen falsch, da es sich bei CHIP-8-Programmen nicht um lauffähigen Maschinencode handelt, sondern um Bytecode.

Speicher

Der Adressbereich von CHIP-8 geht von 200h bis FFFh. Insgesamt stehen damit 3584 Bytes an Arbeitsspeicher zur Verfügung. Der Anfang des Adressraumes ist für den Interpreter selbst reserviert.

Register

CHIP-8 bietet 16 8-Bit Register für Daten, sowie ein 16-Bit Adressregister.

Grafik und Sound

Die Auflösung beträgt 64×32 Pixel bei 2 Farben (monochrom). SCHIP bietet eine verbesserte Auflösung von 128×64 Pixel. Die einzige Möglichkeit zur Soundausgabe ist ein einfacher Signalton (Beep).

Eingabe

Die Benutzereingabe erfolgt über eine Tastatur mit 16 Tasten, die ähnlich dem Ziffernblock aufgebaut ist. Die Tasten sind hexadezimal von 0 bis F nummeriert.

Literatur

  • RCA COSMAC VIP CDP18S711 Instruction Manual. RCA Solid State Division, Somerville 1978, S. 13-18, 35-37.
  • Joseph Weisbecker: An Easy Programming System. In: BYTE magazine, Dezember 1978, S. 108-122.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • CHIP8 — CHIP 8 beschreibt sowohl eine interpretierte Programmiersprache, die an Assembler angelehnt ist, als auch die virtuelle Maschine, innerhalb der die Anwendungen ausgeführt werden. CHIP 8 ist plattformunabhängig und kann daher als ein Vorgänger… …   Deutsch Wikipedia

  • Chip-8 — beschreibt sowohl eine interpretierte Programmiersprache, die an Assembler angelehnt ist, als auch die virtuelle Maschine, innerhalb der die Anwendungen ausgeführt werden. CHIP 8 ist plattformunabhängig und kann daher als ein Vorgänger moderner… …   Deutsch Wikipedia

  • SCHIP — CHIP 8 beschreibt sowohl eine interpretierte Programmiersprache, die an Assembler angelehnt ist, als auch die virtuelle Maschine, innerhalb der die Anwendungen ausgeführt werden. CHIP 8 ist plattformunabhängig und kann daher als ein Vorgänger… …   Deutsch Wikipedia

  • CHIP-8 — Screenshot of Pong implemented in CHIP 8 CHIP 8 is an interpreted programming language, developed by the late Joseph Weisbecker. It was initially used on the COSMAC VIP and Telmac 1800 8 bit microcomputers in the mid 1970s. CHIP 8 programs are… …   Wikipedia

  • Flash emulator — A Flash emulator is an emulator that uses Flash. Three known emulators in Flash have been created. These are:* Chip8 (http://newsdee.com/flip8/) * ZX Spectrum (http://www.jorin.com/shed/zx spectrum 48k games/?sna=basic) * Commodore 64… …   Wikipedia

  • CHIP-8 — beschreibt sowohl eine interpretierte Programmiersprache, die an Assembler angelehnt ist, als auch die virtuelle Maschine, innerhalb der die Anwendungen ausgeführt werden. CHIP 8 ist plattformunabhängig und kann daher als ein Vorgänger moderner… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”