An open API service indexing awesome lists of open source software.

https://github.com/jinxedbuffer/emu8

A CHIP-8 emulator (or interpreter) written in C++.
https://github.com/jinxedbuffer/emu8

chip-8 chip8 chip8-emulator chip8-interpreter cpp emu8 sdl2

Last synced: 4 months ago
JSON representation

A CHIP-8 emulator (or interpreter) written in C++.

Awesome Lists containing this project

README

        

# EMU8
A CHIP-8 emulator (or interpreter) written in C++ with SDL.

# Screenshots
![](/space_invaders.gif)

# Run
To run, type `./emu8 [game filename]`.

Or you can run `make` to compile it from source code (make sure you have `libsdl2-dev` installed).

# Keypad
```
ACTUAL CHIP8 EMU8
KEYPAD KEYPAD
+---------+ +---------+
| 1 2 3 C | | 1 2 3 4 |
| 4 5 6 D | | Q W E R |
| 7 8 9 E | | A S D F |
| A 0 B F | | Z X C V |
+---------+ +---------+

```

# Customizatons

- To change the clock speed of CPU according to your need, just modify `CLOCK_SPEED` in `src/include/cpu.h`. By default, it has been set to 540hz.
- To change the frequency and volume of the beep sound, go to `src/include/beeper.h` and modify `BEEP_FREQUENCY` and `AMPLITUDE` respectively.
- To change the screen size of window, go to `src/include/gfx.h` and modify `SCALE_FACTOR` according to your need.

# TODO
- [x] Add sound
- [x] Performance improvements
- [ ] GUI Interface

# References