icebarf / dy-chip8

A CHIP-8 Interpreter in C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DY Chip-8

DY is a chip-8 interpreter (emulator) written in C. Graphics, Input, Sound have been implemented with SDL2.

Features

  • Runs at an oddball resolution of 1280*640
  • Sound
  • Specify core speed at runtime
  • Default speed is 700 Hz
  • Builtin Debugging to terminal
  • Cross Platform

Showcase

test_opcodes.png

chip8-test-rom.png

c8_test.png

BC_test.png

Rom Description

Usage

Run with default settings (Assuming installed)

$ dy <path/to/rom/file>

Specify your own arguments

$ dy <path/to/rom/file> -hz <integral value> -s <path/to/sound/file>

example:

$ dy ~/ROMs/snake.ch8 -hz 1000 -s sound/edited_alarm.wav

or

$ dy ~/ROMs/snake.ch8 -s sound/edited_alarm.wav

Dependencies

  • SDL2
  • SDL2 Mixer

Installation

Windows

  • Download/Clone this repository, a compiled version has been provided for windows, you can also compile for yourself using cygwin or mingw provided that you have SDL2 and SDL2 Mixer installed in the include directory of respective compiler.

Compile using

  • make emu_win

Linux

Compile the emulator

  • make emu

Compile the emulator and install

  • make emu_install

Compile the emulator with optimizations

  • make emu_opti

Compile the emulator with optimizations and install

  • make emu_opti_install

Compile the emulator with debugging to terminal and gdb symbols

  • make emu_debug

Compile the emulator with gdb symbols only

  • make emu_gdb

About

A CHIP-8 Interpreter in C

License:GNU General Public License v3.0


Languages

Language:C 94.0%Language:Makefile 6.0%