• Print




VirtualC64 emulates a Commodore 64 personal computer. I wrote the software with two major goals in mind. First, I wanted to create an emulator that can be used as a demonstrator program in a first year or second year course on computer engineering. To achieve this goal, I have integrated various debugging capabilities that let you peek inside the CPU, RAM, ROM, or one of the custom chips. Second, I tried to make the emulator as user friendly as it can get.


VirtualC64 utilizes a cycle based simulation engine to achieve high compatibility. Although cycle accurate emulation consumes more computing time than, e.g., line based emulation, all modern machines provide enough computing power to imitate a C64 in real-time. VirtualC64 does not yet reach the awesome compatibility of the classical emulators such as Hoxs64, Vice, or Frodo. However, plenty of games are already running and the list of compatible applications grows with every new release. Right now, VirtualC64 supports the following file formats: D64, T64, PRG, P00.

User interface

I have spent a lot of time on designing a user-friendly interface. My overall goal was to restrict myself to those features that everybody expects from a descent emulator, but no more! VirtualC64 neither supports ancient devices such as virtual dot matrix printers, nor does it offer thousands of preference switches like other emulators do. VirtualC64 pursues the philosophy that typical actions must be easy to perform. E.g., to load a game, simply drag the file into the main screen. Installing ROM images works the same way.

Integrated debugger

The debug panel opens up when you click the Inspect button in the upper toolbar. The panel lets you peek inside the virtual computer. E.g., you can inspect the CPU, RAM, ROM or one of the custom chips with a single click. In addition, VirtualC64 provides the main functionality of a typical source-level-debugger. You can freeze emulation any time, set breakpoints or memory traps, or single-step through your program.

Introducing Cheatbox

VirtualC64 introduces a new feature that lets you travel back in time. To do so, the emulator constantly saves it state in the background. If you're hit by an enemy, simply click on the cheatbox icon in the toolbar. You can then browse through a list of snapshot and revert to a previous state by dragging an dropping one of the thumbnail images into the main screen. A feature you'll never want to miss any more!

Open source

VirtualC64 is open source software published under the GNU general public license. If you agree with VirtualC64's philosophy, you are welcome to join the project. The core emulator is written in C++. The graphical user interface is a native Cocoa application written in Objective-C. Please note that I don't want to port the emulator to other operating systems yet.