{"id":26111504,"url":"https://github.com/erik-donath/assembly-snake","last_synced_at":"2025-04-12T22:41:27.202Z","repository":{"id":274452962,"uuid":"921822150","full_name":"Erik-Donath/Assembly-Snake","owner":"Erik-Donath","description":"Simple Snake game running inside of Boot Section (512 bytes) in x86.","archived":false,"fork":false,"pushed_at":"2025-01-27T11:57:56.000Z","size":12,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T16:48:11.314Z","etag":null,"topics":["16-bit","512-bytes","assembly-x86","bootloader","bootsector-game","nasm","snake","snake-game"],"latest_commit_sha":null,"homepage":"https://github.com/Erik-Donath/Assembly-Snake","language":"Assembly","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/Erik-Donath.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":"2025-01-24T17:22:01.000Z","updated_at":"2025-03-03T21:46:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"0cf0ea56-51e0-48d9-928f-c89ad6193a90","html_url":"https://github.com/Erik-Donath/Assembly-Snake","commit_stats":null,"previous_names":["erik-donath/assembly-snake"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erik-Donath%2FAssembly-Snake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erik-Donath%2FAssembly-Snake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erik-Donath%2FAssembly-Snake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Erik-Donath%2FAssembly-Snake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Erik-Donath","download_url":"https://codeload.github.com/Erik-Donath/Assembly-Snake/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248643045,"owners_count":21138353,"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":["16-bit","512-bytes","assembly-x86","bootloader","bootsector-game","nasm","snake","snake-game"],"created_at":"2025-03-10T01:51:59.948Z","updated_at":"2025-04-12T22:41:27.197Z","avatar_url":"https://github.com/Erik-Donath.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Assembly-Snake\nThis is a minimalistic Snake game written in x86 Assembly, designed to run directly from the Boot Sector (512 bytes). The game demonstrates how to program at a low level, interacting directly with hardware without any operating system. It's a fun and educational project for anyone interested in bootloaders, retro programming, or assembly language.\n\n# Build \u0026 Run\n\n## Requirements\n- **NASM**: The Netwide Assembler for assembling the code.\n- **QEMU**: An emulator for testing the bootable game.\n- **Optional**: `genisoimage` for creating ISO files.\n\n## Building with Make\nTo build the binary (`.bin`), disk image (`.img`), and ISO file (`.iso`), simply run: ``` make all ```\n\n## Building without Make\n\n### Linux and macOS\n1. Create the build directory: ``` mkdir -p build ```\n2. Assemble the code into a binary file: ``` nasm -f bin src/snake.asm -o build/snake.bin ```\n   *(Ensure NASM is installed on your system.)*\n3. Create additional formats:\n   - Disk image:``` cp build/snake.bin build/snake.img ```\n   - ISO file:``` genisoimage -o build/iso/snake.iso -b snake.bin -no-emul-boot -boot-load-size 4 -boot-info-table build/bin/ ```\n     *(Ensure `genisoimage` is installed.)*\n\n### Windows\nWho needs Windows?\n\n## Running with Make\nYou can choose between the following commands to run the game in QEMU:\n1. Run the binary directly:\n   ``` make run-bin ```\n2. Run the disk image:\n   ``` make run-img ```\n3. Run the ISO file:\n   ``` make run-iso ```\n\n## Running without Make\n\n### Linux, macOS, and Windows\nYou can manually run the game in QEMU using one of these commands:\n1. Run the binary directly: ``` qemu-system-i386 -drive format=raw,file=build/bin/snake.bin ```\n2. Run the disk image: ``` qemu-system-i386 -drive format=raw,file=build/img/snake.img ```\n3. Run the ISO file: ``` qemu-system-i386 -cdrom build/iso/snake.iso ```\n\n---\n\n# License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferik-donath%2Fassembly-snake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferik-donath%2Fassembly-snake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferik-donath%2Fassembly-snake/lists"}