Anyone got vice3.0-libretro to work?

I built it on Linux fine, trying to run:

retroarch -v -L ~/.config/retroarch/cores/x64_libretro.so ~/Downloads/ik.d64

It just aborts immediately, no errors:

Retro SYSTEM_DIRECTORY /home/dan/Downloads/
Retro SAVE_DIRECTORY /home/dan/Downloads/
Retro CONTENT_DIRECTORY /home/dan/.config/retroarch/downloads
s(384,272,32) (0,0,0,0)
create surface XR8G8B8 libretro
Init nuklear 0
MAIN FIRST
 0  x64
 1  /home/dan/Downloads/ik.d64
bootp:(/home/dan/Downloads//data)
Error - Default keymap not found, this should be fixed. Going on anyway...
Error - Default keymap not found, this should be fixed. Going on anyway...
Error - Default keymap not found, this should be fixed. Going on anyway...
Error - Default keymap not found, this should be fixed. Going on anyway...
Error - Default keymap not found, this should be fixed. Going on anyway...
HW scale not available, forcing to disabled
Error - Default keymap not found, this should be fixed. Going on anyway...
Error - Default keymap not found, this should be fixed. Going on anyway...
Error - Default keymap not found, this should be fixed. Going on anyway...
HW scale not available, forcing to disabled

I know it’s a WIP, so I hope my expectations aren’t too high right now.

works great on windows here.

Works fine on linux for me :slight_smile: have you put data folder in your system directory ? btw that strange that you got an ending / in your system directory.

1 Like

Aha! The README.md file said “Copy the data folder to LIBDIR .” I thought this referred to /usr/lib/libretro or wherever the cores are stored, NOT the system directory. Copied to system and it’s running!

I just have one more question about the core options and controls. I’m a bit confused about how these affect the input:

Controls > User 1 Device Type: RetroPad / Vice Joystick / Vice Keyboard / None Options > Retro joy0: on / off Options > Controller0 type: keyboard / joystick

There seems to be three ways to enable a joystick; are these documented anywhere and if not, could you give me some pointers please?

Lastly, a massive thank you so much for making this core. I am a lifelong C64 user, this is the stuff of dreams. I hope you’re in line for one of the bounties the team are offering for this. If they put it to a vote on Patreon or something then this would definitely get mine. I already posted on there about the home computer cores needing some love!

Yes it said copy to LIBDIR (and just before it said LIBDIR set to /mnt/srdcard/data for Android and (retro_system_dir)/data for linux/Win ) , anyway glad to know finally it works for you.

concerning controls:

  • Vice Joystick is for only joystick use (keyboard input don’t interfere with joy and some shortcuts are bind to joy button : fliplist next/prev , gui toggle,joy number toggle,vkbd toggle ) .
  • Vice Keyboard is the opposite , for keyboard only usage ,no joy button shortcut … you have to change this in controls menu , or toggle it in the core option (to not having to go to control menu)

Option retro Joy on/off , is for emulator side , to enable the joystick , it mainly an legacy option that have to be always on (in the past leaving this opt on crashing the emu at the restart ,but it’s safe now , so it safe to turn it on ) else you have to go to GUI (F10 or Start in joy mode) to enable joy each time you launch emulator.

This core need to implement all other Gui option (like official ) but most works in cmdline or with config file . networks ide64 ect ,all work if you configure then in config file.

I never had an C64 when i was young ,but it was really a truly awesome machine !

For now i use it with ide64 and i create an hdd and setup config to boot idedos cart and i launch in other term an ideserv.(ideserv -m vice) then i can launch game from my hd with man or directly from my computer connecting the ideserver trough vice !

it is a little tricky to setup (like with official vice ) but after it’s a great way to deal with vice emulator!

[C64] SDLStatusbar=1 SoundDeviceName="retro" SoundBufferSize=100 VICIIVideoCache=1 VICIIHwScale=0 VirtualDevices=1 SidEngine=1 SidModel=1 RetroJoy=1 DriveTrueEmulation=0 CartridgeType=0 IDE64version=2 IDE64USBServer=1 IDE64image1="/vm/rtypr/vicetemp/ide.cfa" CartridgeFile="/vm/rtypr/vicetemp/idedos_test.crt"

Yes it said copy to LIBDIR (and just before it said LIBDIR set to /mnt/srdcard/data for Android and (retro_system_dir)/data for linux/Win ) , anyway glad to know finally it works for you.

I see that now, sorry I should have spotted it.

I had some difficulty getting audio to work, but I found it was reading the configuration storeed under $HOME/.vice which my stand-alone VICE installation created. I cleared that and the core configuration out, then was getting ?DEVICE NOT PRESENT when loading from disk. I found I had to set “TrueDriveEmulation” to “on” before I could load D64 images at all, also changed “Drive8Type” from “1540” to “1541” before I could load them reliably. Is that expected? It’s not a big problem.

One more thing, I was wondering if there is a way to stop the core passing events from the keyboard to the emulated C64? i.e. if you’re using the RetroPad through the PC keyboard and press X for Button A it registers a press of the X key as well. The Up arrow key on the PC seems to pass SHIFT + RUN/STOP which is a bit awkward, I already tried setting “User 1 Device Type” to “Vice Joystick” and “Controller0 type” to “joystick”, yet the keypresses are still being passed. I’m guessing I could suppress this with a custom keymap for now?

EDIT: default keymap is [libretro system directory]/data/C64/sdl_sym.vkm. Commenting out X and CRSR mappings fixes the joystick issue I was having. Very excited about playing some old Commodore 64 classics with CRT shaders now!

Once again thank you for this core. If you need a tester at any point, feel free to PM me!

Get a load of the curvature on that! :smiley:

2 Likes

Hi will this compile on linux arm ?

It does compile:

[alarm@alarmpi vice3.0-libretro]$ ls
Makefile.common    Makefile.x64    jni                   vice
Makefile.libretro  Makefile.x64sc  libretro              x64_libretro.info
Makefile.x128      README.MD       svn-instructions.txt  x64_libretro.so
[alarm@alarmpi vice3.0-libretro]$ ldd x64_libretro.so 
	linux-vdso.so.1 (0x7efa2000)
	libz.so.1 => /usr/lib/libz.so.1 (0x755fc000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x754a9000)
	libm.so.6 => /usr/lib/libm.so.6 (0x75423000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x753f6000)
	libc.so.6 => /usr/lib/libc.so.6 (0x752ab000)
	/usr/lib/ld-linux-armhf.so.3 (0x54b01000)

I haven’t tested it yet though. I doubt that it will run at full speed, but you never know.

Hi @Modeler
Sorry for bringing up this old thread, but I can´t pm yet. What awesome filter is that? Or is it a custom border?