{"id":28986644,"url":"https://github.com/raulpy271/gameboy-emulator","last_synced_at":"2025-06-24T20:32:52.334Z","repository":{"id":40607006,"uuid":"450882616","full_name":"raulpy271/gameboy-emulator","owner":"raulpy271","description":"🎮 A gameboy emulator written in C++","archived":false,"fork":false,"pushed_at":"2023-02-15T20:27:24.000Z","size":436,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-03-10T10:26:33.266Z","etag":null,"topics":["cmake","cpp","emulator","gameboy","gameboy-development","gameboy-emulator","test-driven-development"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raulpy271.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-22T17:09:34.000Z","updated_at":"2022-07-08T12:45:10.000Z","dependencies_parsed_at":"2022-07-31T23:47:59.852Z","dependency_job_id":null,"html_url":"https://github.com/raulpy271/gameboy-emulator","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/raulpy271/gameboy-emulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpy271%2Fgameboy-emulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpy271%2Fgameboy-emulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpy271%2Fgameboy-emulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpy271%2Fgameboy-emulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raulpy271","download_url":"https://codeload.github.com/raulpy271/gameboy-emulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpy271%2Fgameboy-emulator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261751913,"owners_count":23204515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","cpp","emulator","gameboy","gameboy-development","gameboy-emulator","test-driven-development"],"created_at":"2025-06-24T20:31:04.947Z","updated_at":"2025-06-24T20:32:52.323Z","avatar_url":"https://github.com/raulpy271.png","language":"C++","readme":"![Project Name](https://img.shields.io/badge/gameboy-emulator-success?logo=nintendo)\n[![License: MIT](https://img.shields.io/badge/License-MIT-success.svg)](https://opensource.org/licenses/MIT)\n[![Tests](https://github.com/raulpy271/gameboy-emulator/actions/workflows/cmake.yml/badge.svg)](https://github.com/raulpy271/gameboy-emulator/actions/workflows/cmake.yml)\n[![Build Artifacts](https://github.com/raulpy271/gameboy-emulator/actions/workflows/build_artifacts.yml/badge.svg)](https://github.com/raulpy271/gameboy-emulator/actions/workflows/build_artifacts.yml)\n[![My followers](https://img.shields.io/github/followers/raulpy271?style=social)](https://github.com/raulpy271)\n\n# gameboy-emulator\n\nA gameboy emulator written in C++ using [GTK+](https://www.gtk.org/) gui interface, and using Test Driven Development methodology. \n\n# Screenshoots\n\n![Playing Tetris](/assets/playing_tetris.gif)\n\n![Tetris screenshot](/assets/tetris.png)\n\n![Hello World screenshot](/assets/hello-world.png)\n\n# How to setup\n\n## Compiling the code\n\nFirst of all, install the dependencies executing the script:\n\n```sh\napt-get update\n\napt-get -y install g++ \n\napt-get -y install cmake libgtk-3-dev libgtkmm-3.0-dev\n```\n\nAfter that, run the following commands to compile the source code:\n\n```sh\nexport COMPILE_GUI=true \n\nmake generate-buildsystem\n\nmake build-cmake\n```\n\nNow, the executable is ready, the following command starts the emulation:\n\n```sh\n./build/main \u003cpath_of_a_rom_file\u003e\n```\n\n## Using a pre-compiled binary\n\n\u003e In progress(feel free to add this method of setup)\n\n# References\n\nSee the list of useful resources:\n\n- [Game Boy CPU Manual (pdf)](http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf)\n- [Game Boy Development community](https://gbdev.io/)\n- [RGBDS - toolchain for developing Game Boy programs](https://rgbds.gbdev.io/)\n- [PyBoy - Emulator](https://github.com/Baekalfen/PyBoy)\n- [GTKmm Tutorial](https://developer-old.gnome.org/gtkmm-tutorial/3.24/sec-gtkmm.html.en)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraulpy271%2Fgameboy-emulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraulpy271%2Fgameboy-emulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraulpy271%2Fgameboy-emulator/lists"}