ViceSharp
ViceSharp is a free C# port of VICE, the Versatile Commodore Emulator, targeting .NET 10.
What ViceSharp is
ViceSharp is a free C# port of VICE, the Versatile Commodore Emulator, targeting .NET 10. The project describes its C64 core as complete and says its VIC-20 core passed 10-second PAL and NTSC lockstep checks against native VICE. It includes an Avalonia desktop interface and a Console reference shell, while its library-first design offers ViceSharp.Core for embedding emulation in another app. Listed C64 capabilities 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 and C64, C64C, and SX-64 variants are listed. The host exposes gRPC capture and diagnostics services. ViceSharp does not include Commodore ROMs, which users must provide separately. The project is licensed under GNU GPL version 2.0 or later as a VICE derivative. C128, PET, and Plus/4 are not yet supported.
Good
- C64 core is described as complete.
- Provides desktop and console interfaces.
- Offers a library for embedding.
- Desktop app captures screenshots and audio.
- Includes a built-in debugger.
Watch out
- Commodore ROMs must be provided separately.
- C128, PET, and Plus/4 are unsupported.
- Some VIC-20 parity, input, and peripheral work remains open.
Who it suits
It suits developers who want to embed a Commodore emulation core, as well as users seeking C64 emulation with a desktop interface or console shell. Users need to provide Commodore ROMs separately.
Verdict
ViceSharp combines C64 emulation with desktop, console, and library options. Check its ROM requirement and currently unsupported machines before choosing it.
The facts
Each one read from ViceSharp's own pages, with the date it was checked.
What it does
- Capture and control
- The host surface includes gRPC capture and diagnostics services, and the architecture lists gRPC/protobuf contracts and generated client/server types.checked 7 Oct 2026
- Console shell
- ViceSharp.Console is offered as a .NET global tool and provides the reference command-line shell.checked 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.checked 7 Oct 2026
- Desktop UI
- ViceSharp provides an Avalonia desktop UI and a Console reference shell.checked 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.checked 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.checked 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.checked 8 Oct 2026
- Library packages
- The maker lists ViceSharp.Core and individual NuGet packages for embedding and related components.checked 8 Oct 2026
- License
- The project is licensed under GNU GPL version 2.0 or later.checked 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.checked 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.checked 8 Oct 2026
- Media limits
- The user guide says non-D64 disk formats such as G64, D71, and D81 are not yet supported.checked 8 Oct 2026
- Product
- ViceSharp is a C# port of VICE, the Versatile Commodore Emulator, targeting .NET 10.checked 7 Oct 2026
- Purpose
- ViceSharp is a C# port of VICE, the Versatile Commodore Emulator, targeting .NET 10.checked 8 Oct 2026
- Remote control
- The host exposes gRPC services for capture and diagnostics, with generated client and server types in the protocol package.checked 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.checked 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.checked 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.checked 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.checked 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.checked 8 Oct 2026
Where it runs
- Desktop app
- The Avalonia desktop UI is available as a .NET global tool and as a self-contained Windows MSI.checked 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.checked 7 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.checked 8 Oct 2026
Alternatives to ViceSharp
- 1
TRX64
Free planOpen sourceWebAPILinuxmacOS7.5Free plan - 2
Frodo
Free planOpen sourceAndroidLinuxmacOSSelf-hosted7.4Free plan - 3
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 4
VICE
Free planAndroidLinuxmacOSWindows7.1Free plan - 5
Power64
macOS6.7$30 one-time - 6
C64 Forever
Free planWindows6.6$19.95 one-time
