{"id":21355474,"url":"https://github.com/cfdefense/gameboy","last_synced_at":"2025-03-16T05:24:47.230Z","repository":{"id":257995205,"uuid":"868178240","full_name":"CFdefense/GameBoy","owner":"CFdefense","description":"Rust Gameboy Emulator","archived":false,"fork":false,"pushed_at":"2025-03-09T03:31:55.000Z","size":587,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-09T04:18:43.013Z","etag":null,"topics":["architecture","bit-byte","bitwise","emulation","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/CFdefense.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":"2024-10-05T17:16:25.000Z","updated_at":"2025-03-09T03:31:58.000Z","dependencies_parsed_at":"2025-03-09T04:18:28.147Z","dependency_job_id":"0b9e93ba-a1ab-4208-9210-54d460a9c569","html_url":"https://github.com/CFdefense/GameBoy","commit_stats":null,"previous_names":["cfdefense/gameboy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFdefense%2FGameBoy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFdefense%2FGameBoy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFdefense%2FGameBoy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CFdefense%2FGameBoy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CFdefense","download_url":"https://codeload.github.com/CFdefense/GameBoy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243829390,"owners_count":20354653,"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":["architecture","bit-byte","bitwise","emulation","rust"],"created_at":"2024-11-22T04:17:50.743Z","updated_at":"2025-03-16T05:24:47.204Z","avatar_url":"https://github.com/CFdefense.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Game Boy Emulator\n\n## Overview\n\nThis project involves building a Game Boy emulator using Rust.\n\nThe Game Boy, launched by Nintendo in 1989, is a pioneering handheld gaming console known for its compact design and extensive library of over 1,000 games. \nIt features a 2.6-inch monochrome LCD screen and is powered by a custom 8-bit Z80-like CPU running at 4.19 MHz. This project will emulate all aspects of this timeless system.\n\n## Project Goals\n\n- **Skill Development**: Enhance my knowledge of low-level programming concepts and emulator architecture, building on the experience gained from developing a Chip-8 interpreter.\n- **Learn Rust**: Familiarize myself with Rust’s syntax, features, and ecosystem, emphasizing memory safety and performance.\n\n## Resources\n\nTo guide the development process, I will utilize the following resources:\n\n- [Game Boy Technical Reference](https://gekkio.fi/files/gb-docs/gbctr.pdf#page=20\u0026zoom=100,76,62): A comprehensive document detailing the Game Boy architecture, including the CPU, memory mapping, and I/O operations.\n- [Game Boy CPU Instruction Set](https://gbdev.io/pandocs/CPU_Instruction_Set.html): This document outlines the instruction set for the Game Boy CPU, providing essential information for implementing the instruction decoding and execution phases.\n\n## Features\n\n- **CPU Emulation**: Implement the Game Boy’s CPU, including the instruction set and registers.\n- **Memory Management**: Handle memory mapping and interactions with the Game Boy’s memory architecture.\n- **Input Handling**: Process user inputs from a keyboard or controller to simulate Game Boy controls.\n- **Rendering**: Implement basic graphics rendering for displaying Game Boy graphics on the screen.\n\n## Getting Started\n\n### Prerequisites\n\n- **Rust**: Ensure you have the latest version of Rust installed. You can download it from the official [Rust website](https://www.rust-lang.org/).\n\n### Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/CFdefense/GameBoy.git\ncd gameboy-emulator\n```\n\n2. Build the project\n```bash\ncargo build\n```\n3. Run the project\n```bash\ncargo run\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfdefense%2Fgameboy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfdefense%2Fgameboy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfdefense%2Fgameboy/lists"}