0

I lately wanted to try some of the Commodore 64 games I have kept as D64 files on my Fedora Linux system using VICE. I have lately upgraded the system from Fedora 26 to Fedora 32.

After I started up VICE, attached a D64 image of a floppy disk and typed LOAD"*",8,1 the emulator displayed "SEARCHING FOR *" and "LOADING", just like a real Commodore 64. And just like a real Commodore 64, the "LOADING" message just stayed there for several minutes.

Shouldn't modern systems be able to load files consisting only of tens of kilobytes into memory in microseconds, not minutes? Why then was it taking so long to load?

I turned off "true drive emulation" and turned on "enable virtual devices" from the settings menu but that didn't help.

Googling for this suggested enabling "warp mode" by pressing Alt-W but no such option appears on the settings or the menus and pressing Alt-W does nothing.

It also turned out that VICE actually runs x64sc, not x64. I don't even have the command "x64" installed. I tried dnf to see how I could get it, here is the output.

$ dnf whatprovides x64
Fedora 32 openh264 (From Cisco) - x86_64        2.5 kB/s | 2.5
kB     00:01    
Fedora Modular 32 - x86_64                      7.0 MB/s | 4.9
MB     00:00    
Fedora Modular 32 - x86_64 - Updates            6.5 MB/s | 3.9
MB     00:00    
Fedora 32 - x86_64 - Updates                    9.5 MB/s |  27
MB     00:02    
Fedora 32 - x86_64                              9.3 MB/s |  70
MB     00:07    
home:FrodeSolheim:stable (Fedora_31)             12 kB/s |  35
kB     00:02    
RPM Fusion for Fedora 32 - Free - Updates       242 kB/s | 664
kB     00:02    
RPM Fusion for Fedora 32 - Free                 172 kB/s | 679
kB     00:03    
RPM Fusion for Fedora 32 - Nonfree - Updates    146 kB/s | 119
kB     00:00    
RPM Fusion for Fedora 32 - Nonfree              148 kB/s | 225
kB     00:01    
vice-x64-3.2-6.fc32.x86_64 : Vice Commodore 64 Emulator
Repo        : rpmfusion-nonfree
Matched from:
Filename    : /usr/bin/x64

$ sudo dnf install vice-x64 [sudo] password for: 
Last metadata expiration check: 0:16:14 ago on Wed 11 Nov 2020 11:37:51 AM EET.
Package vice-x64-3.4-1.fc32.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

Apparently vice-x64-3.2.6 provides "x64" but since I already have vice-x64-3.4.1 dnf doesn't install it.

How can this be resolved? Note that I don't necessarily need to install "x64" instead of "x64sc" if there's some other way. What I really want in the end is to have VICE load programs faster than a real Commodore 64, because that should be what modern systems are quite capable of.

3

"Shouldn't modern systems be able to load files consisting only of tens of kilobytes into memory in microseconds, not minutes?"

You seem to be unclear as to what an emulator is. The whole point of an emulator is to emulate what the real hardware would do. If a C64 took 30 minutes to load a non-fastload game from tape, then the emulator taking 30 minutes is correct behaviour.

x64sc is an extremely accurate emulation of the C64, so I assume that's why there is no warp mode option. If the alternate x64 executable is not present you might need to build Vice yourself. Or you could try the X64DTV executable if that's there.

4
  • I tried to build VICE from the source code, and after quite many installations of missing libraries and a bit of fixing the source code itself, I got it to build "x64sc" but "x64" was still missing. I gave up and reinstalled the official build with dnf. It turns out the warp mode is still there, only you have to click on the settings bar at the bottom instead of using the settings menu or a keyboard shortcut directly. So when I turn on the warp mode to load a game and then turn it back off to actually play it, everything works perfectly.
    – user53739
    Nov 11 '20 at 23:08
  • In my opinion, the emulator should make the actual gaming experience work like it did in the 1980s, not loading the game. Waiting tens of minutes to load a program less than 100 kilobytes was already frustrating in the 1980s, why should modern emulators prolong that frustration?
    – user53739
    Nov 11 '20 at 23:12
  • 2
    @user53739 It can't do that in the general case. Unless “loading” is special-cased, it's just a program being run with a tape connected; the only potential speed improvement there is removing the timing delays.
    – wizzwizz4
    Nov 12 '20 at 7:14
  • 1
    "why should modern emulators prolong that frustration" - because it's either an emulator or it isn't. Also VICE does offer the convenience of warp mode anyway.
    – Alan B
    Nov 12 '20 at 12:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.