pouët.net

Go to bottom

Debloating VICE package for leaner C64 emulation

category: general [glöplog]
 
VICE has long been seen as the ultimate, best and most accurate Commodore 64 emulator, or at least, the ultimate 8-Bit Commodore emulation suite, but what always bothered me was the sheer size and number of different emulators available when all I really want to do is to emulate the C64.

I'm looking at the various subfolders of VICE and I see the "bin" folder which must contain all of the main emulator code itself, fine, that can stay, then there's the individual system folders, and I will keep the C64 for sure, and I will probably leave the rest available.

The main folder that puzzles me is the "share" folder. What does that contribute, and is it necessary? It seems to be for something called "Adwaita", which I've never heard of, and it consists of SVG files which are basically vector graphic icons, and it is by far the biggest concentration of files in the whole VICE package. Do I really need that, or can I just go ahead and delete it?
added on the 2026-02-09 10:11:20 by Foebane72 Foebane72
Are you sure a meg of icons is the main problem and not 100MB of DLL dependencies?
added on the 2026-02-09 13:03:59 by Gargaj Gargaj
Its the GTK Theme, so it is pretty much required, unless you hate icons so much that you want the UI to be completely without them :)

You can remove the individual .exe files, and the respective directory in DATA - that's it basically (if you are really desperate also remove the DRIVE and PRINTER ROMs you don't use, it might save another 50k or so)

So yes, what Gargaj said. And it can't be fixed easily (*). If size really is the problem for you, use the SDL port. Disable a bunch of features and build a statically linked Windows binary in MSVC, that saves quite a bit of size (for the individual .exe anyway).

(*) build the headless version and create your own frontend for it. This is what the long term goal is anyway - but it will still take a while for that to happen.
added on the 2026-02-09 15:00:33 by groepaz groepaz
PS: Depending on what you actually want to do there, you can just use HOXS64. It has much less features, however compatibility is about the same. And it is a single Windows .exe.
added on the 2026-02-09 15:02:28 by groepaz groepaz
Thanks for all the info, people! I was just curious what my options were in trying to cut down VICE. I thought of alternatives but I wanted to stick to the comprehensive command-line options of VICE, as well as the flip list feature.
added on the 2026-02-09 19:02:27 by Foebane72 Foebane72
I think VICE being the best C64 emulator these days is debatable. It depends on what you're after. For coding VICE is up there for sure, and for that it's still my default, though I know others prefer f.ex. RetroDebugger (which is VICE-based, admittedly). For just watching demos I prefer something like Denise, which unlike VICE is actually capable of feats like proper smooth 50 FPS screen refresh, and provides much better CRT simulation to boot.
added on the 2026-02-09 21:05:30 by Radiant Radiant
That said, a lot of the code in Denise is nicked from VICE :)

(proper smooth 50Hz refresh should be no problem in VICE either, it works even on my 10 year old Windows craptop)
added on the 2026-02-09 21:39:13 by groepaz groepaz
Quote:
(proper smooth 50Hz refresh should be no problem in VICE either, it works even on my 10 year old Windows craptop)

I don't know anything about Windows, but I've never managed to achieve anything remotely smooth on any of my machines, neither with GTK or SDL VICE. With Denise on the other hand it just works out of the box, particularly with the 99.75% speed option.
added on the 2026-02-09 22:13:11 by Radiant Radiant
Preferences->Emulation Speed->50Hz (using a 50Hz Screenmode obviously)
added on the 2026-02-09 22:19:35 by groepaz groepaz
Yeah, I never got it working; always the odd jutter or frameskip. I could get it decent, but never fully smooth.

Mind, after thinking I just realised it's probably been ~10 years since I last tried running VICE on a 50 Hz screen, so it actually can have gotten a lot better. Now that I've thought some more about it, when I used Windows 20 years ago I could indeed run VICE in 50 Hz full screen and it worked great, so I chalked it down to issues with the SDL and GTK versions at the time.
added on the 2026-02-09 22:31:02 by Radiant Radiant
lol 10 years ago it was complete crap, indeed :D
added on the 2026-02-09 22:37:47 by groepaz groepaz
Quote:
but never fully smooth
Note that even on a real C-64, TFTs et al. never look as smooth as CRT. =)
added on the 2026-02-09 23:16:24 by Krill Krill
Quote:
I think VICE being the best C64 emulator these days is debatable. It depends on what you're after. For coding VICE is up there for sure, and for that it's still my default, though I know others prefer f.ex. RetroDebugger (which is VICE-based, admittedly). For just watching demos I prefer something like Denise, which unlike VICE is actually capable of feats like proper smooth 50 FPS screen refresh, and provides much better CRT simulation to boot.


Oh wonderful, Denise uses some of my audio DSP code.

I have no idea how I feel about that. :/
added on the 2026-02-10 01:33:03 by ^ML!^ ^ML!^
Quote:
Oh wonderful, Denise uses some of my audio DSP code.

I have no idea how I feel about that. :/

I get that. On one hand, if I found out some project was using code from one of my open source projects I'd feel flattered, on the other hand it feels like actually a lot of the code in Denise might have been taken from other projects and pieced together. "Standing on the shoulder of giants" and "every artist is a thief" notwithstanding, I think there's a degree of disingenuity involved in not acknowledging the contributing projects in the readme.
added on the 2026-02-10 08:09:57 by Radiant Radiant
Quote:
Note that even on a real C-64, TFTs et al. never look as smooth as CRT. =)

That's actually not my experience at all; I have several flat screens that are completely frame perfect with C64 signals. The picture isn't as warm and vibrant as on a real C64 though.
added on the 2026-02-10 08:12:42 by Radiant Radiant
Sorry, "as on a CRT".
added on the 2026-02-10 08:15:48 by Radiant Radiant
Quote:
I have several flat screens that are completely frame perfect with C64 signals.
That wasn't my point. It was perceived smoothness. Something to do with the top-down scanning update, i reckon. So "frame perfect" isn't quite enough, needs to be more like "scanline perfect". ;) (I guess a "rolling shutter" update like on CRT is possible on TFT as well, but i've never seen that.)

Check Softwired on a real C-64 with all your monitors and tell me that CRT v. TFT doesn't make a difference. =)
added on the 2026-02-10 09:05:32 by Krill Krill
[unsolicited explanation mode] Yeah, the main difference is that on CRTs, the "pixels" just flash up for a short time when the beam draws them, while on modern screens they stay on for the whole frame.

So even if your new display has zero response time, as soon as your eyes move in order to follow a moving object on screen, the pixels smear with the eye motion, producing motion blur. On a CRT you get distinct flashes of the object every frame which viewed from the eye gets you a flickering but sharper image.

Some current TVs/monitors have a setting that flashes the whole backlight or OLED on and off with the refresh rate. Gives you some flicker but also less motion blur. Depends on taste I guess :).

Or you've got a high refresh rate screen, then you can do Black Frame Insertion (basically every second frame is black to get the same effect as the backlight flashing). The Retrotink 4K can do that for you.

Or even nicer: You write a shader that emulates the CRT scanning on high refresh rate monitors: https://blurbusters.com/crt-simulation-in-a-gpu-shader-looks-better-than-bfi/
added on the 2026-02-10 18:52:53 by kb_ kb_
kb: Finally some use for those 480Hz monitors and associated high-octane GPUs!
added on the 2026-02-10 20:35:49 by Sesse Sesse
Quote:
I guess a "rolling shutter" update like on CRT is possible on TFT as well, but i've never seen that.

I think that's what Nvidia's recent Pulsar thing is doing.
added on the 2026-02-10 21:19:30 by absence absence
Besides the C64 emulator, I also use many others, e.g. PET and C128. It's good that VICE has them.
added on the 2026-02-13 21:30:38 by bodo^rab bodo^rab
But you just break them!
added on the 2026-02-13 22:12:32 by groepaz groepaz
Quote:
But you just break them!
Isn't that what emulators are for?
added on the 2026-02-13 22:18:41 by Krill Krill
that's why i'm still using vice 3.2
added on the 2026-02-13 23:00:27 by 100bit 100bit
For 8 years of added bugs? Way to go!
added on the 2026-02-14 00:22:50 by groepaz groepaz

login

Go to top