- Home
- Commodore 64 Emulators
- C64 by ChronoCoders
C64 by ChronoCoders
What it is
C64 by ChronoCoders is a free emulator for the Commodore 64 and its 1541 disk drive, documented for Linux and Windows. Written in C11, it models the computer and disk drive as separate machines with independent clock timing that communicate through an IEC serial bus. Its VIC-II implementation covers five graphics modes, sprites, collisions, raster interrupts, and other display effects. The SID 6581 sound model includes oscillators, waveforms, envelopes, and a multimode filter, with audio resampled to 44.1 kHz. The project says it runs commercial software, including games checked beyond unit tests. The drive supports LOAD, SAVE, and NEW, and writes disk changes to a D64 image on clean exit. Input options include keyboard, joystick, and SDL-recognized controllers. Building the GUI requires a C11 compiler and SDL2. The project documents Linux x86-64 and Windows x86-64 through MSYS2 MinGW64 as verified platforms. Copyrighted C64 ROM images are not included, and users must provide legally obtained copies. Save-state snapshots are limited to matching platform, build, endianness, and compiler ABI.
For and against
For
- Free to use under the source-code MIT License.
- Models the C64 and 1541 as separate machines.
- Supports keyboard, joystick, and SDL-recognized controllers.
- Writes disk changes back to D64 images on clean exit.
- Includes a headless mode.
Against
- Users must supply their own legally obtained ROM images.
- The GUI requires a C11 compiler and SDL2.
- Save states are limited to matching build environments.
- SID filtering and mixing use fixed-point approximations.
The verdict
C64 documents detailed computer, drive, graphics, and sound emulation, along with D64 disk support. Users need their own legally obtained ROMs, and snapshots are not portable across differing build environments.
Who it suits
This emulator suits people who want to run Commodore 64 software on a documented Linux or Windows x86-64 setup. Its design notes also address people interested in extending or porting the code, or understanding its behavior.
On the record
- Accuracy limits
- The design notes say digital components are modelled to the cycle while the SID filter and mixing use labelled fixed-point approximations.github.com · read 7 Oct 2026
- Audience
- The design notes describe the documentation as intended for people extending or porting the code and people seeking to understand or trust its behaviour.github.com · read 7 Oct 2026
- Audio and graphics
- Its documented features include VIC-II graphics modes and sprites, plus SID 6581 sound resampled to 44.1 kHz.github.com · read 7 Oct 2026
- Build requirements
- The GUI binary requires a C11 compiler and SDL2; the project documents Linux x86-64 and Windows x86-64 using MSYS2 MinGW64 as verified platforms.github.com · read 7 Oct 2026
- Controls
- Keyboard, joystick, and SDL-recognized game controllers are supported, with configurable joystick port and keyboard layout.github.com · read 7 Oct 2026
- CPU and bus
- The C64 and 1541 run in separate clock domains and communicate over a modelled IEC serial bus.github.com · read 7 Oct 2026
- Disk drive
- The 1541 drive supports LOAD, SAVE, and NEW, with disk changes written back to the .d64 file on clean exit.github.com · read 7 Oct 2026
- Disk support
- The 1541 model supports LOAD, SAVE, and NEW, and writes disk changes back to the .d64 file on clean exit.github.com · read 7 Oct 2026
- Graphics
- The VIC-II implementation covers five graphics modes, sprites, collisions, badlines, raster interrupts, and border effects.github.com · read 7 Oct 2026
- Hardware emulation
- It models the C64 and 1541 as separate machines with independent clock domains and a real IEC serial bus.github.com · read 7 Oct 2026
- Headless mode
- The emulator supports a --headless mode and can run without an audio device, pacing to realtime from a wall-clock frame timer.github.com · read 7 Oct 2026
- Input
- Input options include keyboard mapping modes, joystick port switching, cursor-key joystick controls, and SDL-recognized game controllers.github.com · read 7 Oct 2026
- License
- The repository source code is available under the MIT License, which grants use without charge and disclaims warranties.github.com · read 7 Oct 2026
- License limits
- The MIT license covers repository source only; it does not cover ROM images, disk images, cartridges, or other software used with the emulator.github.com · read 7 Oct 2026
- Maker
- The maker profile identifies Altug Tatlisu and lists New York, US as the location.github.com · read 7 Oct 2026
- Purpose
- C64 is a cycle-accurate Commodore 64 and 1541 disk-drive emulator written from scratch in C11.github.com · read 7 Oct 2026
- Requirements
- Building requires a C11 compiler and SDL2 for the GUI binary; the project documents Linux x86-64 and Windows x86-64 using MSYS2 MinGW64 as verified platforms.github.com · read 7 Oct 2026
- ROM requirement
- Copyrighted C64 and 1541 ROM images are not included, so users must supply their own legally obtained copies.github.com · read 7 Oct 2026