Skip to content

patrickreisx/Chip8-Emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chip8 Emulator in JavaScript

This is a Chip8 emulator implemented in JavaScript, providing a web-based interface to run Chip8 ROMs directly in your browser. The project aims to faithfully recreate the original Chip8 experience, providing an accessible platform for enthusiasts to enjoy retro gaming, learn about emulation, or even use it as a starting point for building more complex emulators.

Features

  • Accurate emulation of Chip8 instruction set
  • Keyboard mapping for Chip8 input
  • Load and run Chip8 ROMs directly from your local machine
  • Web-based interface for ease of use, no installation required
  • Open-source and customizable

Upcoming features

  • Customizable CPU clock speed
  • Set others theme
  • Mobile suport
  • Pause button
  • Configurable display scaling

Prerequisites

  • Modern web browser with JavaScript and HTML5 support (Chrome, Firefox, Edge, Safari)

Getting Started

  1. Clone the repository: shell git clone https://github.com/yourusername/chip8-emulator-js.git

  2. Navigate to the project folder: shell cd chip8-emulator-js

  3. Open the emulator: Just open the index.html file in your preferred web browser.

  4. Load a ROM: Use the "Load ROM" button in the emulator interface to upload a Chip8 ROM from your local machine.

  5. Run the ROM: Click the "Run" button to start the emulation.

  6. Enjoy: Play the game or program loaded in the emulator using your keyboard.

Keyboard Mapping

The original Chip8 has a hexadecimal keyboard with the keys 0-9 and A-F. The keyboard mapping for this emulator is as follows:

Original Emulator
1 1
2 2
3 3
4 Q
5 W
6 E
7 A
8 S
9 D
0 X
A Z
B C
C 4
D R
E F
F V

Contributing

We welcome contributions to the project! Whether you're reporting bugs, improving documentation, or adding new features, we appreciate all help. Please fork the repository, create a new branch for your changes, and submit a pull request.

License

This project is released under the MIT License.

Acknowledgments

  • Thanks to the original Chip8 designers for creating a platform that still inspires emulation projects.
  • Thanks to the community for providing documentation and resources about Chip8 and emulation in general.

Contact

Feel free to open an issue or pull request in the repository, or contact the maintainer directly at dev@patrickreis.dev.

Enjoy Emulating!