{"id":15060400,"url":"https://github.com/tsoding/pinpog","last_synced_at":"2025-04-05T02:10:50.741Z","repository":{"id":44469680,"uuid":"191607929","full_name":"tsoding/pinpog","owner":"tsoding","description":"Ping-Pong-like game in Assembly that works without OS","archived":false,"fork":false,"pushed_at":"2021-08-27T17:59:43.000Z","size":79,"stargazers_count":617,"open_issues_count":4,"forks_count":39,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-29T01:13:14.970Z","etag":null,"topics":["assembly-language","bios","game-development","hacktoberfest","hacktoberfest2020","operating-system","os","ping-pong-game","real-mode","twitch","twitch-streamers"],"latest_commit_sha":null,"homepage":"","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/tsoding.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}},"created_at":"2019-06-12T16:29:45.000Z","updated_at":"2025-03-25T14:02:15.000Z","dependencies_parsed_at":"2022-07-19T14:39:00.767Z","dependency_job_id":null,"html_url":"https://github.com/tsoding/pinpog","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsoding%2Fpinpog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsoding%2Fpinpog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsoding%2Fpinpog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsoding%2Fpinpog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsoding","download_url":"https://codeload.github.com/tsoding/pinpog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"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":["assembly-language","bios","game-development","hacktoberfest","hacktoberfest2020","operating-system","os","ping-pong-game","real-mode","twitch","twitch-streamers"],"created_at":"2024-09-24T22:58:20.080Z","updated_at":"2025-04-05T02:10:50.724Z","avatar_url":"https://github.com/tsoding.png","language":"Assembly","readme":"[![Tsoding](https://img.shields.io/badge/twitch.tv-tsoding-purple?logo=twitch\u0026style=for-the-badge)](https://www.twitch.tv/tsoding)\n[![Build Status](https://travis-ci.org/tsoding/pinpog.svg?branch=master)](https://travis-ci.org/tsoding/pinpog)\n\n# PinPog\n\nOur goal is to write a game that fits into 512 bytes bootloader and\nworks in 16 bit real mode on any IBM PC compatible machine without any\nOperating System.\n\n- Development is done on https://twitch.tv/tsoding\n- Archive of the streams: https://www.twitch.tv/collections/VAcjkyTlqRVXuA\n\n![](https://i.imgur.com/AKEjIKw.gif)\n\n## Dependencies\n\nFirst install these programs:\n\n- [nasm]\n- [qemu]\n\n## Quick Start\n\n### Build the game\n\n```console\n$ nasm pinpog.asm -o pinpog\n```\n\n### Run the game in QEMU\n\n```console\n$ qemu-system-i386 pinpog\n```\n\n## Making Bootable USB stick\n\n**WARNING! THE AUTHORS OF THE GAME ARE NOT RESPONSIBLE FOR ANY DAMAGED HARDWARE. SEE LICENSE FOR MORE INFORMATION.**\n\n### Linux\n\n1. Build the image of the game: `$ make pinpog`\n1. Get a USB stick (at least 512 bytes Kappa)\n1. Plug it in\n1. Find the block device of the USB drive using something like [lsblk](https://linux.die.net/man/8/lsblk)\n1. Use [dd](https://linux.die.net/man/1/dd) to write the image to the USB drive: `sudo dd if=./pinpog of=/dev/\u003cusb-drive\u003e`\n\n### Windows\n\n[TBD](https://github.com/tsoding/pinpog/issues/65)\n\n\u003c!-- TODO(#65): Bootable USB stick creation is not documented for Windows --\u003e\n\n## Controls\n\n- `a`, `d` - move racket sideways,\n- `f` - restart the game,\n- `space` - toggle pause.\n\n## References\n\n- https://en.wikipedia.org/wiki/Mode_13h\n- http://www.ctyme.com/intr/int.htm\n- https://board.flatassembler.net/topic.php?t=14914\n\n## Support\n\nYou can support my work via\n\n- Twitch channel: https://www.twitch.tv/subs/tsoding\n- Patreon: https://www.patreon.com/tsoding\n\n[nasm]: https://www.nasm.us/\n[qemu]: https://www.qemu.org/\n","funding_links":["https://www.patreon.com/tsoding"],"categories":["Assembly"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsoding%2Fpinpog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsoding%2Fpinpog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsoding%2Fpinpog/lists"}