Skip to content

My far-from-cycle-accurate DMG Gameboy emulation attempt

Notifications You must be signed in to change notification settings

RafaelCasamaximo/TrackerBoy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TrackerBoy - DMG Gameboy Emulator with Debugging Tools

TrackerBoy is an open-source DMG Gameboy emulator with debugging tools. This emulator is written in C and uses CMake as its build system. It allows you to run Gameboy games and provides debugging functionalities to assist in analyzing and understanding Gameboy games and homebrew.

About the Project

The Gameboy, released by Nintendo in 1989, is a classic handheld gaming console with a large library of iconic games. TrackerBoy aims to recreate the functionality of the original DMG Gameboy, allowing you to play those beloved games on modern hardware.

Additionally, TrackerBoy is equipped with debugging tools, which can be especially useful for developers or enthusiasts interested in reverse-engineering or understanding how Gameboy games work under the hood. The debugging features aim to help identify and analyze various aspects of the game's behavior, memory usage, and CPU instructions.

How to Build

To build TrackerBoy, follow the steps below:

  1. Clone the repository to your local machine using Git:
git clone https://github.com/RafaelCasamaximo/TrackerBoy.git
  1. Create a new directory named "build" inside the project folder:
cd TrackerBoy
mkdir build
cd build
  1. Run CMake to generate the build files:
cmake ..
  1. Build the emulator using the generated build files:
make

The build process should complete successfully, and you will have the TrackerBoy emulator executable ready to run.

How to Run

After successfully building TrackerBoy, you can run the emulator from the terminal or command prompt. The emulator requires a Gameboy ROM file as a command-line parameter to load the game. Here's how you can run it:

./TrackerBoy <path_to_gameboy_rom>

Replace <path_to_gameboy_rom> with the actual file path of the Gameboy ROM you want to play. The emulator should load the game, and you can start playing it right away.

Inspiration

This emulator is inspired by the Low Level Devel Gameboy emulator and the additional features of the Dromaius Gameboy emulator.

Features

For now only the CPU instructions are implemented. But the plan is to use Dear ImGui with SDL2 renderer to build a disassembler, a memory map and a tilemap, as well as a state-viewer for the CPU registers and flags.

Tests


Please feel free to customize and expand the README with any additional information, usage examples, or special instructions that may be relevant to your project. Good luck, and happy coding!

About

My far-from-cycle-accurate DMG Gameboy emulation attempt

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published