The Commodore 64 is an 8-bit home computer unveiled at the January 1982 CES and released the same year. Its name comes from its 64 kilobytes of RAM, a considerable amount for a consumer computer at the time. Sold first in toy shops and department stores rather than computer dealers, it turned the home computer into a mainstream product.
With estimates ranging from 12.5 to 17 million units, the C64 is generally considered the best-selling single computer model in history. Its library exceeds ten thousand titles, and its SID sound chip, capable of three-voice subtractive synthesis, created an entire music culture — the famous "SID tunes" — that is still alive today.
The C64 belongs to a wider range: Commodore applied the same know-how to the VIC-20 that preceded it, to the Plus/4 and the C16, to the Commodore 128 that succeeded it, and long before all of those to the PET and CBM-II machines aimed at business users. It is that whole family which VICE, the emulator used by Recalbox, is able to reproduce.
Emulator availability per board:
| Emulator | RPI3/RPI02W | RPI4/400 | RPI5/500 | OGA/OGS/RG351 | PC | RG353 |
|---|---|---|---|---|---|---|
| Libretro vice_x64 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_x64sc | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_xplus4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_xpet | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_xvic | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_x128 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_xscpu64 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_xcbm2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro vice_xcbm5x0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| xcbm5x0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| xcbm2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| xscpu64 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| x128 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| xvic | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| xpet | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| xplus4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| x64sx | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| x64 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
All of these emulators come from the same project, VICE, in two forms: the Libretro vice_… entries are the libretro cores running inside RetroArch, while the x64, x128, xvic… entries are the standalone VICE emulator, started directly. The default core is Libretro vice_x64, available on every board. Netplay is not available on this system, and RetroAchievements are not supported. CRT output is handled by the default Libretro vice_x64 core.
A keyboard is mandatory on this system. The Commodore 64 boots into a BASIC interpreter: loading a disk, typing
LOAD"*",8,1thenRUN, entering your name in a game or simply pressing the key a program asks for all require a real USB or Bluetooth keyboard. A pad is still recommended as a complement for action games, and a mouse is optional (it serves the few programs written for the 1351 mouse).
Each VICE core emulates a different machine of the Commodore range. The Recalbox c64 system gathers them all: pick the core matching the original machine of the game.
| Core | Emulated machine |
|---|---|
x64 / vice_x64 |
Commodore 64 (fast emulation, the default one) |
x64sc / vice_x64sc |
Commodore 64, cycle-exact emulation — more accurate, more demanding |
xscpu64 / vice_xscpu64 |
Commodore 64 fitted with the SuperCPU accelerator board |
x128 / vice_x128 |
Commodore 128 |
xplus4 / vice_xplus4 |
Commodore Plus/4 and Commodore 16 |
xvic / vice_xvic |
VIC-20 |
xpet / vice_xpet |
Commodore PET |
xcbm2 / vice_xcbm2 |
CBM-II, 600 and 700 series |
xcbm5x0 / vice_xcbm5x0 |
CBM-II 500 series (P500) |
The VIC-20 also has its own system in Recalbox: if you only play VIC-20 games, use it rather than the
c64system.
With the standalone VICE emulator, Recalbox picks the machine to emulate from the name of the folder containing the rom, which saves you from switching emulator game by game. Store your games in sub-folders named like this:
| Folder name | Machine started |
|---|---|
commodore-64, commodore64, commodore 64 |
x64 |
c64sc, commodore-64sc, commodore64sc |
x64sc |
scpu64, supercpu64, super-cpu-64 |
xscpu64 |
c128, commodore-128, commodore128 |
x128 |
cplus4, commodore-plus4, commodore plus 4 |
xplus4 |
vic20, commodore-vic20, commodore-vic-20 |
xvic |
pet, commodore-pet, commodorepet |
xpet |
cbm2, cbm-2, cbm 2 |
xcbm2 |
cbm5x0, cbm-5x0, cbm 5x0 |
xcbm5x0 |
No BIOS is mandatory: the VICE cores ship the required system ROMs. The files below are optional and only add extra features.
| File name | Description | MD5 | Emulators |
|---|---|---|---|
vice/JiffyDOS_C64.bin |
JiffyDOS — accelerated C64 kernal | be09394f0576cf81fa8bacf634daf9a2 | vice_x64, vice_x64sc, vice_x128 |
vice/JiffyDOS_C128.bin |
JiffyDOS — accelerated C128 kernal | cbbd1bbcb5e4fd8046b6030ab71fc021 | vice_x64, vice_x64sc, vice_x128 |
vice/JiffyDOS_1541-II.bin |
JiffyDOS — 1541-II drive firmware | 1b1e985ea5325a1f46eb7fd9681707bf | vice_x64, vice_x64sc, vice_x128 |
vice/JiffyDOS_1571_repl310654.bin |
JiffyDOS — 1571 drive firmware | 41c6cc528e9515ffd0ed9b180f8467c0 | vice_x64, vice_x64sc, vice_x128 |
vice/JiffyDOS_1581.bin |
JiffyDOS — 1581 drive firmware | 20b6885c6dc2d42c38754a365b043d71 | vice_x64, vice_x64sc, vice_x128 |
vice/SCPU64/scpu-dos-1.4.bin |
SuperCPU 64 DOS 1.4 | cda2fcd2e1f0412029383e51dd472095 | vice_xscpu64 |
vice/SCPU64/scpu-dos-2.04.bin |
SuperCPU 128 DOS 2.04 | b2869f8678b8b274227f35aad26ba509 | vice_xscpu64 |
Place your BIOS files like this:
/recalbox/share/bios/vice/
├── JiffyDOS_C64.bin
├── JiffyDOS_C128.bin
├── JiffyDOS_1541-II.bin
├── JiffyDOS_1571_repl310654.bin
├── JiffyDOS_1581.bin
└── SCPU64/
├── scpu-dos-1.4.bin
└── scpu-dos-2.04.bin
Put your games in:
/recalbox/share/roms/c64/
Supported extensions per emulator:
| Emulator | Extensions |
|---|---|
vice_… libretro cores (except vice_xvic) |
.bin .cmd .crt .d2m .d4m .d64 .d6z .d71 .d7z .d80 .d81 .d82 .d8z .g41 .g4z .g64 .g6z .m3u .nbz .nib .p00 .prg .t64 .tap .tcrt .vfl .vsf .x64 .x6z .z64 .zip .7z .gz |
| Libretro vice_xvic | .20 .40 .60 .a0 .b0 .bin .cmd .crt .d2m .d4m .d64 .d6z .d71 .d7z .d80 .d81 .d82 .d8z .g41 .g4z .g64 .g6z .m3u .nbz .nib .p00 .prg .rom .t64 .tap .vfl .vsf .x64 .x6z .z64 .zip .7z .gz |
Standalone VICE (x64, x128, xvic…) |
.bin .cmd .crt .d1m .d2m .d4m .d64 .d67 .d6z .d71 .d7z .d80 .d81 .d82 .d8z .d90 .dhd .g41 .g4z .g64 .g6z .m3u .nbz .nib .p00 .p64 .prg .t64 .tap .tcrt .vfl .vsf .x64 .x6z .zip .7z .gz |
A few landmarks about those formats:
.d64 is the most common 1541 floppy image format, .d71 and .d81 match the 1571 and 1581 drives;.crt is a cartridge image, .prg and .p00 are programs loaded directly;.tap and .t64 are tape images;z (.d6z, .g6z, .x6z, .nbz) are the compressed versions of the matching formats;.zip or .7z start without being extracted.For a game spread over several floppy disks, create a
.m3ufile listing the images in order, one per line, and start that.m3u: disk swapping is then done from the emulator menu, without leaving the game.