CHIP 8 Emulator
Emulator, w tym przypadku właściwie interpreter, to wirtualna maszyna, na której uruchamiane są programy. Początkowo używane na COSMAC VIP i Telmac 1800, 8-bitowych mikrokomputerach lat 70tych. Interpretery CHIP8 pojawiły się następnie w latach 80tych na programowalnych kalkulatorach graficznych. W skrócie.
Używam określenia emulator, bo to „…program komputerowy … który uruchomiony w danym systemie komputerowym duplikuje funkcje innego systemu komputerowego…”. Emulatory zawsze mnie interesowały i w końcu przyszedł czas na praktykę. Był to ciekawy projektu na rozgrzewkę w Pythonie. Kandydatów było kilku, zwycieżył CHIP8. Zadanie okazało się łatwiejsze niż przypuszczałem i potwierdzam opinie, że na początek jest to dobry wybór dla osób chcących sprawdzić się w temacie.
Jak napisać emulator?
Trzeba znaleźć wszelką dostepną dokumentację i zorientować się w jakim języku lub czy nasz ulubiony pociągnie temat. CHIP 8 jako pseudo urządzenie miał dość kiepską dokumentację więc najtrudniej było trafić na właściwe źródła.
Prezentowany emulator jest w pełni funkcjonalny, działają wszystkie programy oprócz kilku zmodyfikowanych przez autorów innych wersji emulatora (bardziej restrykcyjne lub nieoficjalne zestawy instrukcji itp.). Działa dźwięk i klawiatura, wczytywanie programów. Dodany jest disassembler i debugger. Emulator otrzyma jeszcze kilka usprawnień i być może kod warunkowy dla uruchomienia tej nieistotnej, ale istniejącej grupki programów działających błędnie.
Emulator CHIP 8 uruchomiony w Blenderze 3D w Pythonie

Emulator przeniesiony do Blendera 3D – Python

Emulator CHIP 8 – debugger wersji w Javascript
Żródło na Github CHIP 8 Vanilla Javascript – bez zbędnych bibliotek
Demo na żywo CHIP 8 Live JS

CHIP-8. (2016, July 11). In Wikipedia, The Free Encyclopedia. Retrieved 20:52, July 13, 2016, from https://en.wikipedia.org/w/index.php?title=CHIP-8&oldid=729331553
Zobacz Wikipedia, Emulator, http://pl.wikipedia.org/wiki/Emulator (dodatkowy opis tutaj) (dostęp lip. 13, 2016, 20:50 GMT).
Musisz być zalogowany, aby dodać komentarz.