{"id":13634901,"url":"https://github.com/starrhorne/chip8-rust","last_synced_at":"2025-04-19T03:34:04.185Z","repository":{"id":37336320,"uuid":"96355808","full_name":"starrhorne/chip8-rust","owner":"starrhorne","description":"Yet another rust chip8 emulator","archived":false,"fork":false,"pushed_at":"2023-12-21T11:40:50.000Z","size":38,"stargazers_count":142,"open_issues_count":4,"forks_count":20,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-09T05:33:46.431Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/starrhorne.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":"2017-07-05T19:50:56.000Z","updated_at":"2024-07-11T17:14:43.000Z","dependencies_parsed_at":"2024-08-02T00:01:57.304Z","dependency_job_id":null,"html_url":"https://github.com/starrhorne/chip8-rust","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/starrhorne%2Fchip8-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starrhorne%2Fchip8-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starrhorne%2Fchip8-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/starrhorne%2Fchip8-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/starrhorne","download_url":"https://codeload.github.com/starrhorne/chip8-rust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249600500,"owners_count":21297705,"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":[],"created_at":"2024-08-02T00:00:37.251Z","updated_at":"2025-04-19T03:34:03.938Z","avatar_url":"https://github.com/starrhorne.png","language":"Rust","readme":"![Screenshot](/screenshot.png?raw=true \"The emulator running 'blinky'\")\n\n## Introduction\n\nThis is a chip-8 VM built in rust. If you're reading this, chances are that you're thinking of writing your own chip8 emulator. You should! It gives you a great feel for how home computers worked back in the late 70s. It's also a nice project for people new to Rust, because you don't need any of the language's more advanced features (like generics and traits). \n\n## Resources\n\nThese were the most useful chip-8 references I found. \n\n* [Mastering Chip-8](http://mattmik.com/files/chip8/mastering/chip8.html)\n* [Cowgod's Chip-8 Reference](http://devernay.free.fr/hacks/chip8/C8TECH10.HTM)\n* [How to write an emulator](http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/) \n\n## Requirements\n\nYou need to have sdl2 installed with headers. On Ubuntu 17.04, this did the trick:\n\n```\nsudo apt-get install libsdl2-dev libsdl2-gfx-dev\n```\n\n## Usage\n\nClone this repository, then run:\n\n```\ncargo run /path/to/game\n```\n\nYou can find public-domain games [here](https://www.zophar.net/pdroms/chip8/chip-8-games-pack.html). \n\n## Comments\n\nFeel free to let me know if you have any questions or comments about this code.\nAt the time I'm writing this, I'm pretty new to Rust so it may not be 100% idiomatic. You can reach me on twitter @StarrHorne, or by opening an issue on this repo. \n\n\n## Credits\n\nMost of the SDL-related code was taken from the sdl2 crate's documentation and examples. I also used Mike Zaby's [rust chip8 repository](https://github.com/mikezaby/chip-8.rs) as a reference, though I didn't use any of his code.  \n\n","funding_links":[],"categories":["Applications","应用程序 Applications"],"sub_categories":["Emulators","模拟器 Emulators"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarrhorne%2Fchip8-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstarrhorne%2Fchip8-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstarrhorne%2Fchip8-rust/lists"}