This is a Nintendo GameBoy / GameBoy Color emulator written in C++.
- Emulates Gameboy / Gameboy Color within a WxWidgets / SDL2 based application.
- Uses the PortAudio API to play audio.
- Support for memory controllers (a large portion of all games only use the following):
- No Controller
- MBC1
- MBC3
- MBC5
- Supports emulated battery saves along with save states.
- Support for MBC3's real-time battery-backed clock.
- Visualizer for:
- Cartridge Specifications
- CPU State
- Memory
- Palettes
- Tile Set
- Background / Window Maps
- Basic debugger with support for adding breakpoints within GB/GBC ROMs and stepping the emulated hardware for either a cycle or for a frame.
|
|
To compile, you will need:
- Visual Studio Community 2022
- Within the VS Community installer, select and install
Desktop development with C++
- Ensure
MSVC v143 - VS 2022 C++ x86/x64 build tools
is selected. Note other versions may work but are untested.
- Ensure
- Add
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin
to the PATH environment variable.
Simply run the run (release)
task via the command palette.
Run the following commands:
msbuild gb-gbc_emu.sln /property:Configuration=Release /property:Platform=x64
./dlls/copyDLLs.bat Release
./x64/Release/gb-gbc_emu.exe
- Fix minor graphics / audio bugs
- The first scanline is slightly offset during some instances
- Add some high pass audio filtering to the APU for cleaner audio
- Overall optimizations / improvements
- Add additional visualization windows
- Add support for the more obscure memory controllers.
- Kirby's Dream Land crashes after loading the first level.