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
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
- Katalog techniczny dotyczący CHIP8 (angielski)
- http://www.pong-story.com/chip8/
- Dokumentacja techniczna Davida Wintera ( Memento z 7 stycznia 2009 w Internet Archive )