Skip to content

Chivm8 is a lightweight and accurate Chip8 emulator written in C99, utilizing the Raylib library for cross-platform graphics and audio support.

License

Notifications You must be signed in to change notification settings

panzertype/chivm8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chivm8

 ██████╗██╗  ██╗██╗██╗   ██╗███╗   ███╗ █████╗ 
██╔════╝██║  ██║╚═╝██║   ██║████╗ ████║██╔══██╗
██║     ███████║██╗██║   ██║██╔████╔██║╚█████╔╝
██║     ██╔══██║██║╚██╗ ██╔╝██║╚██╔╝██║██╔══██╗
╚██████╗██║  ██║██║ ╚████╔╝ ██║ ╚═╝ ██║╚█████╔╝
 ╚═════╝╚═╝  ╚═╝╚═╝  ╚═══╝  ╚═╝     ╚═╝ ╚════╝ 

Description

Chivm8 is a lightweight and accurate Chip8 emulator written in C99, utilizing the Raylib library for cross-platform graphics and audio support.

Installation

Prerequisites

  • CMake (version 3.15 or higher)
  • Raylib (version 5.5 or higher)

Building from Source

  1. Clone the repository:

    git clone https://github.com/panzertype/chivm8.git
    cd chivm8
  2. Configure the project with CMake:

    cmake -S . -B build
  3. Build the executable:

    cd build
    make

The chivm8 executable will be created in the build directory.

Usage

Run the emulator by providing the path to a Chip8 ROM file:

./chivm8 path/to/your/rom.ch8

Controls

The Chip8 keypad is mapped to the following keyboard keys:

Chip8 Keypad    Keyboard
   1 2 3 4       1 2 3 4
   Q W E R       Q W E R
   A S D F       A S D F
   Z X C V       Z X C V
  • ESC: Close the emulator window

Development

To build in debug mode with symbols:

cmake -DDEBUG=ON ..
make

About

Chivm8 is a lightweight and accurate Chip8 emulator written in C99, utilizing the Raylib library for cross-platform graphics and audio support.

Topics

Resources

License

Stars

Watchers

Forks