lr-vice and Vic-20, Plus/4, C128, and Commodore Pet
-
I got the Commodore PET working. It involved source code work to support it as a libretro core, though.
My fork of lr-vice with support for PET is here: https://github.com/raphkoster/vice-libretro
git clone https://github.com/raphkoster/vice-libretro.git make clean make EMUTYPE=xpet sudo cp vice_xpet_libretro.so /opt/retropie/libretrocores/lr-vice
Then add it to es_systems.cfg:
<system> <name>pet</name> <fullname>Commodore Pet</fullname> <path>/home/pi/RetroPie/roms/pet</path> <extension>.crt .d64 .g64 .prg .t64 .tap .x64 .zip .vsf .CRT .D64 .G64 .PRG .T64 .TAP .X64 .ZIP .VSF .p00 .P00</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ pet %ROM%</command> <platform>pet</platform> <theme>pet</theme> </system>
then create
/opt/retropie/configs/pet
, (I just copied the c64 folder) and put this in emulators.cfg:lr-xpet = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-vice/vice_xpet_libretro.so --config /opt/retropie/configs/pet/retroarch.cfg %ROM%" default = "lr-xpet"
I haven't figured out controls or anything, but games boot. Keyboard seems rather wonky -- punctuation is all weird. Might just be a default setting to a different language. I don't want to submit an upstream pull request until it gets banged on some more, though. Maybe someday we can have C128, Vic-20, Plus/4, and PET as full installs in RetroPie. :)
@BuZz, I've had no luck so far in getting libretro upstream to notice my pull requests. Is there a channel to use other than github?
-
Turns out that the original PET keyboard doesn't have numbers on the top row! Only the numbers on the numpad work. That explains what I was seeing.
There are some models that used the "business keyboard"; 4032B is one example that does have number keys, though much of the punctuation is in different places. I bet the B models specifically mean that keyboard.
Also, the later models seem to default to 80 column; you probably don't want to use them for games for that reason.
-
@rkoster join them on discord and tell them about your PRs. Sometimes they are too busy/distracted than don’t really pay attention.
-
The PET support has been merged upstream.
To get all these additional machines, though, would involve getting RetroPie to add them to the build script the way they are for the regular Vice emu, I think?
-
@rkoster It might be just as easy as adding them to the
runcommand
menu - is that what you're referring to ? -
@mitu The lr-vice scriptmodule only compiles the C64 core. The way Vice works is that you compile each of the different machines separately. So the scriptmodule would need to compile Vic-20, Plus4, C128, and now Pet.
The standalone Vice scriptmodule already installs all of them, I think.
-
The following patch should do the trick:
--- a/scriptmodules/libretrocores/lr-vice.sh +++ b/scriptmodules/libretrocores/lr-vice.sh @@ -22,7 +22,8 @@ function sources_lr-vice() { function build_lr-vice() { make -f Makefile.libretro clean - make -f Makefile.libretro + make -f Makefile.libretro + make -f Makefile.libretro EMUTYPE=xpet md_ret_require="$md_build/vice_x64_libretro.so" } @@ -31,6 +32,7 @@ function install_lr-vice() { 'vice/data' 'vice/COPYING' 'vice_x64_libretro.so' + 'vice_xpet_libretro.so' ) } @@ -42,5 +44,6 @@ function configure_lr-vice() { chown -R $user:$user "$biosdir/data" addEmulator 1 "$md_id" "c64" "$md_inst/vice_x64_libretro.so" + addEmulator 0 "$md_id-xpet" "c64" "$md_inst/vice_xpet_libretro.so" addSystem "c64" }
-
Yes, but you may as well add
make -f Makefile.libretro EMUTYPE=x128 make -f Makefile.libretro EMUTYPE=xplus make -f Makefile.libretro EMUTYPE=xvic
since they also all work.
-
Hi!
Try yape if you like Commodore Plus/4. On Raspberry Pi3 works perfectly.
-
Has anyone managed to make Cartridges work for Vic-20? With Vice there is the possibility to add the -cartgeneric parameter, but I tried with lr-vice and it doesn't work.
-
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.