Skip to content

dev-otl/otlchip8x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

otlchip8x

Cross platform chip8 emulator/interpreter

Install

For windows x64:

  1. Download files from releases and extract zip file in a folder or download standalone .exe file and SDL.dll from the SDL website
  2. drag and drop a chip8 rom
  3. Modify generated config file as needed

For linux:

  1. Extract source code (main.cpp main.h in a directory)
  2. Inside the directory, run install.sh as executable script
chmod +x install.sh && ./install.sh

or manually,

  1. Extract source code (main.cpp main.h in a directory)
  2. Libraries needed to compile:
sudo apt-get install libsdl2-dev g++
  1. Compile:
g++ -o otlchip8x main.cpp `sdl2-config --cflags --libs`
  1. Provide rom as argument to otlchip8x or drag and drop if feature available
./otlchip8x "<your_rom_file_(name|path)>"
  1. Change configuration file as needed

Roms:

Huge collection of roms hosted by Kripod

Some tests by Timendus

Keymap

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.

Configuration

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

Tips

  1. Space Invaders : change CHIPMODE to 2 or 4 in configuration file.

About

Cross platform chip8 emulator/interpreter

Resources

License

Stars

Watchers

Forks

Packages

No packages published