{"id":24333794,"url":"https://github.com/gargakshit/chip-8","last_synced_at":"2025-06-28T15:31:51.988Z","repository":{"id":63581739,"uuid":"416371534","full_name":"gargakshit/chip-8","owner":"gargakshit","description":"Yet another Chip-8 interpreter, but this time with a beautiful interface 💻","archived":false,"fork":false,"pushed_at":"2022-01-06T14:12:41.000Z","size":647,"stargazers_count":40,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-06-21T13:54:16.794Z","etag":null,"topics":["chip-8","cmake","cpp","dear-imgui","emulator","glfw","interpreter","opengl"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gargakshit.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":"2021-10-12T14:30:37.000Z","updated_at":"2025-05-15T20:58:23.000Z","dependencies_parsed_at":"2022-11-21T20:01:56.267Z","dependency_job_id":null,"html_url":"https://github.com/gargakshit/chip-8","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gargakshit/chip-8","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gargakshit%2Fchip-8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gargakshit%2Fchip-8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gargakshit%2Fchip-8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gargakshit%2Fchip-8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gargakshit","download_url":"https://codeload.github.com/gargakshit/chip-8/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gargakshit%2Fchip-8/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262452428,"owners_count":23313437,"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":["chip-8","cmake","cpp","dear-imgui","emulator","glfw","interpreter","opengl"],"created_at":"2025-01-18T03:46:38.189Z","updated_at":"2025-06-28T15:31:51.967Z","avatar_url":"https://github.com/gargakshit.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chip-8 interpreter in C++\r\n\r\nYet another [Chip-8](https://en.wikipedia.org/wiki/Chip-8) interpreter, this\r\ntime written in C++ using [GLFW](https://github.com/glfw/glfw) and OpenGL as its\r\ngraphics library. It uses [Dear ImGui](https://github.com/ocornut/imgui) to\r\ndraw the GUI.\r\n\r\n### Why C++?\r\n\r\nBecause I wanted to get my hands dirty with modern C++. Last time I did C++ was\r\nC++98 2 years ago for school.\r\n\r\n### Screenies\r\n\r\n![Screenshot of the interface](./screenshots/s1.png)\r\n\r\n_CPU Interface_\r\n\r\nhttps://user-images.githubusercontent.com/15605299/137485154-4aefa57f-bbb2-440e-b5be-78fd15abe903.mp4\r\n\r\n_Screen recording of the snake game running with the chip-8 interpreter_\r\n\r\n### Building\r\n\r\nIn theory, it should run anywhere where Dear ImGui and C++ runs and OpenGL is\r\navailable. But I only tested it on Windows.\r\n\r\n#### Windows\r\n\r\nYou will need `cmake`, `llvm`, `make` and `git`.\r\n\r\n- ```$ git clone https://github.com/gargakshit/chip-8 --recursive```\r\n\r\n  Use `--recursive` as the repo contains GLFW and Dear ImGui as submodules\r\n\r\n- ```$ cmake -Bbuild -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=\"clang++\" -G \"MinGW Makefiles\" .```\r\n\r\n  This will produce `MinGW Makefiles` with `clang++` as the `C++` compiler.\r\n  You can optionally add the flag `-DCMAKE_BUILD_TYPE=Release` to generate\r\n  `MinGW Makefiles` for the release build. The release build is optimized.\r\n\r\n- ```$ cmake --build build```\r\n\r\n  This will build the binary. If everything is successful, the interpreter\r\n  binary will be produced with `build/chip8.exe` as the path. At this point,\r\n  you could run your favorite `Chip-8` \"ROMs\" by dragging them and dropping it\r\n  onto the binary in the file explorer, or by using a terminal and running\r\n  `build/chip8 path/to/my/program.ch8`. I have included some programs\r\n  in the `programs/` directory to play with (shout out to the original program\r\n  authors)\r\n\r\nYou can also build with VS and MSVC toolchains, but I have not tested them\r\npersonally\r\n\r\n### Is this any good?\r\n\r\nYes.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgargakshit%2Fchip-8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgargakshit%2Fchip-8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgargakshit%2Fchip-8/lists"}