Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/zesterer/emul8or

A CHIP-8 emulator written using Vala and SDL
https://github.com/zesterer/emul8or

chip-8 chip8-emulator emulator emulator-programming pong sdl space-invaders tetris vala

Last synced: 27 days ago
JSON representation

A CHIP-8 emulator written using Vala and SDL

Awesome Lists containing this project

README

        

# Emul8or

A Chip-8 emulator written in Vala and SDL

![alt tag](https://raw.githubusercontent.com/zesterer/emul8or/master/doc/pong-chip8.png)

## What is Emul8or?

Emul8or is, as the title suggests, a Chip-8 emulator written in the Vala programming language, utilising the SDL library for graphics. It is designed to emulate the Chip-8 and play Chip-8 ROMs.

## What is the 'Chip-8'

From Wikipedia:

> CHIP-8 is an interpreted programming language, developed by Joseph Weisbecker. It was initially used on the COSMAC VIP and Telmac 1800 8-bit microcomputers in the mid-1970s. CHIP-8 programs are run on a CHIP-8 virtual machine. It was made to allow video games to be more easily programmed for said computers.

> Roughly twenty years after CHIP-8 was introduced, derived interpreters appeared for some models of graphing calculators (from the late 1980s onward, these handheld devices in many ways have more computing power than most mid-1970s microcomputers for hobbyists).

## Compiling and running the program

Compilation is easy:

`make build`

Then to execute, simply run:

`./emul8or`

**Warning**

You *may* need to modify your ``/usr/include/SDL/SDL_keysym.h`` file for this to compile. For this reason, I have included in this repository a copy of that file. It has a seperate license to the rest of this repository.

## Usage

There are 16 keys. These are mapped to the number keys (0-9) and the letters (A-F).

For more information, once compiled run:

`./emul8or --help`

## Installation

To install Emul8or after compilation, run:

`sudo make install`