Turtle Beach Classic/Monterey/Tahiti/Pinnacle/Fiji Linux Driver


This is a unified driver for the Turtle Beach Pinnacle or Fiji, "Classic", Tahiti and Monterey soundcards under Linux. Only digital audio and the mixer is supported at the moment, MIDI support is being worked on. I have a Pinnacle revision F, so most testing is done on this card. It requires a development version of Linux (this will also work with 2.0.34 modular sound).

MultiSound firmware is no longer included, but instructions are provided to obtain the firmware (see the MultiSound text file for information on how to obtain these).

Compiling this driver generates two modules The first, msnd_pinnacle.o, operates with the MultiSound Pinnacle and Fiji cards. The first, called msnd_classic.o, should work with the MultiSound Classic, Monterey and Tahiti cards.

There are some utilities for the Pinnacle and Fiji cards. These are found by unpacking the shell archive MultiSound, and include conv, setdigital and pinnaclecfg (configure the Pinnacle or Fiji in non-PnP mode). The pinnaclecfg program is not necessary since the msnd_pinnacle module can configure the card, including the additional peripherals. However, it can be used later to reconfigure or disable particular peripherals, such as the joystick on the Pinnacle.

Memory mapping isn't supported yet (i.e. Quake), but I'm able to do some neat floating point real-time stereo effects using a multithreaded DSP pipeline, with simultaneous read and write threads. Using POSIX 1b soft real-time scheduling and memory locking also reduces dropouts significantly (almost none on my P200MMX).


Usage

Both drivers only operate as loadable modules, and have six parameters, three of which are required (the driver does not do any actual detection, yet):

For example, you might use something like the following for PnP mode:
insmod soundcore
insmod msnd
isapnp mypinnacle.conf
insmod msnd_pinnacle.o io=0x210 irq=5 mem=0xd8000 digital=1
Or in non-PnP mode:
insmod soundcore
insmod msnd
insmod msnd_pinnacle.o cfg=0x250 io=0x220 irq=7 mem=0xd0000 digital=1 joystick_io=0x200
To remove the module, use:
rmmod msnd_pinnacle
rmmod msnd
rmmod soundcore
Note that after loading, all the mixer volumes are set to zero (use a program like aumix to preset volumes).

Current status: 5/13/98 [Beta] Last release: 9/10/98

To Do

If you have any improvements or bug fixes, please let me know so I can incorporate them into the next release.


Andrew Veliath <andrewtv@usa.net>, <veliaa@rpi.edu>