Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
RestlessRodent

Chocolate Doom with OPL3 Card (Linux)

Recommended Posts

Hello, I got an OPL3 card but it does not work with Chocolate Doom. I can however use another application that supports OPL and it plays Music just fine. So this would mean that OPL is NOT at 0x388, would there be any way to determine where it is? The card is an FM801 type.

`pmidi -l` says 17:0, which is an ALSA port number.

`lspci -vvvv`

03:06.0 Multimedia audio controller: Fortemedia, Inc Xwave QS3000A [FM801] (rev b0)
	Subsystem: Fortemedia, Inc FM801 PCI Audio
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (1000ns min, 10000ns max)
	Interrupt: pin A routed to IRQ 18
	Region 0: I/O ports at dc00 [size=128]
	Capabilities: <access denied>
	Kernel driver in use: FM801
	Kernel modules: snd-fm801
Mind you that my IRQs are packed and I got 5 PCI cards plugged in and 1 AGP card plugged in.

Share this post


Link to post
ducon said:

lsmod|grep snd
?


Modules are all loaded and such.

snd_opl3_synth         12548  0 
snd_seq_midi_emul       6368  1 snd_opl3_synth
snd_usb_audio          85700  0 
snd_usbmidi_lib        17056  1 snd_usb_audio
snd_fm801              14276  1 
snd_ac97_codec         93444  1 snd_fm801
ac97_bus                2496  1 snd_ac97_codec
snd_pcm_oss            41792  0 
snd_mixer_oss          14528  2 snd_pcm_oss
snd_pcm                76100  4 snd_usb_audio,snd_fm801,snd_ac97_codec,snd_pcm_oss
snd_page_alloc          8680  1 snd_pcm
snd_opl3_lib           11040  2 snd_opl3_synth,snd_fm801
snd_hwdep               7428  2 snd_usb_audio,snd_opl3_lib
snd_mpu401_uart         7424  1 snd_fm801
snd_seq_dummy           3492  0 
snd_seq_oss            27676  0 
snd_seq_midi            7680  0 
snd_rawmidi            20992  3 snd_usbmidi_lib,snd_mpu401_uart,snd_seq_midi
snd_seq_midi_event      7136  2 snd_seq_oss,snd_seq_midi
snd_seq                48776  8 snd_opl3_synth,snd_seq_midi_emul,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              19752  3 snd_pcm,snd_opl3_lib,snd_seq
snd_seq_device          7692  7 snd_opl3_synth,snd_opl3_lib,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd                    58276  20 snd_opl3_synth,snd_seq_midi_emul,snd_usb_audio,snd_usbmidi_lib,snd_fm801,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_opl3_lib,snd_hwdep,snd_mpu401_uart,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq_midi_event,snd_seq,snd_timer,snd_seq_device
soundcore               7136  2 snd
usbcore               119280  6 snd_usb_audio,snd_usbmidi_lib,ehci_hcd,ohci_hcd,uhci_hcd

Share this post


Link to post

If it helps:

ls -al /dev/dm*

crw-rw---- 1 root audio 14, 10 2010-07-25 01:05 /dev/dmfm
crw-rw---- 1 root audio 14,  9 2010-07-25 01:05 /dev/dmmidi
crw-rw---- 1 root audio 14, 25 2010-07-25 01:05 /dev/dmmidi1

Share this post


Link to post

Can you launch PrBoom from a pseudo terminal ?

> prboom
[…]
I_InitSound:  configured audio device with 1024 samples/slice
I_InitSound: sound module ready
S_Init: Setting up sound.
S_Init: default sfx volume 6
[…]
ALSA lib pcm.c:7245:(snd_pcm_recover) underrun occured
[…]
The last line is just there to say that PrBoom uses Alsa.
> less ~/.prboom/prboom.cfg
[…]
# Sound settings
sound_card                   -1
music_card                   -1
pitched_sounds                1
samplerate                22050
sfx_volume                    7
music_volume                  2
mus_pause_opt                 2
snd_channels                 16
[…]

Share this post


Link to post

Check the dmesg output, if you search for OPL you might be able to find what port it's on. You might also want to have a look at /proc/ioports.

Share this post


Link to post
fraggle said:

Check the dmesg output, if you search for OPL you might be able to find what port it's on. You might also want to have a look at /proc/ioports.


Yeah that worked out well, thanks!

Took a bit to find but I made it probe around in places it shouldn't probe around in! heh.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×