{"id":16957869,"url":"https://github.com/ahamez/cpp8080","last_synced_at":"2026-05-13T23:35:51.764Z","repository":{"id":140512131,"uuid":"143247191","full_name":"ahamez/cpp8080","owner":"ahamez","description":"A 8080 emulator written in C++17.","archived":false,"fork":false,"pushed_at":"2022-10-23T16:20:50.000Z","size":236,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T14:16:51.366Z","etag":null,"topics":["8080","cpp17","emulator","space-invaders"],"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/ahamez.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":"2018-08-02T05:36:53.000Z","updated_at":"2022-10-23T17:24:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6e8fd34-4fe5-49df-ae9f-df3656c6b028","html_url":"https://github.com/ahamez/cpp8080","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahamez/cpp8080","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahamez%2Fcpp8080","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahamez%2Fcpp8080/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahamez%2Fcpp8080/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahamez%2Fcpp8080/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahamez","download_url":"https://codeload.github.com/ahamez/cpp8080/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahamez%2Fcpp8080/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017041,"owners_count":26085951,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["8080","cpp17","emulator","space-invaders"],"created_at":"2024-10-13T22:20:14.002Z","updated_at":"2025-10-13T21:36:15.572Z","avatar_url":"https://github.com/ahamez.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cpp8080\nA 8080 emulator written in C++17 started after reading http://www.emulator101.com.\nThe idea was to see what C++17 could bring to the writing of an emulator.\nThe answer is: not so much. C++11/14 was helpful to [generate the jump table](https://github.com/ahamez/cpp8080/blob/bf9a7a05708fe299685fba1b94e8f5bb06e05962/cpp8080/meta/instruction.hh#L29),\nbut otherwise, I didn't find a way to use effectively C++17 new features.\n\n## Acknowledgements\nI could not have written `cpp8080` without those ressources:\n- http://www.emulator101.com\n- https://github.com/superzazu/invaders\n\n## Architecture\n`cpp8080` is a C++17 library. The repository contains two examples built on this emulator:\n- Space Invaders (without sounds)\n- a test that exercices the emulated CPU\n\n## Dependencies\n- A C++17 compiler\n- SDL2 (needed for Space Invaders)\n\n## Build\n\nRequires [conan](https://conan.io).\n```\nmkdir build \u0026\u0026 cd build\nconan install .. --build=missing\ncmake .. -G Ninja\nninja\nninja test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahamez%2Fcpp8080","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahamez%2Fcpp8080","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahamez%2Fcpp8080/lists"}