Skip to content

dderevjanik/chip8-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip 8 Emulator in Typescript

What's a Chip-8

Chip-8 is a simple, interpreted, programming language which was first used on some do-it-yourself computer systems in the late 1970s and early 1980s. The COSMAC VIP, DREAM 6800, and ETI 660 computers are a few examples. These computers typically were designed to use a television as a display, had between 1 and 4K of RAM, and used a 16-key hexadecimal keypad for input. The interpreter took up only 512 bytes of memory, and programs, which were entered into the computer in hexadecimal, were even smaller.

In the early 1990s, the Chip-8 language was revived by a man named Andreas Gustafsson. He created a Chip-8 interpreter for the HP48 graphing calculator, called Chip-48. The HP48 was lacking a way to easily make fast games at the time, and Chip-8 was the answer. Chip-48 later begat Super Chip-48, a modification of Chip-48 which allowed higher resolution graphics, as well as other graphical enhancements.

Chip-48 inspired a whole new crop of Chip-8 interpreters for various platforms, including MS-DOS, Windows 3.1, Amiga, HP48, MSX, Adam, and ColecoVision. I became involved with Chip-8 after stumbling upon Paul Robson's interpreter on the World Wide Web. Shortly after that, I began writing my own Chip-8 interpreter.

- copied from Technical Reference

Implementation

Chip 8 TS is usig immutable library. There're several advantages of using immutable in this project. One of them is thah every instructions will create new state, so you can iterate over all instructions backwards. It's not good choice to using immutable in project like this, but it's just experiment.

Run

To run app, type in terminal

$ npm install
$ webpack-dev-server

and then open localhost:8080 in browser

Credits

In order to create Chip 8 emulator, you should read Technical Reference how Chip-8 works first

I also found article Javascript Chip-8 Emulator as source of good informations

About

Chip-8 Emulator written in Typescript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published