{"id":17045913,"url":"https://github.com/kgabis/chip8","last_synced_at":"2025-04-30T12:21:13.427Z","repository":{"id":146704110,"uuid":"117369690","full_name":"kgabis/chip8","owner":"kgabis","description":"A CHIP-8 and SUPER CHIP emulator in C.","archived":false,"fork":false,"pushed_at":"2018-01-13T19:03:50.000Z","size":190,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-14T09:43:22.605Z","etag":null,"topics":["c","chip8","emulator"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kgabis.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-01-13T18:54:35.000Z","updated_at":"2024-02-27T10:16:51.000Z","dependencies_parsed_at":"2023-06-11T08:32:50.715Z","dependency_job_id":null,"html_url":"https://github.com/kgabis/chip8","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgabis%2Fchip8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgabis%2Fchip8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgabis%2Fchip8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kgabis%2Fchip8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kgabis","download_url":"https://codeload.github.com/kgabis/chip8/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227202072,"owners_count":17747183,"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":["c","chip8","emulator"],"created_at":"2024-10-14T09:42:44.239Z","updated_at":"2024-11-29T19:41:10.194Z","avatar_url":"https://github.com/kgabis.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About\nA [CHIP-8/SUPER CHIP](https://en.wikipedia.org/wiki/CHIP-8) emulator library written in C. Most games should work but there might be some exceptions. Use at your own risk.\n\n## Usage\nPlease see example_sdl2.c for an example SDL2 client.  \n\nAPI should be quite simple and self-descriptive, here's how a theoretical client might look like:\n```c\n    chip8_t *ch8 = chip8_make();\n    if (ch8 == NULL) {\n        goto end;\n    }\n\n    bool ok = chip8_load_program(ch8, program, program_size);\n    if (!ok) {\n        goto end;\n    }\n    \n    while (true) {\n        chip8_keyboard_input_t input = {};\n        get_input(\u0026input);\n        int num_ticks = chip8_is_super(ch8) ? 16 : 8;\n\n        for (int i = 0; i \u003c num_ticks; i++) {\n            ok = chip8_cpu_tick(ch8, \u0026input);\n            if (!ok) {\n                goto end;\n            }\n        }\n\n        if (chip8_should_beep(ch8)) {\n            beep();\n        }\n\n        for (int y = 0; y \u003c chip8_get_height(ch8); y++) {\n            for (int x = 0; x \u003c chip8_get_width(ch8); x++) {\n                if (chip8_get_pixel(ch8, x, y)) {\n                    draw_pixel(x, y);\n                }\n            }\n        }\n\n        sleep_ms(16);\n    }\nend:\n    chip8_destroy(ch8);\n```\n\n## Screenshots\n![blinky](screens/blinky.png)  \n![car](screens/car.png)  \n![breakout](screens/breakout.png)  \n\n## License\n[The MIT License (MIT)](http://opensource.org/licenses/mit-license.php)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkgabis%2Fchip8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkgabis%2Fchip8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkgabis%2Fchip8/lists"}