Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6] / Documentation / sound / oss / mwave
1         How to try to survive an IBM Mwave under Linux SB drivers
2
3
4 +       IBM have now released documentation of sorts and Torsten is busy
5         trying to make the Mwave work. This is not however a trivial task.
6
7 ----------------------------------------------------------------------------
8
9 OK, first thing - the IRQ problem IS a problem, whether the test is bypassed or
10 not.  It is NOT a Linux problem, but an MWAVE problem that is fixed with the
11 latest MWAVE patches. So, in other words, don't bypass the test for MWAVES!
12
13 I have Windows 95 on /dev/hda1, swap on /dev/hda2, and Red Hat 5 on /dev/hda3.
14
15 The steps, then:
16
17     Boot to Linux. 
18     Mount Windows 95 file system (assume mount point = /dos95).
19     mkdir /dos95/linux
20     mkdir /dos95/linux/boot
21     mkdir /dos95/linux/boot/parms
22
23     Copy the kernel, any initrd image, and loadlin to /dos95/linux/boot/.
24
25     Reboot to Windows 95.
26
27     Edit C:/msdos.sys and add or change the following:
28
29         Logo=0
30         BootGUI=0
31
32     Note that msdos.sys is a text file but it needs to be made 'unhidden',
33     readable and writable before it can be edited.  This can be done with
34     DOS' "attrib" command.
35
36     Edit config.sys to have multiple config menus. I have one for windows 95 and
37     five for Linux, like this:
38 ------------
39 [menu]
40 menuitem=W95, Windows 95
41 menuitem=LINTP, Linux - ThinkPad
42 menuitem=LINTP3, Linux - ThinkPad Console
43 menuitem=LINDOC, Linux - Docked
44 menuitem=LINDOC3, Linux - Docked Console
45 menuitem=LIN1, Linux - Single User Mode
46 REM menudefault=W95,10
47
48 [W95]
49
50 [LINTP]
51
52 [LINDOC]
53
54 [LINTP3]
55
56 [LINDOC3]
57
58 [LIN1]
59
60 [COMMON]
61 FILES=30
62 REM Please read README.TXT in C:\MWW subdirectory before changing the DOS= statement.
63 DOS=HIGH,UMB
64 DEVICE=C:\MWW\MANAGER\MWD50430.EXE
65 SHELL=c:\command.com /e:2048
66 -------------------
67
68 The important things are the SHELL and DEVICE statements.
69
70     Then change autoexec.bat. Basically everything in there originally should be
71     done ONLY when Windows 95 is booted. Then you add new things specifically
72     for Linux.  Mine is as follows
73
74 ---------------
75 @ECHO OFF
76 if "%CONFIG%" == "W95" goto W95
77
78 REM
79 REM Linux stuff
80 REM
81 SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP
82 SET BLASTER=A220 I5 D1
83 SET MWROOT=C:\MWW
84 SET LIBPATH=C:\MWW\DLL
85 SET PATH=C:\WINDOWS;C:\MWW\DLL;
86 CALL MWAVE START NOSHOW
87 c:\linux\boot\loadlin.exe @c:\linux\boot\parms\%CONFIG%.par
88
89 :W95
90 REM
91 REM Windows 95 stuff
92 REM
93 c:\toolkit\guard
94 SET MSINPUT=C:\MSINPUT
95 SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP
96 REM The following is used by DOS games to recognize Sound Blaster hardware.
97 REM If hardware settings are changed, please change this line as well.
98 REM See the Mwave README file for instructions.
99 SET BLASTER=A220 I5 D1
100 SET MWROOT=C:\MWW
101 SET LIBPATH=C:\MWW\DLL
102 SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;E:\ORAWIN95\BIN;f:\msdev\bin;e:\v30\bin.dbg;v:\devt\v30\bin;c:\JavaSDK\Bin;C:\MWW\DLL;
103 SET INCLUDE=f:\MSDEV\INCLUDE;F:\MSDEV\MFC\INCLUDE
104 SET LIB=F:\MSDEV\LIB;F:\MSDEV\MFC\LIB
105 win
106
107 ------------------------
108
109 Now build a file in c:\linux\boot\parms for each Linux config that you have.
110
111 For example, my LINDOC3 config is for a docked Thinkpad at runlevel 3 with no
112 initrd image, and has a parameter file named LINDOC3.PAR in c:\linux\boot\parms:
113
114 -----------------------
115 #   LOADLIN @param_file image=other_image root=/dev/other
116 #
117 #       Linux Console in docking station
118 #
119 c:\linux\boot\zImage.krn        # First value must be filename of Linux kernel.
120 root=/dev/hda3                  # device which gets mounted as root FS
121 ro                              # Other kernel arguments go here.
122 apm=off
123 doc=yes
124 3
125 -----------------------
126
127 The doc=yes parameter is an environment variable used by my init scripts, not
128 a kernel argument.
129
130 However, the apm=off parameter IS a kernel argument!  APM, at least in my setup,
131 causes the kernel to crash when loaded via loadlin (but NOT when loaded via
132 LILO). The APM stuff COULD be forced out of the kernel via the kernel compile
133 options. Instead, I got an unofficial patch to the APM drivers that allows them
134 to be dynamically deactivated via kernel arguments. Whatever you chose to
135 document, APM, it seems, MUST be off for setups like mine.
136
137 Now make sure C:\MWW\MWCONFIG.REF looks like this:
138
139 ----------------------
140 [NativeDOS]
141 Default=SB1.5
142 SBInputSource=CD
143 SYNTH=FM
144 QSound=OFF
145 Reverb=OFF
146 Chorus=OFF
147 ReverbDepth=5
148 ChorusDepth=5
149 SBInputVolume=5
150 SBMainVolume=10
151 SBWaveVolume=10
152 SBSynthVolume=10
153 WaveTableVolume=10
154 AudioPowerDriver=ON
155
156 [FastCFG]
157 Show=No
158 HideOption=Off
159 -----------------------------
160
161 OR the Default= line COULD be
162
163 Default=SBPRO
164
165 Reboot to Windows 95 and choose Linux. When booted, use sndconfig to configure
166 the sound modules and voilĂ  - ThinkPad sound with Linux.
167
168 Now the gotchas - you can either have CD sound OR Mixers but not both. That's a
169 problem with the SB1.5 (CD sound) or SBPRO (Mixers) settings. No one knows why
170 this is!
171
172 For some reason MPEG3 files, when played through mpg123, sound like they
173 are playing at 1/8th speed - not very useful!  If you have ANY insight
174 on why this second thing might be happening, I would be grateful.
175
176 ===========================================================
177     _/      _/_/_/_/
178    _/_/  _/_/     _/
179   _/ _/_/ _/_/_/_/      Martin John Bartlett
180  _/  _/  _/     _/      (martin@nitram.demon.co.uk)
181 _/      _/_/_/_/
182        _/
183 _/    _/
184  _/_/
185 ===========================================================