Freedom251 › Commodore 64 Emulators
ViceSharp

What ViceSharp is
ViceSharp is a C# port of VICE, the Versatile Commodore Emulator, targeting .NET 10. Its project describes the C64 core as complete, while the VIC-20 core has passed 10-second PAL and NTSC lockstep checks against native VICE. It includes an Avalonia desktop interface and a Console reference shell, with ViceSharp.Core available for embedding the emulation core in another app. Listed C64 components include CPU, VIC-II, CIA, and SID emulation, 1541/D64 attachment and sector reads, TAP pulse reads, standard cartridge mapping, snapshots, and media capture. The desktop app can save PNG or BMP screenshots, record SID audio as WAV, and export BMP sequences or muxed video using ffmpeg. A built-in debugger is listed, along with C64, C64C, and SX-64 variants. The host exposes gRPC capture and diagnostics services. ViceSharp is free and licensed under GNU GPL version 2.0 or later as a derivative work of VICE. It does not include Commodore ROMs, which users must provide separately. C128, PET, and Plus/4 are not yet supported.
Who it suits
ViceSharp suits developers seeking an embeddable Commodore emulation core, as well as users looking for a C64 desktop or console emulator. It is available for Windows, Linux, and macOS.
What it does well
- Free and licensed under GNU GPL version 2.0 or later.
- Provides desktop UI, console shell, and embeddable core.
- Includes a built-in debugger.
- Can capture screenshots and SID audio.
What to know first
- Users must provide Commodore ROMs separately.
- C128, PET, and Plus/4 are not yet supported.
- Some VIC-20 parity, input, and peripheral work remains open.
Limits
The free plan has no listed quota. Some VIC-20 parity, input and peripheral work remains open; C128, PET and Plus/4 are planned. The user guide says non-D64 formats such as G64, D71 and D81 are not yet supported, while the repository also lists G64, T64 and TAP among supported formats.
Getting started
- Open the project on GitHub.
- For the desktop interface, use the .NET global tool or the self-contained Windows MSI.
- For the console shell, use the ViceSharp.Console .NET global tool.
- For embedding, use ViceSharp.Core or the listed NuGet packages.
- Provide a VICE data root or configure the Commodore ROMs separately.
Verdict
ViceSharp offers C64 emulation through desktop, console, and library interfaces, with media capture and a debugger. Users need separate ROMs, and the listed machine support does not yet include C128, PET, or Plus/4.
Questions
How much does ViceSharp cost?
It is free, and the listed pricing note is Free plan.
Which platforms does it support?
The listed platforms are Linux, macOS and Windows. Windows desktop MSI packaging and Linux/macOS build scripts are described.
Does ViceSharp include Commodore ROMs?
No. Users need to provide a VICE data root or configure ROMs separately.
Is ViceSharp open source?
It is licensed under GNU GPL version 2.0 or later and identified as a derivative work of VICE.
Which Commodore machines are supported?
The project describes working C64 emulation and a VIC-20 core. C128, PET and Plus/4 are planned; the listed C64 variants are C64, C64C and SX-64.
Does it have a debugger?
Yes, a built-in debugger is listed.
Facts from ViceSharp's own pages
- Capture and control
- The host surface includes gRPC capture and diagnostics services, and the architecture lists gRPC/protobuf contracts and generated client/server types. · github.com, 7 Oct 2026
- Console shell
- ViceSharp.Console is offered as a .NET global tool and provides the reference command-line shell. · github.com, 8 Oct 2026
- Current emulation
- The project says its C64 core is complete and its VIC-20 core has passed 10-second PAL and NTSC lockstep checks against native VICE. · github.com, 7 Oct 2026
- Desktop app
- The Avalonia desktop UI is available as a .NET global tool and as a self-contained Windows MSI. · github.com, 8 Oct 2026
- Desktop UI
- ViceSharp provides an Avalonia desktop UI and a Console reference shell. · github.com, 7 Oct 2026
- Developer use
- The project describes itself as library-first and offers a ViceSharp.Core package for embedding the emulation core in another app. · github.com, 7 Oct 2026
- Emulation features
- The repository lists C64 features including CPU, VIC-II, CIA, SID, 1541/D64 attach and sector reads, TAP pulse reads, standard cartridge mapping, snapshots, and media capture. · github.com, 7 Oct 2026
- Intended users
- The maker describes a library-first emulator with packages for developers who want to embed its emulation core in their own app. · github.com, 8 Oct 2026
- Library packages
- The maker lists ViceSharp.Core and individual NuGet packages for embedding and related components. · github.com, 8 Oct 2026
- License
- The project is licensed under GNU GPL version 2.0 or later. · github.com, 8 Oct 2026
- Limits
- The repository says C128, PET, and Plus/4 are planned iterations, and notes that some VIC-20 parity, input, and peripheral work remains open. · github.com, 7 Oct 2026
- Media capture
- The desktop app can save PNG or BMP screenshots, record SID audio as WAV, and export BMP sequences or muxed video using ffmpeg. · github.com, 8 Oct 2026
- Media limits
- The user guide says non-D64 disk formats such as G64, D71, and D81 are not yet supported. · github.com, 8 Oct 2026
- Platforms and packaging
- The project describes Windows desktop MSI and winget packaging, Linux/macOS build scripts, and MacOS, Android, and iOS host shell packages. · github.com, 7 Oct 2026
- Product
- ViceSharp is a C# port of VICE, the Versatile Commodore Emulator, targeting .NET 10. · github.com, 7 Oct 2026
- Purpose
- ViceSharp is a C# port of VICE, the Versatile Commodore Emulator, targeting .NET 10. · github.com, 8 Oct 2026
- Remote control
- The host exposes gRPC services for capture and diagnostics, with generated client and server types in the protocol package. · github.com, 8 Oct 2026
- ROM requirement
- ViceSharp does not include Commodore ROM images, so users need ROM assets from an installed VICE package or another legal source. · github.com, 8 Oct 2026
- Security and state handling
- The project says all state changes flow through an auditable mutation queue and identical inputs produce bit-exact deterministic replay. · github.com, 7 Oct 2026
- Support
- The repository directs users to file regressions in its GitHub issues and asks them to include the commit SHA, .NET SDK version, invocation, and reproduction details. · github.com, 8 Oct 2026
- Supported machines
- The repository describes working C64 emulation and a VIC-20 core, while C128, PET, and Plus/4 are listed as not yet supported. · github.com, 8 Oct 2026
- VICE compatibility
- The Launcher library provides VICE-compatible argument parsing and binary-name topology dispatch, while the Console shell accepts flags such as -8, -9, -cart, and +truedrive/-truedrive. · github.com, 7 Oct 2026
- VICE compatibility limit
- VICE-compatible argument parsing exists in a library, but standalone VICE-named binaries are not shipped and some parsed disk and drive flags are not wired into the console entry point. · github.com, 8 Oct 2026
Where ViceSharp stands on Freedom251
- Commodore 64 Emulators#20 of 31