{"id":35226018,"url":"https://github.com/highbyte/dotnet-6502","last_synced_at":"2026-05-07T22:03:29.477Z","repository":{"id":40381513,"uuid":"337159897","full_name":"highbyte/dotnet-6502","owner":"highbyte","description":"6502 CPU emulator in .NET","archived":false,"fork":false,"pushed_at":"2026-01-11T11:50:51.000Z","size":1438809,"stargazers_count":15,"open_issues_count":5,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-11T14:57:35.669Z","etag":null,"topics":["6502","c64-emulator","cpu-emulator","cross-platform","csharp","dotnet","emulator","library"],"latest_commit_sha":null,"homepage":"","language":"C#","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/highbyte.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-08T17:47:42.000Z","updated_at":"2026-01-11T10:24:17.000Z","dependencies_parsed_at":"2023-10-13T11:19:40.215Z","dependency_job_id":"aa1f8c17-412b-4a5b-a4d9-34dce6823e84","html_url":"https://github.com/highbyte/dotnet-6502","commit_stats":null,"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"purl":"pkg:github/highbyte/dotnet-6502","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/highbyte%2Fdotnet-6502","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/highbyte%2Fdotnet-6502/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/highbyte%2Fdotnet-6502/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/highbyte%2Fdotnet-6502/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/highbyte","download_url":"https://codeload.github.com/highbyte/dotnet-6502/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/highbyte%2Fdotnet-6502/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28487586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T22:54:02.790Z","status":"ssl_error","status_checked_at":"2026-01-16T22:50:10.344Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["6502","c64-emulator","cpu-emulator","cross-platform","csharp","dotnet","emulator","library"],"created_at":"2025-12-30T01:07:03.627Z","updated_at":"2026-05-07T22:03:29.463Z","avatar_url":"https://github.com/highbyte.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/images/logo-simple-text.png\" width=\"25%\" title=\"DotNet 6502 logo\"\u003e\n\u003c/p\u003e\n\u003ch2 align=\"center\"\u003e\n  A \u003ca href=\"https://en.wikipedia.org/wiki/MOS_Technology_6502\"\u003e6502 CPU\u003c/a\u003e emulator for .NET\n\u003c/h2\u003e\n\n[![.NET](https://img.shields.io/badge/.NET-10.0-512BD4)](https://highbyte.github.io/dotnet-6502/docs/home/development/)\n[![language](https://img.shields.io/badge/language-C%23-239120)](https://highbyte.github.io/dotnet-6502/docs/home/development/)\n[![OS](https://img.shields.io/badge/OS-windows%2C%20macOS%2C%20linux-0078D4)](https://highbyte.github.io/dotnet-6502/docs/desktop-apps/installation/)\n[![WebAssembly](https://img.shields.io/badge/WebAssembly-654FF0?logo=webassembly\u0026logoColor=fff)](https://highbyte.github.io/dotnet-6502/docs/web-apps/overview/)\n[![SonarCloud Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=highbyte_dotnet-6502\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=highbyte_dotnet-6502)\n[![SonarCloud Security Rating](https://sonarcloud.io/api/project_badges/measure?project=highbyte_dotnet-6502\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=highbyte_dotnet-6502)\n[![SonarCloud Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=highbyte_dotnet-6502\u0026metric=vulnerabilities)](https://sonarcloud.io/project/issues?id=highbyte_dotnet-6502\u0026resolved=false\u0026types=VULNERABILITY)\n[![SonarCloud Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=highbyte_dotnet-6502\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=highbyte_dotnet-6502)\n[![SonarCloud Bugs](https://sonarcloud.io/api/project_badges/measure?project=highbyte_dotnet-6502\u0026metric=bugs)](https://sonarcloud.io/project/issues?id=highbyte_dotnet-6502\u0026resolved=false\u0026types=BUG)\n[![SonarCloud Coverage](https://sonarcloud.io/api/project_badges/measure?project=highbyte_dotnet-6502\u0026metric=coverage)](https://sonarcloud.io/component_measures?id=highbyte_dotnet-6502\u0026metric=coverage\u0026view=list)\n[![.NET](https://github.com/highbyte/dotnet-6502/actions/workflows/dotnet.yml/badge.svg)](https://github.com/highbyte/dotnet-6502/actions/workflows/dotnet.yml)\n[![CodeQL](https://github.com/highbyte/dotnet-6502/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/highbyte/dotnet-6502/actions/workflows/codeql-analysis.yml)\n[![NuGet Version](https://img.shields.io/nuget/v/Highbyte.DotNet6502)](https://www.nuget.org/packages/Highbyte.DotNet6502/)\n[![GitHub Release](https://img.shields.io/github/v/release/highbyte/dotnet-6502?include_prereleases)](#)\n[![GitHub Release Date](https://img.shields.io/github/release-date-pre/highbyte/dotnet-6502)](#)\n[![GitHub last commit](https://img.shields.io/github/last-commit/highbyte/dotnet-6502)](#)\n[![GitHub License](https://img.shields.io/github/license/highbyte/dotnet-6502)](LICENSE)\n\n# Overview\n\n.NET cross-platform libraries and applications for executing 6502 CPU machine code, and emulating specific computer systems (such as Commodore 64) in different UI contexts — browser, desktop, and headless.\n\n\u003e [!IMPORTANT]\n\u003e This is mainly a programming exercise that may or may not turn into something more. See [Limitations](#limitations) below.\n\n## 📖 Documentation\n\nFull documentation lives at **\u003chttps://highbyte.github.io/dotnet-6502/docs/\u003e** — apps, libraries, tools, systems, and development guides.\n\n## Try it in your browser\n\n| [Avalonia WebAssembly](https://highbyte.se/dotnet-6502/app2) | [Blazor WebAssembly](https://highbyte.se/dotnet-6502/app) |\n| ------------------------------------------------------------ | --------------------------------------------------------- |\n| \u003ca href=\"https://highbyte.se/dotnet-6502/app2\" target=\"_blank\"\u003e\u003cimg src=\"docs/assets/screenshots/AvaloniaBrowser_C64_Montezuma.png\" title=\"Avalonia WebAssembly app, C64 Montezuma's Revenge\"/\u003e\u003c/a\u003e | \u003ca href=\"https://highbyte.se/dotnet-6502/app\" target=\"_blank\"\u003e\u003cimg src=\"docs/assets/screenshots/BlazorWASM_C64_LastNinja.png\" title=\"Blazor WebAssembly app, C64 Last Ninja\"/\u003e\u003c/a\u003e |\n\n## Other apps and features\n\n- **Desktop apps** for Windows, Linux, and macOS — Avalonia, SadConsole, and SilkNet variants. See [Desktop apps](https://highbyte.github.io/dotnet-6502/docs/desktop-apps/installation/).\n- **Headless app** for automation, scripting, and CI workflows — no UI, controlled via CLI and Lua. See [Headless](https://highbyte.github.io/dotnet-6502/docs/desktop-apps/headless/).\n- **VS Code debugger extension** for source and disassembly debugging of 6502 code. See [VSCode debugger](https://highbyte.github.io/dotnet-6502/docs/tools/vscode-debugger/debugging/).\n- **Lua scripting** for driving the emulator — selecting systems, controlling emulation, reading/writing memory, injecting input. See [Scripting](https://highbyte.github.io/dotnet-6502/docs/tools/scripting/overview/).\n- **TCP remote control** lets external processes inspect and drive a running emulator over a newline-delimited JSON protocol. See [Remote control](https://highbyte.github.io/dotnet-6502/docs/tools/remote-control/overview/).\n- **C64 Basic AI code completion** in the Blazor browser app. See [AI code completion](https://highbyte.github.io/dotnet-6502/docs/systems/c64/code-completion/).\n\n## Libraries\n\nPublished as NuGet packages under `Highbyte.DotNet6502.*` — a core CPU library, system emulation libraries (Commodore 64, Generic), and per-host I/O implementations (Avalonia, Blazor, SadConsole, SilkNet, etc.). See [Libraries](https://highbyte.github.io/dotnet-6502/docs/libraries/) for the full catalog and architecture.\n\n# Limitations\n\n\u003e [!IMPORTANT]\n\u003e - Correct emulation of all aspects of computers such as the Commodore 64 is not likely.\n\u003e - Not the fastest emulator.\n\u003e - A real Commodore 64 uses the *6510* CPU; for the purpose of this emulator the 6502 is treated as equivalent (same instruction set).\n\u003e - Code coverage is currently limited to the core `Highbyte.DotNet6502` library.\n\nFor the full list of missing features and constraints, see [Limitations](https://highbyte.github.io/dotnet-6502/docs/home/limitations/).\n\n# Development \u0026 references\n\n- [Development guide](https://highbyte.github.io/dotnet-6502/docs/home/development/)\n- [References \u0026 inspiration](https://highbyte.github.io/dotnet-6502/docs/home/references/)\n\n# Credits\n\n- [Kristoffer Strube](https://github.com/KristofferStrube) for the original Blazor WASM async interop code for [WebAudio](https://github.com/KristofferStrube/Blazor.WebAudio), [DOM](https://github.com/KristofferStrube/Blazor.DOM), and [IDL](https://github.com/KristofferStrube/Blazor.WebIDL) that was the basis for a synchronous implementation in this repo. Copyright notice [here](src/libraries/Highbyte.DotNet6502.Impl.AspNet/JSInterop/JSInterop_OriginalLicense.MD).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhighbyte%2Fdotnet-6502","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhighbyte%2Fdotnet-6502","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhighbyte%2Fdotnet-6502/lists"}