Cross platform chip8 emulator/interpreter
- Download files from releases and extract zip file in a folder or download standalone .exe file and SDL.dll from the SDL website
- drag and drop a chip8 rom
- Modify generated config file as needed
- Extract source code (main.cpp main.h in a directory)
- Inside the directory, run install.sh as executable script
chmod +x install.sh && ./install.sh
- Extract source code (main.cpp main.h in a directory)
- Libraries needed to compile:
sudo apt-get install libsdl2-dev g++
- Compile:
g++ -o otlchip8x main.cpp `sdl2-config --cflags --libs`
- Provide rom as argument to otlchip8x or drag and drop if feature available
./otlchip8x "<your_rom_file_(name|path)>"
- Change configuration file as needed
Huge collection of roms hosted by Kripod
Some tests by Timendus
QWERTY(or same key position as QWERTY) => Hex Value recognized by Chip8
1 2 3 4 => 1 2 3 C
Q W E R => 4 5 6 D
A S D F => 7 8 9 E
Z X C V => A 0 B F
ESC key : quit
Backspace : reset/refresh/reload, any change in configuration will be loaded.
ENABLE_DELAY : enable or disable emulation speed(cpu frequency) limit
FREQUENCY_CPU : cpu frequency limit to use if delay enabled
SCALE_FACTOR : length of a square pixel on the window. 64x32 pixels displayed on window.
FRAME_RATE : Display update rate. Frames per seconds
CHIP_MODE : 1)COSMACVIP, 2)CHIP48, 4)SUPERCHIP, only some difference inplemented :: Flag register update, Index register update, etc
- Space Invaders : change CHIPMODE to 2 or 4 in configuration file.