Jump to content

VICE emulator asid hacks (linux and windows)


aTc
 Share

Recommended Posts

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 :smile:

 

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.

And any help is welcome of course.

 

 

binary windows version here:

http://wreck.k-n-p.org/asid/vice2.4-asid-win32.zip

linux sources here :

http://wreck.k-n-p.org/asid/vice-2.4-asid.tar.bz2

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.

x64 -sounddev asid -soundarg 1

It can also be set in vice.ini :

SoundDeviceName="asid"
SoundDeviceArg="1"
 

Edited by aTc
update links
  • Like 1
Link to comment
Share on other sites

Very cool! I will try this.

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?

Edited by Johey
Link to comment
Share on other sites

A special MIDI based protocol is used (developed by Elektron, makers of the SIDstation) which allows to achieve an update rate of ca. 50..60 Hz, which is sufficient for most SID tunes. See also 

There is unfortunately no chance to upstream samples over MIDI, which means that I'm still not able to playback the tracks that I created in the late 80s (fortunately there are .mp3 snapshots at http://ftp.acc.umu.se/mirror/media/Oakvalley/soasc/soasc_mp3/MUSICIANS/K/Klose_Thorsten/ - note that only the *_MOS6581R2 files are autarkic)

 

Best Regards, Thorsten.

Link to comment
Share on other sites

It has the same implementation and limitations as the and sid players

 

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.

 

And here's a not so great video of it running

 

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 :)

Link to comment
Share on other sites

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.
 
Best Regards, Thorsten.

Link to comment
Share on other sites

  • 5 years later...
  • 2 years later...

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!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...