simple cpp GameBoy emulator is a basic Game Boy emulator (wow!), written in C++ as a personal challenge. It's not meant to be 100% accurate to the original hardware, but it still passes most basic test ROMs, such as dmg-acid2, blargg's cpu-instrs, and almost all numism tests.
scGBe uses CMake with MinGW Makefiles for building to Windows. GNU/G++ must be used as the compiler for its switch range extension.
- wxWidgets should be automatically downloaded by CMake. Used for the GUI, image rendering, and input.
- SFML should be automatically downloaded by CMake. Used for audio streaming.
- Download and install MSYS2.
- Open "MSYS2 UCRT64" to bring up a bash terminal. Should be searchable from the start menu.
- Run
pacman -S mingw-w64-x86_64-gcc
in this terminal to install the latest version of the GCC/G++ compiler. - Create an
%mingw64%
environment variable, pointing at your MinGW folder. *(By default, it should be atC:\msys64\mingw64
) - Download and install CMake.
- Clone the project (or download as ZIP + extract).
- Run
cmake -G "MinGW Makefiles"
within the root directory of the project. (This only has to be done once, and can be done using any terminal, not just MSYS2's.) - Next, run
cmake --build .
within the root directory of the project to build to an executable. The final executable will be placed at/bin/scGBe.exe
within the project folder. (This can be done using any terminal, not just MSYS2's.)
- GBDev's Pandocs as my main reference for basically every aspect of GB hardware.
- Gekkio's Game Boy: Complete Technical Reference for their SM83 opcodes/pseudocode.
- RGBDS' gbz80 CPU opcode reference doc for their SM83 timings and opcode table.