VICE problem launching VIC20 cartridges
-
I got an issue with launching VIC20 cartridge ROMs.
I'm using the vice-xvic-cart option to run these from ES: get some seconds of black screen and then it goes back to ES.Here's runcommand.log's content:
Parameters: Executing: SDL1_VIDEODRIVER=dispmanx /opt/retropie/emulators/vice/bin/vice.sh 'xvic -cartgeneric' "/home/pi/RetroPie/roms/vic20/SargonII.prg" Unsupported archive: /home/pi/RetroPie/roms/vic20/SargonII.prg /opt/retropie/emulators/vice/bin/vice.sh: line 18: /opt/retropie/emulators/vice/bin/xvic -cartgeneric: No such file or directory
If I run VICE with xvic and then use VICE's internal menu to load the cartridge and finally do a soft reset, the cartridges do work !
Something wrong in the runcommand options ?
Any ideas ?Running VICE v3.1 rev 33700, Raspberry Pi3 w original power supply, Retropie 4.3.
-
Seems same happens to other people under windows also.
Created a "Bug" ticket on Sourceforge's VICE page. -
After further investigation the problem seem to be related to vice.sh; when executed with the
-cartgeneric
option, the ROM filename get's "lost" after the unarchiving step in vice.sh.
As in the log above, final line launchesxvic -cartgeneric
but the ROM name is not provided.
Xvic gives error as no file is provided.emulators.cfg for c64 system (used also for vic20) provided with retropie 4.3 is this.
Note: in this cfg 2 of the vic20 launch options use vice.sh, and 1 calls xvic directly:
vice-xvic-expanded="SDL_DISPMANX_RATIO=1.33 /opt/retropie/emulators/vice/bin/xvic -memory all %ROM%
Wondering why and why only this option is setting a display ratio... should be the same for all xvic vic20 launch options.If you replace the vic related launch commands with these
vice-xvic="/opt/retropie/emulators/vice/bin/xvic -memory none %ROM%"
vice-xvic-expanded="/opt/retropie/emulators/vice/bin/xvic -memory all %ROM%"
vice-xvic-cart="/opt/retropie/emulators/vice/bin/xvic -cartgeneric %ROM%"
(basically not using vice.sh and therefore loosing compressed rom compatibility; not a big issue anyway... roms are so small :-) )Launching of cartridges with -cartgeneric now works !
I'm don't know bash scripting but the "lost rom name" can surely be fixed.
@buzz or @meleu can you please check what is going wrong with vice.sh? -
Look at the error message:
/opt/retropie/emulators/vice/bin/vice.sh: line 18: /opt/retropie/emulators/vice/bin/xvic -cartgeneric: No such file or directory
The left third is
/opt/retropie/emulators/vice/bin/vice.sh: line 18:
. The right third is: No such file or directory
. The middle part is the path-name of the file that could not be found. Notice that-cartgeneric
is a part of that name. Obviously, you don't have a file that's spelled like that. The bug is the apostrophes in "emulators.cfg". They make shells think that "xvic -cartgeneric
" is a single object. You want them to be two objects; therefore, remove those apostrophes. -
@greg_king Vice.sh does recognize path and romname, in fact if the rom is a zip file it will run decompressing correctly. After that the script checks the extracted file and assigns that filename to the ROM variable; that should then be used to lauch xvic. But romname is missing in the actual result.
-
The bug has nothing to do with the ROM! The bug cannot find XVIC. The configuration file lies about the name of VICE's emulator. The name should be only
xvic
But, the configuration claims that the name is
xvic -cartgeneric
VICE's emulators don't have two words in their names. Therefore, the operating system cannot find an emulator -- there's nothing to launch!
Try my advice; remove those apostrophes. The configuration line should be
vice-xvic-cart = "/opt/retropie/emulators/vice/bin/vice.sh xvic -cartgeneric %ROM%"
See if it works.
-
@greg_king You are correct about the apostrophes causing an issue, however, the script also expects the rom as parameter 2. It will need another fix (I'm working on it).
-
removing the quotes around the
$BIN
in the second to last line in thevice.sh
script should sort it but will test.from
"$BIN" -chdir "$romdir" "$ROM"
to
$BIN -chdir "$romdir" "$ROM"
-
Needs more than this due to parameter ordering etc. Going to swap some stuff around.
-
Please update the RetroPie-Setup script then update vice from binary and see if that resolves it for you.
https://github.com/RetroPie/RetroPie-Setup/commit/a63a32fe2e51dae84f4b784917d8192c0f14866b
-
@greg_king ok, thanks.
-
-
@udb23 RetroPie doesn't come with any vic-expanded entry.
-
-
@udb23 the ratio thing was part of an older retropie when we used sdl1 - since that post was made it was removed. Your expanded line should be updated to use the vice.sh if you want to have archive unpacking etc. I will consider adding that line (Although we already have many launch items, and I'm not sure how common it is to use that).
-
@buzz Updated setup script and vice from binary; xvic now launched correctly with specific parameters. Also edited emulators.cfg for
expanded
as suggested.Runcommand.log is here.
It shows some errors, probably just minor as cartridges seem to work perfectly.Thanks for the fix ! Really appreciated.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.