	How to try and survive an IBM Mwave under Linux SB drivers


* IBM refuse to provide documentation. If anyone can ever find out what
  MWD50430.EXE actually does to load firmware then this comedy could go
  away.

* If you'd like to ask IBM why they don't release Mwave information.
  phone IBM (425-556-8822) and ask them why they still haven't 
  released any documentation.
  [http://204.200.238.31/cgi-bin/link.pl?co=i&cl=/ts/ibm/contact.html]

----------------------------------------------------------------------------

OK, First thing - the IRQ problem IS a problem, whether the test is bypassed or
not. And it is NOT a linux problem - it is an MWAVE problem that is fixed with
the latest MWAVE patches. So, in other words, DON'T bypass the test for MWAVES!!

My config is Win 95 on HDA1, swap on HDA2, RH 5 on HDA3.

The steps, then:

    Boot to Linux. 
    Mount Win95 file system (assume mount mount = /dos95)
    mkdir /dos95/linux
    mkdir /dos95/linux/boot
    mkdir /dos95/linux/boot/parms

    Copy the kernel, any initrd image, and loadlin to /dos95/linux/boot

    Reboot to win 95

    Edit C:/msdos.sys and add/change the following:

        Logo=0
        BootGUI=0

        [Note msdos.sys IS a text file but it needs to be 'unhidden' and make
         read-writable before it can be edited]

    Edit Config .sys to have multiple config menus. I have one for win95, and
    five for linux. Like this:
------------
[menu]
menuitem=W95, Windows 95
menuitem=LINTP, Linux - ThinkPad
menuitem=LINTP3, Linux - ThinkPad Console
menuitem=LINDOC, Linux - Docked
menuitem=LINDOC3, Linux - Docked Console
menuitem=LIN1, Linux - Single User Mode
REM menudefault=W95,10

[W95]

[LINTP]

[LINDOC]

[LINTP3]

[LINDOC3]

[LIN1]

[COMMON]
FILES=30
REM Please read README.TXT in C:\MWW subdirectory before changing the DOS= statement.
DOS=HIGH,UMB
DEVICE=C:\MWW\MANAGER\MWD50430.EXE
SHELL=c:\command.com /e:2048
-------------------

The important things are the SHELL and DEVICE statements

    Then change Autoexec.bat. Basically everything in there originally should be
    done ONLY when Win95 is booted. Then you add new things specifically for
    Linux.  Mine is as follows

---------------
@ECHO OFF
if "%CONFIG%" == "W95" goto W95

REM
REM Linux stuff
REM
SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP
SET BLASTER=A220 I5 D1
SET MWROOT=C:\MWW
SET LIBPATH=C:\MWW\DLL
SET PATH=C:\WINDOWS;C:\MWW\DLL;
CALL MWAVE START NOSHOW
c:\linux\boot\loadlin.exe @c:\linux\boot\parms\%CONFIG%.par

:W95
REM
REM Windows 95 stuff
REM
c:\toolkit\guard
SET MSINPUT=C:\MSINPUT
SET MWPATH=C:\MWW\DLL;C:\MWW\MWGAMES;C:\MWW\DSP
REM The following is used by DOS games to recognize Sound Blaster hardware.
REM If hardware settings are changed, please change this line as well.
REM See the Mwave README file for instructions.
SET BLASTER=A220 I5 D1
SET MWROOT=C:\MWW
SET LIBPATH=C:\MWW\DLL
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;
SET INCLUDE=f:\MSDEV\INCLUDE;F:\MSDEV\MFC\INCLUDE
SET LIB=F:\MSDEV\LIB;F:\MSDEV\MFC\LIB
win

------------------------

Now build a file in c:\linux\boot\parms for each linux config that you have.

For example, my LINDOC3 config is for a docked Thinkpad at runlevel 3 with no
initrd image, and has a parm file named LINDOC3.PAR in c:\linux\boot\parms:

-----------------------
#   LOADLIN @param_file image=other_image root=/dev/other
#
#	Linux Console in docking station
#
c:\linux\boot\zImage.krn         # first value must be the filename of the Linux-kernel
root=/dev/hda3                    # the device which gets mounted as root FS
ro                                      # Other kernel arguments go here
apm=off
doc=yes
3
-----------------------

the doc=yes parm is an environment variable that my init scripts use, it is not
a kernel argument.

However, the apm=off parm IS a kernel argument!!!!!!! APM, at least in my setup,
causes the kernel to crash when loaded via loadlin (but NOT when loaded via
LILO). The APM stuff COULD be forced out of the kernel via the kernel compile
options. BUT I, instead, got hold of an unofficial patch to the APM drivers that
allows them to be dynamically deactivated via kernel arguments. Whatever you
chose to document, APM, it seems, MUST be off for setups like mine.

Now check the C:\MWW\MWCONFIG.REF looks like this:

----------------------
[NativeDOS]
Default=SB1.5
SBInputSource=CD
SYNTH=FM
QSound=OFF
Reverb=OFF
Chorus=OFF
ReverbDepth=5
ChorusDepth=5
SBInputVolume=5
SBMainVolume=10
SBWaveVolume=10
SBSynthVolume=10
WaveTableVolume=10
AudioPowerDriver=ON

[FastCFG]
Show=No
HideOption=Off
-----------------------------

OR the Default= line COULD be

Default=SBPRO

Reboot to Win95 and choose Linux. When booted, use sndconfig to configure the  
sound modules and VOILA - ThinkPad sound with Linux.

Now the gotchas - You can either have CD sound OR Mixers but not both. That's a
problem with the SB1.5(CD sound) or SBPRO(Mixers) settings. No-one knows why
this is!

And, for some reason MPEG3 files, when played through mpg123, sound like they
are playing at 1/8th speed - not very useful!!!!!!!!!!!! If you have ANY insight
on why this second thing might be happening I would be grateful.

===========================================================
    _/      _/_/_/_/
   _/_/  _/_/     _/
  _/ _/_/ _/_/_/_/      Martin John Bartlett
 _/  _/  _/     _/      (martin@nitram.demon.co.uk)
_/      _/_/_/_/
       _/
_/    _/
 _/_/
===========================================================


