This should allow you to use your midibox sid as the sound output for the VICE C64 emulator.
I should have released this ages ago (although this is redone for the new vice2.4 release)
Both linux and windows version still need a lot of testing.
I only just got it working again, and decided to get it out there before I get lost in some other project and forget to release it
I do get some errors in the windows version, but that could be because im trying to run that from virtualbox, and it might also be because of some wrong mingw compiler settings.
I’ll have to see if this can be cleaned up enough to be considered to be included with the official vice release.
To enable the asid output, use the “-sounddev asid” command line option.
Select the midi port to use with “-soundarg”.
The list of ports is output when the asid driver is started (either on the command line, or in vice.log)
It defaults to port 0, which is usually some internal port.
Is it using MIDI for representing the data or does it use a custom protocol over the MIDI hardware? If it is MIDI compatible, I guess you cannot play samples for instance? Good enough anyhow. Just asking.
Oh, and next question. Any chance getting this upstreamed?
Getting it in upstream vice shouldn’t be that hard, although they might not like that im borrowing the rtmidi code to get platform independant midi output.
And it’s more or less bolted on to the “dump” driver, that happens to catch all the sid writes, and has a flush routine that gets called at just about the right time to send the midi packets out. So something more reliable might be needed there.
Also here and here are two more videos of the old version, which inserted inself in the sid emulation of vice, but that only really worked with those two games, and was a lot more complex than what i’m doing now
The development of an USB based solution which could play samples accurately isn’t a trivial task.
Especially when different operating systems comes into the game.
The commercial HardSID project is probably the best choice for such a purpose.
But it only works under Windows.
Quick heads up on this for anyone that might wanna do this. I had some trouble compiling the above version for Linux Mint 19.3. Couple things you might need to do:
./configure --without-residfp
This was giving me a weird “you need to be on a 32-bit platform at least” error (I’m on 64-bit, Ryzen) but we don’t need this for outputting to an MBSID anyway
The makefiles do not add -pthread. There’s probably a more elegant way to fix this, but I just edited src/Makefile and added -pthread to the end of CFLAGS, CXXFLAGS and that seemed to avoid the errors
You may need to symlink /usr/local/lib64/vice to /usr/local/lib if installing system wide (otherwise stuff like keyboard input doesn’t work)
You need the ROMs of course!
Doing all this allowed me to bust out the HVSC intros included in the collection. Seems to work like a champ!