{"id":20475482,"url":"https://github.com/bemxio/c8oa","last_synced_at":"2025-10-08T23:03:29.713Z","repository":{"id":246921255,"uuid":"823507678","full_name":"bemxio/c8oa","owner":"bemxio","description":"CHIP-8 interpreter written in C++ with SDL","archived":false,"fork":false,"pushed_at":"2024-07-05T15:51:04.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T03:15:43.885Z","etag":null,"topics":["chip8","cpp","emulator","interpreter","sdl2"],"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/bemxio.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-03T07:03:44.000Z","updated_at":"2024-07-05T16:07:57.000Z","dependencies_parsed_at":"2024-07-05T22:30:31.224Z","dependency_job_id":null,"html_url":"https://github.com/bemxio/c8oa","commit_stats":null,"previous_names":["bemxio/c8oa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemxio%2Fc8oa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemxio%2Fc8oa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemxio%2Fc8oa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bemxio%2Fc8oa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bemxio","download_url":"https://codeload.github.com/bemxio/c8oa/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242042229,"owners_count":20062372,"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":["chip8","cpp","emulator","interpreter","sdl2"],"created_at":"2024-11-15T15:16:09.577Z","updated_at":"2025-10-08T23:03:24.684Z","avatar_url":"https://github.com/bemxio.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C8OA (CHIP-8 Once Again)\nC8OA is yet another CHIP-8 ~~emulator~~ interpreter written in C++ using SDL2. Made for fun and learning purposes, to potentially be used as a reference for future projects.\n\nIt is a work-in-progress, and as such, is not unstable and probably won't run most games/programs correctly.\n\n## Building\nYou will need to have GCC and SDL2 installed on your system. You can install both using your package manager, or using MSYS2 on Windows.\n\nOnce you have them installed, you can build the project by simply running `make` in the root directory of the project. This will create an executable called `c8oa` in the `build` directory.\n\nTo delete the build directory, invoke `make clean`.\n\n## Usage\nTo run a CHIP-8 program, you can just run the executable with the path to the ROM file as an argument. Here's an example:\n```sh\n./build/c8oa /path/to/rom.ch8\n```\n\n## Tests\nHere is a list of tests from the [CHIP-8 test suite](https://github.com/Timendus/chip8-test-suite) and their working status:\n- ✅ **CHIP-8 splash screen** ([`1-chip8-logo.ch8`](roms/1-chip8-logo.ch8))\n- ✅ **IBM logo** ([`2-ibm-logo.ch8`](roms/2-ibm-logo.ch8))\n- ✅ **Corax+ opcode test** ([`3-corax.ch8`](roms/3-corax.ch8))\n- ✅ **Flags test** ([`4-flags.ch8`](roms/4-flags.ch8))\n- ❌ **Quirks test** ([`5-quirks.ch8`](roms/5-quirks.ch8)) - after choosing the platform, interpreter exits out with a SEGFAULT\n- ❌ **Keypad test** ([`6-keypad.ch8`](roms/6-keypad.ch8)) - not correctly showing the key presses\n- ❌ **Beep test** ([`7-beep.ch8`](roms/7-beep.ch8)) - sound not implemented\n- ❌ **Scrolling test** ([`8-scrolling.ch8`](roms/8-scrolling.ch8)) - scrolling not implemented\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbemxio%2Fc8oa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbemxio%2Fc8oa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbemxio%2Fc8oa/lists"}