{"id":19090146,"url":"https://github.com/freem/freem_pong","last_synced_at":"2025-08-04T18:40:24.563Z","repository":{"id":145429133,"uuid":"53974711","full_name":"freem/freem_pong","owner":"freem","description":"a small pong clone for NES/Famicom and PC Engine/TurboGrafx 16.","archived":false,"fork":false,"pushed_at":"2016-07-10T04:58:40.000Z","size":55,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-22T07:16:46.348Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Assembly","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/freem.png","metadata":{"files":{"readme":"README.txt","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":"2016-03-15T20:03:56.000Z","updated_at":"2023-06-20T15:57:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"850e7bac-8642-47b4-86fc-7311ef4684d1","html_url":"https://github.com/freem/freem_pong","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/freem/freem_pong","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreem_pong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreem_pong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreem_pong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreem_pong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freem","download_url":"https://codeload.github.com/freem/freem_pong/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freem%2Ffreem_pong/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263348431,"owners_count":23452883,"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-11-09T03:02:16.307Z","updated_at":"2025-07-03T15:09:59.000Z","avatar_url":"https://github.com/freem.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"+------------+----------------------------------------------------------------+\n| freem pong | a small pong clone for NES/Famicom and PC Engine/TurboGrafx 16 |\n+------------+----------------------------------------------------------------+\n(This file is meant to be viewed in a text editor with monospaced font.)\n\n--[Introduction]---------------------------------------------------------------\nFor some odd reason, I thought it might be a neat idea to create a Pong clone\nthat targets both the NES/Famicom and PC Engine/TurboGrafx 16. Unlike most\nPCE projects, ca65 and ld65 are used instead of the standard pceas.\n\nPong is simple enough to understand, yet complex enough to introduce a number\nof concepts required when making a video game:\n\n- Game states (attract mode vs. gameplay)\n- Game logic  (what to update and when)\n- Collision   (object interaction)\n- Input       (handling controller input)\n- Display     (sprites and background)\n\nSince the codebase has two targets, the most optimal code is not always used.\nWhen necessary, the NES and PCE behaviors have been split.\n\n--[Requirements]---------------------------------------------------------------\nFor both targets (NES and PCE):\n- GNU Make\n- A recent version of CC65 (with PC Engine/TurboGrafx 16 support)\n- Some way to run the ROMs (an emulator, a flashcart, an EPROM cart, etc.)\n\n--[Compiling]------------------------------------------------------------------\nIn the main folder is a Makefile with the following targets:\n\n- release\n\"make release\" builds both NES and PCE release versions. (nes and pce)\n\n- debug\n\"make debug\" builds both NES and PCE debug versions. (nes_debug and pce_debug)\n\n- all\n\"make all\" builds all possible combinations (debug and release)\n\n- nes\n\"make nes\" builds the NES release version.\n\n- nes_debug\n\"make nes_debug\" builds the NES debug version.\n\n- pce\n\"make pce\" builds the PCE release version.\n\n- pce_debug\n\"make pce_debug\" builds the PCE debug version.\n\nROM binaries are output into the \"bin\" directory. Object files remain in \"src\".\n\n--[Controls]--------------------------------------------------------------------\nStart (NES) - begin game   (title screen)\nRun (PCE)   - begin game   (title screen)\nLeft, Right - change score (title screen)\nUp, Down    - move paddle  (gameplay)\nSelect      - toggle ball debug (gameplay; debug builds only)\n\nWhen the ball debug mode is active, Player 1's controller moves the ball\naround the screen.\n\n--[Title Screen]----------------------------------------------------------------\n(currently not implemented)\n\nThe title screen greets you when turning the game on.\n\nYou can set the number of points for a game by pressing Left and Right.\nValid values are between 05 and ??.\n\nWhen ready, press either Start (NES) or Run (PCE) to begin the game.\n\n--[Gameplay]--------------------------------------------------------------------\nGameplay is pretty basic. The ball doesn't really speed up when you hit it,\nsince the current collision checks suck.\n\n\n--[License]---------------------------------------------------------------------\nAll graphics and code are released into the public domain. Where that is not\navailable, the Unlicense is used instead. see LICENSE file for more information.\n\nNES and Famicom are trademarks of Nintendo.\nPC Engine and TurboGrafx 16 are trademarks of NEC.\nfreem is not affiliated with or endorsed by Nintendo, NEC, Hudson Soft, Sunsoft,\nor any other companies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreem%2Ffreem_pong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreem%2Ffreem_pong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreem%2Ffreem_pong/lists"}