f8ith / Hermes

Hermes is a gameboy DMG emulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hermes

Hermes is a gameboy emulator written in C++. It was made as a passion project and originally started as an attempt to emulate Pokemon Red/Blue. As such, it was never meant to have perfect timings (though it does make a fair effort), so some games that heavily rely on such timings may or may not work.

Features

  • All opcodes supported
  • Joypad, LCD Stat, VBlank, and Timer interrupts
  • Passes all of blargg's CPU tests
  • MBC1, MBC2, MBC3, and MBC5 support
  • Background, window, and sprite rendering
  • Save files

Screenshots

Blargg Tests Tetris Pokemon Red
Mario Final Fantasy Castlevania

Input Controls

Action Key
UP
DOWN
LEFT
RIGHT
B K
A L
START Enter/Return
SELECT Right Shift
SAVE Escape

Dependencies

Hermes uses SDL2 for the display. Note that on Windows SDL and cmake can be a bit of a hassle, so make sure that CMake can find the sdl2-config.cmake files for everything to build properly.

Usage

Building

Building the emulator is easily done using cmake

mkdir build
cd build
cmake ..
make

Running

Hermes <ROM file> <optional: save file name>

Resources

Just a list of some helpful resources I've come across while working on Hermes

About

Hermes is a gameboy DMG emulator

License:GNU General Public License v3.0


Languages

Language:C++ 97.1%Language:C 1.9%Language:CMake 1.0%