{"id":13514231,"url":"https://github.com/amhndu/SimpleNES","last_synced_at":"2025-03-31T03:30:21.170Z","repository":{"id":37493083,"uuid":"60143954","full_name":"amhndu/SimpleNES","owner":"amhndu","description":"An NES emulator in C++","archived":false,"fork":false,"pushed_at":"2025-01-05T07:06:47.000Z","size":223,"stargazers_count":4928,"open_issues_count":5,"forks_count":1118,"subscribers_count":95,"default_branch":"master","last_synced_at":"2025-03-26T01:01:55.919Z","etag":null,"topics":["c-plus-plus","emulator","nes-emulator","sfml"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amhndu.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":"2016-06-01T03:54:55.000Z","updated_at":"2025-03-24T12:35:08.000Z","dependencies_parsed_at":"2023-10-20T16:48:18.312Z","dependency_job_id":"377cb75f-ad33-4016-a01b-fd34cb72d830","html_url":"https://github.com/amhndu/SimpleNES","commit_stats":{"total_commits":151,"total_committers":9,"mean_commits":16.77777777777778,"dds":"0.20529801324503316","last_synced_commit":"9fec80c9dd30f6dfc61c9e130f718fee0ec6b20a"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amhndu%2FSimpleNES","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amhndu%2FSimpleNES/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amhndu%2FSimpleNES/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amhndu%2FSimpleNES/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amhndu","download_url":"https://codeload.github.com/amhndu/SimpleNES/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246413377,"owners_count":20773053,"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":["c-plus-plus","emulator","nes-emulator","sfml"],"created_at":"2024-08-01T05:00:50.155Z","updated_at":"2025-03-31T03:30:21.164Z","avatar_url":"https://github.com/amhndu.png","language":"C++","funding_links":[],"categories":["Nintendo","Home Game Console Emulators","Nintendo Entertainment System/Famicom","C++"],"sub_categories":["NES","Nintendo"],"readme":"SimpleNES\n=============\n\n\nAn NES emulator written in C++ for nothing but fun.\n\nRoughly 50-60% of games should work (ie. games that use either no mapper or mappers 1, 2, 3 and experimental support for 4, 7, 66 and 11).\n\n\n\n\nExamples of games that have been tested to run (but NOT limited to):\n\n(USA/Japan or World versions only i.e. NTSC compatible)\n\n* Super Mario Bros.\n* Contra\n* Adventure Island\n* Ninja Gaiden\n* Wrecking Crew\n* Megaman and Megaman 2\n* Mario Bros.\n* Donky Kong and Donkey Kong Jr.\n* Battle City\n* Paperboy\n* Legend of Zelda\n* Pacman\n* Tennis\n* Excitebike\n* Nightmare Elm Street\n* Cabal\n* Battletoads\n* Arch Rivals\n* etc...\n\n\nScreenshots\n------------------------\n![Screenshot 1](http://amhndu.github.io/screenshots/nes1.png)\n![Screenshot 2](http://amhndu.github.io/screenshots/nes2.png)\n![Screenshot 3](http://amhndu.github.io/screenshots/nes3.png)\n![Screenshot 4](http://amhndu.github.io/screenshots/nes4.png)\n![Screenshot 5](http://amhndu.github.io/screenshots/nes5.png)\n![Screenshot 6](http://amhndu.github.io/screenshots/nes6.png)\n![Screenshot 6](http://amhndu.github.io/screenshots/nes7.png)\n![Screenshot 6](http://amhndu.github.io/screenshots/nes8.png)\n\nVideos\n------------\n[YouTube Playlist](https://www.youtube.com/playlist?list=PLiULt7qySWt2VbHTkvIt9kYPMPcWt01qN)\n\n\nCompiling\n-----------\n\nYou need:\n* [SFML 2.0+](#installing-sfml) development headers and library\n* C++11 compliant compiler\n* [CMake](https://cgold.readthedocs.io/en/latest/first-step/installation.html) build system\n\nCompiling is straight forward with cmake, just run cmake on the project directory with CMAKE_BUILD_TYPE=Release\nand you'll get Makefile or equivalent for your platform, with which you can compile the emulator\n\nFor e.g., on Linux/OS X/FreeBSD:\n```\n$ git clone https://github.com/amhndu/SimpleNES\n$ cd SimpleNES\n$ mkdir build/ \u0026\u0026 cd build/\n$ cmake -DCMAKE_BUILD_TYPE=Release ..\n$ make -j4    # Replace 4 with however many cores you have to spare\n```\nSee also: [compile.yaml](https://github.com/amhndu/SimpleNES/blob/master/.github/workflows/compile.yml) for platform specific instructions\n\nDownload SimpleNES\n-----------------\n1. Download an executable based on your platform from the latest run on [Github Actions](https://github.com/amhndu/SimpleNES/actions)\n2. Install [sfml](#installing-sfml)\n\n\nInstalling SFML\n-----------------\n* Windows: `vcpkg install sfml`. Alterntaively, download from [SFML](https://www.sfml-dev.org/download/sfml/2.6.2/)\n* Debian/Ubuntu/derivates: `sudo apt install -y libsfml-dev`\n* Arch/etc: `sudo pacman -S sfml`\n* MacOS: `brew install sfml`\n\n\nRunning\n-----------------\n\nJust pass the path to a .nes image like\n\n```\n$ ./SimpleNES ~/Games/SuperMarioBros.nes\n```\nTo set size of the window,\n```\n$ ./SimpleNES -w 600 ~/Games/Contra.nes\n```\nFor supported command line options, try\n```\n$ ./SimpleNES -h\n```\n\nController\n-----------------\n\nKeybindings can be configured with keybindings.conf\n\n\nDefault keybindings:\n\n**Player 1**\n\n Button        | Mapped to\n --------------|-------------\n Start         | Return/Enter\n Select        | Right Shift\n A             | J\n B             | K\n Up            | W\n Down          | S\n Left          | A\n Right         | D\n\n\n**Player 2**\n\n Button        | Mapped to\n --------------|-------------\n Start         | Numpad9\n Select        | Numpad8\n A             | Numpad5\n B             | Numpad6\n Up            | Up\n Down          | Down\n Left          | Left\n Right         | Right\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famhndu%2FSimpleNES","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famhndu%2FSimpleNES","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famhndu%2FSimpleNES/lists"}