trickarcher / tvp

A Nintendo GameBoy Emulator written in C++17 and SFML

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tvp

A GameBoy Emuator

CircleCI


This is an incomplete, experimental Nintendo GameBoy emulator written in C++. It runs Tetris!

Hello, DWoC!

If you're here for a Delta Winter of Code project, check out the Contributor's Guide in the Wiki.

Build and Install Instructions :

Linux

  1. Install CMake (> 3.5.1)

    On Ubuntu, run apt install cmake

    Otherwise, you can download the binaries from cmake.org/download

  2. Install SFML

    On Ubuntu, run apt install libsfml-dev

    Otherwise, download / build the library from sfml-dev.org

  3. Clone the project and run

    mkdir build && cd build

  4. cmake .. -DCMAKE_INSTALL_PREFIX=<path_to_someplace_to_install> -DCMAKE_BUILD_TYPE=Release

    You can skip the CMAKE_BUILD_TYPE flag (or set it to Debug) if you want to run unit tests.

  5. make install

  6. cd <path_to_someplace_to_install>/bin

  7. ./tvp --rom /path/to/rom_file.gb

  8. Enjoy your game! Use the WASD keys as the GameBoy DPad. Use K, L, Backspace, and Enter keys as A, B, SELECT, and START buttons.

Windows

You can build and run tvp in Visual Studio. Open the repo as a folder from Visual Studio 2017 or above, and it should automatically configure CMake.

  1. Download the SFML SDK, If Visual Studio cannot find SFML, manually set the SFML_ROOT CMake variable to wherever you downloaded the SDK. You can pass this as a command line argument in the run settings with -DSFML_ROOT=<path>.

  2. Click Build All from the CMake menu.

  3. Select tvp.exe as your launch item. You can edit the launch item properties to set command line arguments.

  4. Enjoy your game! Use the WASD keys as the GameBoy DPad. Use K, L, Backspace, and Enter keys as A, B, SELECT, and START buttons.

If you don't want to use Visual Studio, you can still download the SFML SDK and set -DSFML_ROOT="your/sdk/download/location" and run CMake like mentioned above. Install CMake from here.

About

A Nintendo GameBoy Emulator written in C++17 and SFML

License:MIT License


Languages

Language:C++ 87.3%Language:CMake 12.7%