Skip to content

Cycle accurate GameBoy emulator written in C#, running on .net core

License

Notifications You must be signed in to change notification settings

Briensturm/BremuGb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BremuGb

BremuGb is a cycle-accurate Gameboy emulator which is developed in C# and runs on .net core.

The main goals of the project are high accuracy and more importantly, a human readable codebase, which many existing Gameboy emulators are lacking.

Supported features:

  • Full speed Gameboy emulation
  • 4 channel 41KHz audio
  • MBC 1-5 with battery saves
  • Somewhat accurate rendering pipeline (Prehistorik Man)

Currently unsupported:

  • CGB (Gameboy Color) emulation
  • Emulation of more obscure MBCs/Hardware

How to build and run

BremuGb consists of a reusable emulation library and a frontend which is based on OpenTK and OpenAL libraries.

Building BremuGb requires the .net core 3.1 SDK.

The releases which are provided in this repository are published in framework-dependent mode and require a .net core 3.1 runtime environment to be installed on the target machine.

To run BremuGb you can either specify the Gameboy rom file on the command line or drag and drop the rom onto the BremuGb executable.

Controls

Key Function
Arrow Keys D-Pad
A A Button
S B Button
Enter Start Button
Left Shift Select Button
Tab Fast Forward
P Increase Screen Size
M Decrease Screen Size
Esc Exit

Screenshots

alt text alt text

alt text alt text

alt text alt text

alt text alt text