/asid-vice

VICE with ASID support

Primary LanguageCGNU General Public License v2.0GPL-2.0

asid-vice

VICE with ASID support

This is a fork of VICE, with ASID support (remote SID register control over MIDI), originally posted as a patch in http://midibox.org/forums/topic/17538-vice-emulator-asid-hacks-linux-and-windows/. This allows VICE to command an Elektron SIDStation, or a C64 with a Vessel interface and VAP, or a C64 with a regular MIDI interface and Station64. ASID isn't fast enough for sample playback.

Building

Installing build dependencies

sudo apt update && sudo apt install \
	autoconf \
	build-essential \
	byacc \
	dos2unix \
	flex \
	libasound2-dev \
	libevdev-dev \
	libglew-dev \
	libglib2.0-dev \
	libpng-dev \
	libsdl2-dev \
	libsdl2-image-dev \
	texinfo \
	texmaker \
	xa65

Compiling

./autogen.sh && ./configure --with-alsa && make -j

Installing

sudo make install

Running

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.

vsid -sounddev asid -soundarg 1 Commando.sid
x64sc -sounddev asid -soundarg 1 Commando.d64

The midi port can also be set in vice.ini:

SoundDeviceName="asid"
SoundDeviceArg="1"

Running with Vessel/VAP

These features are only available using the Vessel interface and the VAP receiver.

2SID support

vsid -sound -soundoutput 2 -sidextra 1 -sounddev asid -soundarg 1 2sidfile.sid

Lower-latency register updates

The ASID protocol is not efficient when updating only a few registers.

Adding 1024 to -soundarg enables use of shorter register update messages, which reduces MIDI bandwidth and processing.

vsid -sound -sounddev asid -soundarg 1025 sidfile.sid