Skip to content

NicolasSegl/Hermes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published