C64 Emulator Browser Plugin

Please don't use for new projects

This plugin is based on the Netscape NPAPI interface and the Windows(TM) COM interface. Since some browsers dropped the support for NPAPI and others may follow, the C64 Emulator Plugin development will stop at the end of 2016. Just move to my new project called C64 JavaScript Emulator which provides the C64 Emulator in your browser - without a plugin.


The C64 Emulator Plugin is not installed, download here.

Play on Full Screen


Select one snapshot/game from the Upload Area:


With the C64 Emulator Browser Plugin installer you're able to integrate the C64 Emulator into the browser. For this the browser plugin will be installed on your computer. This plugin works for the Windows(TM) system and is compatible at least with the Firefox(TM) and Chrome(TM) browsers. Restart your browser after the installation.

Here is a simple HTML example source to show the activation of the plugin inside a HTML file:

<object id="c64" data="my_snapshot.s64" type="application/x-c64-snapshot" width=100% height=100%></object>

The my_snapshot.s64 file is simply one of your saved snapshot file made by the C64 Emulator. Just press Alt+F3 inside the emulator and the saved snapshot file (snapshot.s64) is available in your "my document" folder.

Supported Mime Types:

Mime TypeFile ExtensionDescription
application/x-c64-snapshot.s64C64 Snapshot File
audio/x-sid.sidC64 Audio File
application/x-c64-cartridge.crtC64 Cartridge File
application/x-c64-program.prgC64 Program File
application/x-c64-datadisk.d64C64 Floppy Disk(data only/single side)
application/x-c64-rawdisk.g64C64 Floppy Disk(raw/single side)

Object Reference

var myc64 = document.getElementById("c64");


textwriteoutput text
focusAllowread/writeallow to take focus and key input (default:false)
hasFocusread/writeset focus (default:false)
keepAspectRatioread/writekeep aspect ratio (default:false)
hideBorderread/writehide C64 border (default:false)
pauseread/writepause emulation (default:false)
muteread/writemute sound (default:false)
diskBoxCountreadcount of disks in the disk box (multiple disks only)
diskBoxSelectedread/writecurrent selected disk in the disk box (multiple disks only)


reset()resets the emulation to the beginning.
snapshot()save a snapshot internally. The old snapshot will be overwritten.
restoreSnapshot()restores to the last snapshot or to the beginning.
setJoystickDevice( device )sets the joystick device. Devices: "keys1", "keys2", "joy1", "joy2" (default:"keys1")
setJoystickToggle( true/false )toggles the C64 joystick port (default:false)
setJoystickEnable( true/false )enables/disables the joystick (default:enabled)


onInitialized = function() {}This event is called from the emulator if initialization is finished.
onLoadFinished = function() {}The input data is loaded.
onContextMenuConfigChanged = function() {}The configuration has changed - done by the context menu.
onMouseDown = function() {}The left mouse button is pressed.
onMouseUp = function() {}The left mouse button is released.
onMouseRDown = function() {}The right mouse button is pressed.
onMouseRUp = function() {}The right mouse button is released.
onMouseMove = function(x, y) {}The mouse is moved inside the emulator window. 'x','y' position to the window.
onKeyDown = function(key) {}A key is pressed. The 'key' is the ascii character.
onKeyUp = function(key) {}A key is released. The 'key' is the ascii character.
onKeyVDown = function(key) {}A key is pressed. The 'key' is the virtual key code.
onKeyVUp = function(key) {}A key is released. The 'key' is the virtual key code.