Skip to content

Comba92/chip8_emu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👾 Chip8 Emulator in Typescript

This is a simple and rudimentary web based Chip8 emulator written in Typescript, for educational porpuoses.

Roms can be loaded or dragged on the web page. Keys mapping is shown on the web page.

The emulator runs on average at 60fps (so 60 Hz) and executes 5 instructions per frame. Getting Chip8 CPU right clock is tricky, as there is no specification on a precise value, and different games will run better at different clock speeds. All the tests from Timendus test suite are ok.

Building

Install dependencies:

git clone https://github.com/Comba92/chip8-emu.git
npm i

Build and run:

npm run build
npm run preview

Resources

Various resources I used.

Possible Updates

  • Memory and Registers real-time dump
  • Roms list picker
  • Dynamically change CPU clock
  • Settable keys
  • Better page visuals