dotnet-6502¶
A 6502 CPU emulator for .NET — cross-platform libraries and applications for executing 6502 machine code, and emulating specific computer systems (such as the Commodore 64) in different UI contexts.
Note
This is mainly a programming exercise that may or may not turn into something more. See Limitations.
Where to start¶
- Try it now — Avalonia Browser app (runs in a browser, no install)
- Run on desktop — Desktop apps installation (Windows, macOS, Linux)
- Use the library —
Highbyte.DotNet6502for embedding 6502 code execution in your own .NET app
Web apps¶
| Avalonia Browser app | Blazor Web Assembly app |
|---|---|
![]() |
![]() |
Desktop apps¶
| Avalonia Desktop | SadConsole | SilkNetNative |
|---|---|---|
![]() |
![]() |
![]() |
See Desktop apps installation for download links and instructions for Windows, Linux, and macOS.
Terminal (TUI) app¶
Terminal (TUI) app — runs the emulator interactively inside a real terminal, rendering the emulated text-mode screen as colored Unicode cells via Terminal.Gui. Works over SSH and in tmux/screen. Supports the C64, VIC-20, Apple II Plus, and Oric Atmos in character mode (no audio or pixel graphics), and includes the built-in machine code monitor.

Headless app¶
Headless app — runs the emulator without any UI, rendering, audio, or user input. Controlled entirely via CLI arguments and Lua scripts. Useful for automation, scripting, and CI workflows.
Featured tools¶
| VS Code debugger extension | Lua scripting | Remote control |
|---|---|---|
![]() |
![]() |
![]() |
Other features¶
| Run 6502 machine code in your own .NET apps | Machine code monitor | C64 Basic AI code completion |
|---|---|---|
![]() |
![]() |
![]() |
For full library reference, see Libraries.










