c64js vs VirtualC64
c64js
github.comVirtualC64
dirkwhoffmann.github.ioSide by side
| Figure | c64js | VirtualC64 |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| macOS | — | Yes |
| Self-hosted | Yes | — |
| Plans published | 0 | 1 |
| Spec score · Commodore 64 Emulators | 7.2 (#15) | 7.9 (#9) |
| Implementation | The emulator is written in vanilla JavaScript. | The documentation says VirtualC64 is implemented in C++20 with portability in mind. |
| License | The code and documentation are released under the MIT license. | VirtualC64 is open-source under the GNU General Public License, and its CPU core is under the MIT license. |
| Maker | The project copyright and GitHub profile identify Mikael Borgbrant; the profile lists Stockholm, Sweden. | The site's imprint identifies Prof. Dr. Dirk W. Hoffmann at Hochschule Karlsruhe in Karlsruhe, Germany. |
| Purpose | c64js is an early Commodore 64 emulator written from scratch in JavaScript. | VirtualC64 turns an Apple Macintosh into a Commodore 64 emulator. |
Plans
In their own words
VirtualC64
VirtualC64 turns an Apple Macintosh into a Commodore 64 emulator, supporting PAL and NTSC systems with emphasis on PAL accuracy and cycle-accurate emulation. It includes a built-in debugger and supports the PAL C64, NTSC C64, C64 II PAL, and C64 II NTSC variants. Media formats include D64, T64, PRG, P00, G64, TAP, and CRT. Joystick input can come from the keyboard or an external USB device; named options include Sony DualShock 4 controllers and the RetroFun! USB adapter for original Commodore joysticks. VirtualC64 is free and open source under the GNU General Public License, while its CPU core uses the MIT license. The core is designed for WebAssembly and can run in a browser, although macOS is the listed supported platform. On first launch, users are prompted to add four ROM images, which are not pre-installed because their copyright status is unclear. Recent versions include free ROM replacements from the Mega65 project, installable through the ROM configuration panel.