You are not logged in.

#1 2011-01-08 18:00:58

brihall
Member
Registered: 2008-01-21
Posts: 16

Success: hardware wavetable daughtercard MIDI with cs46xx and dosbox

I know PCI soundcard MIDI daughterboards are old-school 20th century things, but I thought I'd post my recipe for getting one to work for anyone else who might want to. In my case I mainly wanted MIDI support for old DOS game music under dosbox, and I'd rather use hardware synth than lose memory (sblive wavetable) or CPU (timidity).

Soundcard: Turtle Beach Santa Cruz PCI
# lspci -vn
03:06.0 0401: 1013:6003 (rev 01)
    Subsystem: 5053:3357
    Flags: bus master, slow devsel, latency 64, IRQ 21
    Memory at febff000 (32-bit, non-prefetchable) [size=4K]
    Memory at fea00000 (32-bit, non-prefetchable) [size=1M]
    Capabilities: [40] Power Management version 2
    Kernel driver in use: Sound Fusion CS46xx
    Kernel modules: snd-cs46xx

Wavetable daughtercard attached to TBSC:
    Yamaha DB50XG
    4MB wavetable in ROM onboard

Kernel: x86_64 2.6.37-pf2

Modules loaded:
> lsmod| grep snd | cut -f1 -d' '
snd_seq_midi
snd_seq_dummy
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_hwdep
snd_pcm_oss
snd_cs46xx
gameport
snd_rawmidi
snd_seq_device
snd_ac97_codec
ac97_bus
snd_mixer_oss
snd_pcm
snd_timer
snd_page_alloc
snd
soundcore

Alsa versions:
> pacman -Q | grep alsa
alsa-firmware 1.0.23-1
alsa-lib 1.0.23-2
alsa-oss 1.0.17-1
alsa-plugins 1.0.23-2
alsa-utils 1.0.23-3
alsaplayer 0.99.81-1

Using alsamixer, unmute the control named "Video" and set its volume to 100%.

Check that the MIDI port is shown with "aplaymidi -l":
Port    Client name                      Port name
14:0    Midi Through                     Midi Through Port-0
16:0    Sound Fusion CS46xx              CS46XX

In /etc/profile :
export ALSA_OUTPUT_PORTS=16:0

As root, restart alsa to save levels:
# /etc/rc.d/alsa restart

Reboot.

Use aplaymidi to test:   aplaymidi cavatina.mid

In your dosbox config file, after already enabling sound:
[midi]
mpu401=intelligent
device=alsa
midiconfig=16:0

I have a couple of other daugthercards this works with. I also have an old Diamond MX300 PCI (Aureal Vortex2) with a wavetable connector that might work using the snd-au8820 driver, but I haven't tried it yet.

Offline

Board footer

Powered by FluxBB