Emulate the Commodore 64 home computer with Linux

Last Updated on April 22, 2022

Emulation is the practice of using a program (called an emulator) on a PC to mimic the behaviour of a home computer or a video game console, in order to play (usually retro) games on a computer.

Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a single non-technical user.

Back in the 1980s, home computers came to the forefront of teenagers’ minds. Specifically, the Amiga, ZX Spectrum, and Atari ST were extremely popular. They were hugely popular home computers targeted heavily towards games, but they also ran other types of software.

The Commodore 64 (C64) is an 8-bit home computer released in 1982. The $595 (£399) device took its name from its US maker, Commodore International, and the fact it had 64K of RAM.

It uses an 8-bit MOS Technology 6510 microprocessor. The graphics chip, VIC-II, features 16 colors, eight hardware sprites per scanline (enabling up to 112 sprites per PAL screen), scrolling capabilities, and two bitmap graphics modes. The SID sound chip has three channels, each with its own ADSR envelope generator and filter capabilities. The sound chip was remarkable for its time.

The C64 is notable for being one of the first widespread home computers, helping it to expand its collection of games as a result.

C64 ROMs

There are 3 ROMs required to use VICE. You’ll need the kernal, basic, and chargen. These are copyrighted by, it appears, Tulip Computers who are based in the Netherlands.

The kernal (8K) consists of the low-level, close-to-the-hardware OS routines roughly equivalent to the BIOS in IBM PC compatibles. The basic file is the BASIC ROM which is also 8K. The chargen is the character generator ROM which is 4K in size.

C64 emulators

VICE - Commodore 64
Click image for full size

VICE (Versatile Commodore Emulator) is our recommended C64 emulator.

While the project develops two C64 emulators, x64 and x64sc, the focus on developments rests with x64sc. The emulator features a cycle-based and pixel-accurate VIC-II emulation with a good emulation of the SID sound chip.

It also emulates many other Commodore 8-bit home computers including the Commodore 128, Commodore VIC-20, Commodore PET, and CBM-II.

Strangely the 3 ROMs required (kernal, basic and chargen) are provided with the Windows version of VICE but not with the Linux version.

Click image for full size

Z64K is another highly recommended C64 emulator which doesn’t need any external ROM files.

The emulator offers pixel emulation. There’s cycle emulation for the 6510 microprocessor, CIA 6522/6522A (integrated circuity which served as an I/O port controller for the 6502) and SID 6581 (built-in programmable sound generator chip). As it’s Java-based software, it runs under many operating systems.

Bank switching is fully implemented including ULTIMAX (a predecessor to the C64).

Unlike VICE, Z64K is not published under an open source license.

MAME recreates the hardware of arcade game systems in software on modern personal computers and other platforms. The C64 is one of the many home computers it can emulate. MAME is open source software.

C64 Software

The Commodore 64 was one of the most successful home computers in the world selling around 11-17 million units between 1982 to 1993. It helped to encourage personal computing, popularise video games and pioneer homemade computer-created music.

Over 20,000 commercial software titles were made for the Commodore 64. Besides games, there were development tools and office applications created. The machine is also credited with popularising the computer demo scene.

Home Computers
AmigaFamily of personal computers introduced by Commodore in 1985
Amstrad CPCCombined the computer, keyboard and data storage in a single unit
Atari STA popular line of personal computers from Atari Corporation
BBC MicroSeries of computers designed and built by Acorn
Commodore 64Hugely popular home computer
DragonBuilt around the Motorola MC6809E processor running at 0.89 MHz
ElectronA microcomputer sported a Synterek SY6502A CPU clocked at 2MHz
MSXA popular range particularly in Japan
OricThe underrated Oric-1 and Oric Atmos
QLBased on a Motorola 68008 CPU clocked at 7.5 MHz with 128KB of RAM
TRS-80Very early mass-produced and mass-marketed retail home computers
VIC-208-bit home computer that was released in 1980/1
ZX80Predecessor to the ZX81; ignited the UK's home computer market
ZX81Low-cost introduction to home computing notorious for its RAM pack wobble
ZX SpectrumOne of the biggest selling home computers
Best Free and Open Source SoftwareRead our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

There are also fun things to try, hardware, free programming books and tutorials, and much more.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
Flying Torpedo
Flying Torpedo
2 years ago

The C64 was my first computer. I loved playing games on the machine even though each took ages to load. I always told myself I would learn programming with it but that took years before I took up the mantle.