Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/comba92/chip8-emu
👾 Chip8 basic Emulator in Typescript.
https://github.com/comba92/chip8-emu
chip-8 emulator frontend html5-canvas web webdev
Last synced: 6 days ago
JSON representation
👾 Chip8 basic Emulator in Typescript.
- Host: GitHub
- URL: https://github.com/comba92/chip8-emu
- Owner: Comba92
- Created: 2023-10-28T09:07:54.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-22T21:07:36.000Z (about 1 year ago)
- Last Synced: 2024-11-21T00:02:36.842Z (2 months ago)
- Topics: chip-8, emulator, frontend, html5-canvas, web, webdev
- Language: TypeScript
- Homepage:
- Size: 42 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 👾 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](https://github.com/Timendus/chip8-test-suite) are ok.## Building
Install dependencies:
```bash
git clone https://github.com/Comba92/chip8-emu.git
npm i
```Build and run:
```bash
npm run build
npm run preview
```## Resources
Various resources I used.
- [awesome-chip-8: collection of resources](https://github.com/tobiasvl/awesome-chip-8)
- [Guide to making a Chip8 emulator](https://tobiasvl.github.io/blog/write-a-chip-8-emulator/)
- [Chip8 emulator in Rust](https://github.com/aquova/chip8-book)
- [Chip8 emulator in Javascript](https://www.taniarascia.com/writing-an-emulator-in-javascript-chip8/)
- [wasm-rust-chip8](https://github.com/ColinEberhardt/wasm-rust-chip8)- [Chip8 instruction set reference](http://devernay.free.fr/hacks/chip8/C8TECH10.HTM)
- [Chip8 timers clock](https://www.reddit.com/r/EmuDev/comments/7v7flo/duncetier_chip8_question_how_do_i_set_the_timers/)## Possible Updates
- Memory and Registers real-time dump
- Roms list picker
- Dynamically change CPU clock
- Settable keys
- Better page visuals