CHIP-8

CHIP-8 opisuje zarówno interpretowany język programowania , który jest oparty na assemblerze , jak i maszynę wirtualną, na której wykonywane są aplikacje. CHIP-8 jest niezależny od platformy i dlatego może być postrzegany jako poprzednik nowoczesnych maszyn wirtualnych, takich jak Java VM lub .NET CLR .

fabuła

CHIP-8 został opracowany przez Josepha Weisbeckera w połowie lat siedemdziesiątych. Język został pierwotnie zaprojektowany dla komputerów domowych, takich jak COSMAC VIP lub TELMAC . Celem było zapewnienie prostego języka do niezależnego od platformy tworzenia gier wideo .

W 1991 roku Erik Bryntse opracował następcę CHIP-8, tak zwanego SCHIP (Super CHIP). Ten rozszerzył CHIP-8 o kilka dodatkowych poleceń i oferuje na przykład wyższą rozdzielczość. Interpreter CHIP48 opracowany przez Bryntse działał na graficznym kalkulatorze kieszonkowym HP-48 .

Obecnie tłumacze CHIP-8 można znaleźć w wielu nowoczesnych systemach, takich jak telefony komórkowe czy konsole do gier . Powodem jego szerokiego zastosowania jest stosunkowo prosta implementacja języka, co czyni go popularnym projektem na poziomie podstawowym dla twórców emulatorów .

Aplikacje

Image
Zrzut ekranu gry Pong na interpretatorze CHIP-8

Pomimo dużej liczby tłumaczy, zgłoszeń jest stosunkowo niewiele. Większość z nich to proste zręcznościowe implementacje gier takich jak Pong , Space Invaders czy Tetris . Bardziej złożone aplikacje nie są możliwe z powodu małej ilości pamięci i ograniczonej grafiki. Wiele gier jest dostępnych bezpłatnie w Internecie jako domena publiczna .

cechy

Język programowania jest oparty na języku asemblera . Aplikacje są programowane za pomocą kodów operacyjnych . Kod operacji to 16-bitowa wartość, która reprezentuje polecenie i, jeśli ma to zastosowanie, jego argumenty. Kody operacyjne są wykonywane przez interpretera w maszynie wirtualnej. Tłumacze CHIP-8 są często określani jako emulatory . Ściśle mówiąc, jest to jednak niepoprawne, ponieważ programy CHIP-8 nie są wykonywalnym kodem maszynowym, ale kodem bajtowym .

Przechowywanie

Zakres adresów CHIP-8 rozciąga się od 200h do FFFh. Łącznie dostępnych jest 3584 bajtów pamięci głównej. Początek przestrzeni adresowej jest zarezerwowany dla samego interpretera.

zarejestrować

CHIP-8 oferuje 16 8-bitowych rejestrów dla danych oraz 16-bitowy rejestr adresowy.

Grafika i dźwięk

Rozdzielczość wynosi 64 × 32 piksele z 2 kolorami ( monochromatyczne ). SCHIP oferuje ulepszoną rozdzielczość 128 × 64 pikseli. Jedyną możliwością wyjścia dźwięku jest prosty sygnał dźwiękowy ( bip ).

Wejście

Wprowadzanie danych przez użytkownika odbywa się za pomocą klawiatury z 16 klawiszami, której struktura jest podobna do klawiatury numerycznej. Klawisze są ponumerowane szesnastkowo od 0 do F.

literatura

  • RCA COSMAC VIP CDP18S711 Instrukcja obsługi . RCA Solid State Division, Somerville 1978, str. 13–18, 35–37.
  • Joseph Weisbecker: łatwy system programowania . W: Magazyn BYTE , grudzień 1978, s. 108-122.

linki internetowe