{"id":41180837,"url":"https://github.com/retroenv/nesgoemu","last_synced_at":"2026-01-22T20:05:36.104Z","repository":{"id":218156321,"uuid":"745558841","full_name":"retroenv/nesgoemu","owner":"retroenv","description":"Nintendo Entertainment System emulator written in Golang","archived":false,"fork":false,"pushed_at":"2026-01-12T05:55:39.000Z","size":274,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-12T15:46:07.492Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/retroenv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"cornel"}},"created_at":"2024-01-19T15:46:08.000Z","updated_at":"2026-01-12T05:55:43.000Z","dependencies_parsed_at":"2024-01-20T04:12:05.193Z","dependency_job_id":"ea6aabbf-df67-42f2-9912-da369bdae9f8","html_url":"https://github.com/retroenv/nesgoemu","commit_stats":null,"previous_names":["retroenv/nesgoemu"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/retroenv/nesgoemu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retroenv%2Fnesgoemu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retroenv%2Fnesgoemu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retroenv%2Fnesgoemu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retroenv%2Fnesgoemu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/retroenv","download_url":"https://codeload.github.com/retroenv/nesgoemu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/retroenv%2Fnesgoemu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28670366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T19:36:09.361Z","status":"ssl_error","status_checked_at":"2026-01-22T19:36:05.567Z","response_time":144,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-01-22T20:05:36.005Z","updated_at":"2026-01-22T20:05:36.100Z","avatar_url":"https://github.com/retroenv.png","language":"Go","funding_links":["https://patreon.com/cornel"],"categories":[],"sub_categories":[],"readme":"# nesgoemu - a pure Golang NES Emulator\n\n[![Build status](https://github.com/retroenv/nesgoemu/actions/workflows/go.yaml/badge.svg?branch=main)](https://github.com/retroenv/nesgoemu/actions)\n[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white\u0026style=flat-square)](https://pkg.go.dev/github.com/retroenv/nesgoemu)\n[![Go Report Card](https://goreportcard.com/badge/github.com/retroenv/nesgoemu)](https://goreportcard.com/report/github.com/retroenv/nesgoemu)\n[![codecov](https://codecov.io/gh/retroenv/nesgoemu/branch/main/graph/badge.svg?token=NS5UY28V3A)](https://codecov.io/gh/retroenv/nesgoemu)\n\n\nnesgoemu is a Nintendo Entertainment System (NES) emulator written in Go. It aims for accurate hardware emulation while maintaining clean, maintainable code.\n\nThe emulator runs NES ROMs and includes debugging tools for development work. It can run in console mode with no external dependencies, or with a SDL-based GUI for full gaming experience.\n\n## Features\n\n### NES Hardware Emulation\n* 6502 CPU emulation using retrogolib\n* PPU (Picture Processing Unit) with basic rendering\n* APU (Audio Processing Unit) - basic structure implemented\n* Memory mappers: NROM, MMC1, CNROM, UxROM, AxROM, GTROM, UNROM512\n\n### Development Tools\n* Web-based debugger with HTTP endpoints\n* CPU instruction tracing to console/file\n* Execution control (entry point, stop address)\n* Memory and register inspection via debugger\n\n### Implementation\n* Written in pure Go with no CGO dependencies\n* Console mode available (no GUI dependencies)\n* Cross-platform support where Go and SDL2 are available\n\n## Installation\n\n### Requirements\n\n* Go 1.22 or later\n* SDL2 libraries (optional, for GUI mode)\n\n### Install from Go\n\n```bash\ngo install github.com/retroenv/nesgoemu@latest\n```\n\nThis installs the binary to your `GOPATH/bin` directory.\n\n### Build from Source\n\n```bash\ngit clone https://github.com/retroenv/nesgoemu.git\ncd nesgoemu\ngo install .\n```\n\n### GUI Dependencies\n\nThe emulator can run in console mode without any additional libraries. For the SDL-based GUI, you'll need to install SDL2 development libraries.\n\nSee [docs/gui.md](docs/gui.md) for detailed platform-specific installation instructions.\n\n## Usage\n\n### Basic Usage\n\nRun a NES ROM:\n\n```bash\nnesgoemu game.nes\n```\n\nThis opens the game in a SDL window with the default controls.\n\n### Controls\n\n- Arrow keys: D-Pad\n- Z: A button\n- X: B button  \n- Enter: Start\n- Backspace: Select\n\n## Documentation\n\n- [docs/advanced-usage.md](docs/advanced-usage.md) - Debugging, automation, and advanced workflows\n- [docs/development.md](docs/development.md) - Development guide, building, testing, and contributing\n- [docs/gui.md](docs/gui.md) - GUI setup and SDL2 installation\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- NESDev community for NES hardware documentation\n- SDL2 for cross-platform multimedia support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretroenv%2Fnesgoemu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fretroenv%2Fnesgoemu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretroenv%2Fnesgoemu/lists"}