This is a Work-In-Progress Gameboy Emulator written in C#
with SFML.Net.
For test progress see TESTING.md.
To build this project .NET 6.0 is required.
Libraries used will be downloaded automatically while building.
.NET version 6.0 is required to build this repository
You can build this repository yourself by
- Downloading the code
- Navigating to the folder in which the .csproj file lies
(normally<repository_root>/GameboyEmulator/
) - Running
dotnet build -c release
inside the console
After building the repository you can run the program in 2 ways.
First you navigate to <repository_root>/GameboyEmulator/bin/release/netcoreapp6.0
,
then you either execute GameboyEmulator.exe
or you run dotnet GameboyEmulator.dll
in the console
There is a compatibility issue with SFML.Net and .NET 6.0 that prevents the repository from being built on Linux. I am sorry for the inconvenience.
The default controls are as follows
Key | Button |
---|---|
↑ | Up |
↓ | Down |
← | Left |
→ | Right |
Enter | Start |
Space | Select |
S | A |
A | B |
LShift | Turbo |
LCtrl | Pause |
Esc (hold) | Reset |
F5 | Toggle Audio Channel 1 |
F6 | Toggle Audio Channel 2 |
F7 | Toggle Audio Channel 3 |
F8 | Toggle Audio Channel 4 |
These controls can be changed inside the settings.ini file, which gets created in the same directory as the executable after the first launch.