Bug/Fix: `x64` removes `KernalName from the configuration (real-world bug)
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
Please elaborate, how to reproduce this exactly?
Hi!
Remove the Kernal ROM file from the standard path, and it in an arbitrary path, then add this entry to the configuration (replace
/path/towith the actual path):And run
x64. It will run successfully, but if you exit and observe the configuration file, you'll find that theKernalNameentry has been removed (therefore, a subsequent run will fail).Last edit: S M 2026-03-06
Well, only options that are different to the default are saved into the config file - and an install that removes files from the installation directory is simply broken :)
I smell an xy problem here, what are you actually trying to achieve?
The Ubuntu VICE package doesn't include the Kernal ROM, I presume because it's copyrighted (and I presume that most of packages don't include it for this reason)
The Debian packages are simply broken, indeed
You'll have to copy the ROMs to the install location, or create a matching directory tree elsewhere and point VICE to it using -directory
PS: you can use this https://rr.pokefinder.org/wiki/VICE_ROMs
That said, what you describe might still be a bug - please start x64sc with -debug, configure, save, start again with -debug - and post the resulting log files
(Your fix cant be applied as is, it is not portable)
Ok, thanks! Will run over the weekend :)
so did you? :)
Hi! Thanks for checking. Just came back from a trip - you'll have everything this evening :)
Hi!
So, I've reproduced the bug and produced the log. First, a description of the use case:
KernalName is configurable from the GUI, so it implies it's legitimate to store the rom in an arbitrary location - if the program intends to allow setting only the file basename, then it shouldn't allow setting the full path.
Log attached, and config file before and after.
Thanks for looking! I've worked around the issue using a script, so it's not a blocking one, but it's certainly been puzzling 😅
Oh, if you can compile VICE - before you do this, uncomment #define DEBUG_C64ROM at the top of c64rom.c, that will show more interesting info (all this stuff is a bit messy legacy code...)