VICE in Debian 11 expects its ROM in a different location, here's how to migrate

Debian 11 just got release and it broke VICE! Here’s how to fix it:

cp -vax /usr/lib/vice/* /usr/share/vice/

Why? Because Debian 10 had VICE 3.3 and Debian 11 has VICE 3.5. VICE 3.5 changes where it’s looking for the KERNAL, CHARGEN, and BASIC roms.

If you’re doing a fresh install, the overall steps are:

apt-get install vice
x64

(this will NOT work, because you haven’t downloaded the roms yet. But it’ll confirm that you’re using version 3.5)

Go to http://www.zimmers.net/anonftp…tors/VICE/ and download vice-3.5.tar.gz

cd ~/Downloads
tar xfzv vice-3.5.tar.gz
su
cp -vR vice-3.5/data/* /usr/share/vice/

Vice as a usable package doesn’t comply with Debian’s distribution policy. As Cloanto (and likely others) claim ownership of the Commodore IP, Debian can’t distribute the ROMs that make the package work. The source code to Vice is GPL v2 (hence the Vice Hall of Shame), but the ROM distribution situation is explained in Debian’s README.ROMs:

The ROM images for the 8-bit components required to make VICE are copyrighted, and you install them at your own legal risk. Tulip Computers, in the Netherlands, appears to hold the copyright to them, and is being somewhat persnickety about who uses them. You will have to get your ROMs somewhere other than this package.

You may download the ROM files from ftp://ftp.zimmers.net/pub/cbm/crossplatform/emulators/VICE/old/index.html (vice*-roms.* archives) and unpack the contents into the matching directories in /usr/lib/vice. You will probably need to be root to do this.

But the most authentic source of the ROMs is the VICE source package itself, under the data/ directory. It can be downloaded from http://vice-emu.sourceforge.net/ .

  • Laszlo Boszormenyi (GCS) 2017.12.04

The Commodore IP situation really makes distributing a working emulator almost impossible as free software. Other legacy systems are not so badly affected:

  1. openMSX comes with the BSD-licensed cbios BIOS rewrite. It’s minimally useful, but will allow some MSX software to work.

  2. fuse, the ZX Spectrum emulator, can use either the free but only mostly-compatible opense-basic ROM, or the non-free spectrum-roms which were blessed by Amstrad for release. Sinclair and Amstrad never held the source to the ROMs (it’s complicated, but seemed cheaper at the time) so the original images can’t be “free” to everyone’s satisfaction.

It’s a pain, and every time I upgrade I feel that “Debian broke Vice!”, but it’s all part of the sorry Commodore IP mess.

Well, dealing with copyrighted ROMs is just par for the course with emulators. The issue here is that VICE 3.5 altered the location of where it expects the ROMs, so your first google hit for “install VICE linux” tells you the wrong place to put them.

I don’t blame the VICE developers, though. The new location does make more logical sense than the old location.