Skip to content

Eggbertx/OmniChip-8

Repository files navigation

OmniChip-8

8 tests passed

A Chip-8 emulator with heavy emphasis on being as cross-platform as humanly possible

Building instructions

Desktop (SDL)

Run python make.py. In Windows, it is able to use Visual Studio (via the msbuild command) or mingw.

Visual Studio

Visual Studio should automatically download the SDL2 nuget packages when you build the project.

msbuild (Developer Command Prompt for VS 20XX)

If you have NuGet installed, you can run nuget restore to install the SDL2 nuget dependency packages. Otherwise, you will either need to install NuGet or open OmniChip-8.sln in Visual Studio and build it once to have it download the packages.

After you have them installed, you can run python make.py build

mingw

Run pacman -S base-devel mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2 before using make.py.

Desktop (curses, UNIX-like OSs)

Run python make.py curses

Commodore 64 (requires cc65)

Run python make.py c64

sim65 (requires cc65)

Run python make.py sim6502

GameBoy (requires z88dk)

Run python make.py gb

Testing

To test OmniChip-8, run the following commands

cmake -B build
cd build
make && make test

To generate a coverage report, run make lcov from the build directory after you have run the above commands (including make test). This requires lcov to be installed. If no errors are returned, the report will be generated in the build/lcov/ directory.

Supported platforms

Mostly done

  • Desktop SDL

SDL screenshot

  • (n)curses

ncurses screenshot

  • Commodore 64

Commodore 64 screenshot

  • GameBoy

Gameboy screenshot

  • sim65

Planned

  • WebAssembly + SDL
  • TI-8x
  • Apple II
  • NES
  • Sphere, via WebAssembly/Emscripten
  • MS-DOS/FreeDOS/DR-DOS

Maybe/hopefully

  • Magic-1
  • Bare metal x86

Games

All of the games in games/ are public domain, and came from here except for omnichip8, oc8, and their respective .c8 sources.

About

A Chip-8 interpreter with heavy emphasis on being as cross-platform as humanly possible

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published