Add weapon cycling bindings for mouse and joystick buttons. Add weapon cycling bindi...
[chocolate-doom.git] / README.OPL
blob0769923290c39d967cfb1afc6086c1c38f543886
1 == Chocolate Doom hardware OPL support notes ==
3 Chocolate Doom is able to play MIDI music as it sounds in Vanilla Doom
4 with an OPL chip (as found in the Yamaha Adlib card, the Sound Blaster
5 and its clones).  Most modern computers do not include an OPL chip any
6 more, as CPUs are fast enough to do decent software MIDI synthesis.
7 For this reason, a software OPL emulator is included as a substitute.
9 However, no software emulator sounds exactly like a real (hardware)
10 OPL chip, so if you do have a sound card with hardware OPL, here's how
11 to configure Chocolate Doom to use it.
13 === Sound cards with OPL chips ===
15 If you have an ISA sound card, it almost certainly includes an OPL
16 chip.  Modern computers don't have slots for ISA cards though, so you
17 must be running a pretty old machine.
19 If you have a PCI sound card, you probably don't have an OPL chip.
20 However, there are some exceptions to this. The following cards are
21 known to include "legacy" OPL support:
23     * C-Media CMI8738 (*)
24     * Forte Media FM801
25     * Cards based on the Yamaha YMF724 (*)
27 Other cards that apparently have OPL support but have not been tested:
29     * S3 SonicVibes
30     * AZTech PCI 168 (AZT 3328 chipset)
31     * ESS Solo-1 sound cards (ES1938, ES1946, ES1969 chipset)
32     * Conexant Riptide Audio/Modem combo cards
33     * Cards based on the Crystal Semiconductors CS4281
34     * Cards based on the Avance Logic ALS300
35     * Cards based on the Avance Logic ALS4000
37 If you desperately want hardware OPL music, you may be able to find
38 one of these cards for sale cheap on eBay.
40 For the cards listed above with (*) next to them, OPL support is
41 disabled by default and must be explictly enabled in software.
43 If your machine is not a PC, you don't have an OPL chip, and you will
44 have to use the software OPL.
46 === Operating System support ===
48 If you're certain that you have a sound card with hardware OPL, you
49 may need to take extra steps to configure your operating system to
50 allow access to it.  To do hardware OPL, Chocolate Doom must access
51 the chip directly, which is usually not possible in modern operating
52 systems unless you are running as the superuser (root/Administrator).
54 === Windows 9x ===
56 If you're running Windows 95, 98 or Me, there is no need to configure
57 anything.  Windows allows direct access to the OPL chip.  You can
58 confirm that hardware OPL is working by checking for this message in
59 stdout.txt:
61     OPL_Init: Using driver 'Win32'.
63 === Windows NT (including 2000, XP and later) ===
65 If you're running an NT-based system, it is not possible to directly
66 access the OPL chip, even when running as Administrator.  Fortunately,
67 it is possible to use the "ioperm.sys" driver developed for Cygwin:
69     http://openwince.sourceforge.net/ioperm/
71 It is not necessary to have Cygwin installed to use this.  Copy the
72 ioperm.sys file into the same directory as the Chocolate Doom
73 executable and it should be automatically loaded.
75 You can confirm that hardware OPL is working by checking for this
76 message in stdout.txt:
78     OPL_Init: Using driver 'Win32'.
80 === Linux ===
82 If you are using a system based on the Linux kernel, you can access
83 the OPL chip directly, but you must be running as root.  You can
84 confirm that hardware OPL is working, by checking for this message on
85 startup:
87     OPL_Init: Using driver 'Linux'.
89 If you are using one of the PCI cards in the list above with a (*)
90 next to it, you may need to manually enable FM legacy support.  Add
91 the following to your /etc/modprobe.conf file to do this:
93     options snd-ymfpci fm_port=0x388
94     options snd-cmipci fm_port=0x388
96 === OpenBSD/NetBSD ===
98 You must be running as root to access the hardware OPL directly. You
99 can confirm that hadware OPL is working by checking for this message
100 on startup:
102     OPL_Init: Using driver 'OpenBSD'.
104 === FreeBSD ===
106 There is no native OPL backend for FreeBSD yet.  Sorry!